Joel Dice
a9d9bc5d20
fix Clang warnings
2013-07-03 13:33:46 -07:00
Joel Dice
87b02eb949
update copyright years
...
Previously, I used a shell script to extract modification date ranges
from the Git history, but that was complicated and unreliable, so now
every file just gets the same year range in its copyright header. If
someone needs to know when a specific file was modified and by whom,
they can look at the Git history themselves; no need to include it
redundantly in the header.
2013-07-02 20:52:38 -06:00
Joel Dice
68c3b241ce
handle sign extension of constants of various lengths
...
This is a generalization of 9918ea6
which handles 8-bit and 16-bit as
well as 32-bit values.
2013-04-22 21:15:49 -06:00
Joel Dice
d8729a7a8d
fix zero-extension of constants in x86 compiler
...
scalac may emit a ldc followed by an i2c, whereas javac does the
conversion (including zero extension if necessary) at compile time.
This commit ensures we handle the i2c case properly.
2013-04-22 19:00:54 -06:00
Joel Dice
9918ea6cdd
fix sign extension from constant to register on x86
...
scalac may generate a ldc followed by an l2i, whereas javac always
seems to condense this into a single ldc_w. The former exposed a bug
in the JIT compiler which we never hit with javac-generated bytecode.
2013-04-18 11:27:05 -06:00
Joel Dice
8c1419fb89
jump to target if JumpIfFloatNotEqual comparison is unordered
...
A dcmpl or dcmpg followed by an ifneq should take the branch if an NaN
is involved.
2013-04-04 20:02:49 -06:00
Joel Dice
b436bd460a
fix NaN handling in floating point comparisons
2013-04-03 16:19:33 -06:00
Joel Dice
54b560b149
fix Windows 32-bit bootimage build regression
2013-03-15 14:35:29 -06:00
Joshua Warner
add029ad3c
fix powerpc build
...
Evidently, the powerpc gcc compiler feels it necessary to #define powerpc to 1. Seriously? SERIOUSLY????
2013-02-28 16:41:44 -07:00
Joshua Warner
0b01dd565a
fix multiple-include-of-stdint errors
2013-02-28 15:57:09 -07:00
Joshua Warner
9327043bc5
Merge branch 'master' into wip
...
Conflicts:
makefile
src/codegen/arm/assembler.cpp
src/codegen/powerpc/assembler.cpp
src/codegen/x86/assembler.cpp
2013-02-27 19:27:07 -07:00
Joel Dice
5e2d00010b
move headers from src to src/avian
...
This is necessary to avoid name conflicts on various platforms. For
example, iOS has its own util.h, and Windows has a process.h. By
including our version as e.g. "avian/util.h", we avoid confusion with
the system version.
2013-02-27 13:33:29 -07:00
Joshua Warner
4d38873096
begin merging target assembler multimethod code
2013-02-24 22:38:58 -07:00
Joshua Warner
82eec28856
rename x86 Offset for consistency with arm and powerpc OffsetPromise
2013-02-24 20:48:06 -07:00
Joshua Warner
d2caf50772
fix debug build
2013-02-24 16:03:19 -07:00
Joshua Warner
4c8b593539
break Architecture out of Assembler
2013-02-23 23:03:01 -07:00
Joshua Warner
56625b89d8
group x86, arm, and powerpc target directories into 'target'
2013-02-23 22:47:52 -07:00
Joshua Warner
3d1ae1d517
fix include-what-you-use violations in x86 assembler
2013-02-23 22:29:58 -07:00
Joshua Warner
900b447e27
further break out powerpc assembler
2013-02-23 22:29:03 -07:00
Joshua Warner
73dda9c26e
begin splitting out powerpc assembler
2013-02-23 22:26:48 -07:00
Joshua Warner
22d6ed1bec
further split out arm assembler
2013-02-23 22:25:15 -07:00
Joshua Warner
fd59e1e08d
begin splitting out arm assembler
2013-02-22 20:47:56 -07:00
Joshua Warner
fe7bb5e640
Merge branch 'master' into wip
...
Conflicts:
makefile
2013-02-21 19:33:38 -07:00
Joshua Warner
a9e2984aaf
fix arm and powerpc build
2013-02-21 16:51:31 -07:00
Joshua Warner
1f0833252d
Merge branch 'master' into wip
...
Conflicts:
src/codegen/compiler/event.cpp
src/codegen/x86/assembler.cpp
src/common.h
2013-02-20 11:27:39 -07:00
Joshua Warner
52b2fd74ef
move math functions out of common.h, and into include/avian/util/math.h
2013-02-20 07:51:57 -07:00
Joshua Warner
b9e281612b
move runtime-array to include
2013-02-19 22:56:05 -07:00
Joshua Warner
263c0dee4f
move abort.h to include, add namespacing
2013-02-19 22:51:38 -07:00
Joshua Warner
987af120d8
move codegen headers to include/
2013-02-19 22:21:22 -07:00
Joshua Warner
984f987e03
further break out x86 assembler
2013-02-19 09:05:31 -07:00
Joshua Warner
61f03643e0
begin splitting up x86 assembler
2013-02-19 09:05:31 -07:00
Joshua Warner
49bfda3932
construct SiteMasks based on OperationMasks
2013-02-19 09:05:30 -07:00
Joshua Warner
4462b87f10
group typeMask and registerMask into OperandMask, for Architecture::plan
2013-02-19 09:05:30 -07:00
Joshua Warner
2db0303e2f
further compiler cleanup / organization
2013-02-13 23:23:07 -07:00
Joshua Warner
94ddb62b5f
move FrameSiteEvent out of compiler.cpp
2013-02-13 22:13:56 -07:00
Joshua Warner
be86d26512
move BoundsCheckEvent out of compiler.cpp
2013-02-13 22:13:56 -07:00
Joshua Warner
d00950458f
move JumpEvent out of compiler.cpp
2013-02-13 22:13:56 -07:00
Joshua Warner
65b7cf047c
move BranchEvent out of compiler.cpp
2013-02-13 22:13:56 -07:00
Joshua Warner
18e6f28ff4
move MemoryEvent out of compiler.cpp
2013-02-13 22:13:55 -07:00
Joshua Warner
9c102bc1a8
move OperationEvent out of compiler.cpp
2013-02-13 22:13:55 -07:00
Joshua Warner
70f9209a6e
move TranslateEvent out of compiler.cpp
2013-02-13 22:13:55 -07:00
Joshua Warner
8a61b38a01
move CombineEvent out of compiler.cpp
2013-02-13 22:13:55 -07:00
Joshua Warner
5ad0eb86d3
move MoveEvent out of compiler.cpp
2013-02-13 22:13:55 -07:00
Joshua Warner
165c77d772
move ReturnEvent out of compiler.cpp
2013-02-13 22:13:55 -07:00
Joshua Warner
0f6e098b69
move CallEvent out of compiler.cpp
2013-02-13 22:13:55 -07:00
Joshua Warner
6d265374ec
move Reads out of compile.cpp
2013-02-13 22:13:55 -07:00
Joshua Warner
b0abc4e1e5
further split up compiler.cpp
2013-02-13 22:13:55 -07:00
Joshua Warner
952cad2360
move site out of compiler.cpp
2013-02-13 22:13:55 -07:00
Joshua Warner
740886d58e
begin splitting up compiler.cpp
2013-02-13 22:13:55 -07:00
Joshua Warner
ef5e534e1e
begin moving register allocator out of compiler.cpp
2013-02-13 22:13:55 -07:00