Joel Dice
|
292f84a3fa
|
fix thinko in laload implementation
|
2008-05-19 08:50:37 -06:00 |
|
Joel Dice
|
08a1921eb7
|
only set target equal to src->source in MoveEvent.compile if it is a simple load or store
|
2008-05-19 07:44:39 -06:00 |
|
Joel Dice
|
ad6153612b
|
disallow memory,constant comparisons on x86
|
2008-05-19 07:43:37 -06:00 |
|
Joel Dice
|
b52cefa86e
|
disallow memory operands in 32-bit comparisons on amd64
|
2008-05-19 07:27:05 -06:00 |
|
Joel Dice
|
3c30e815ec
|
optimize multiple loads from the same local variable
|
2008-05-18 22:31:52 -06:00 |
|
Joel Dice
|
56d8851764
|
constrain temporary register in moveMM according to moveMR's requirements
|
2008-05-18 22:28:47 -06:00 |
|
Joel Dice
|
f3fb813714
|
update valgrind.supp to suppress ld-2.6.so warnings
|
2008-05-18 22:24:12 -06:00 |
|
Joel Dice
|
c9f06933e2
|
test long addition and subtraction in Misc, as well as multidimensional array creation
|
2008-05-18 09:45:52 -06:00 |
|
Joel Dice
|
b2e25f4e17
|
reorder makeMultidimensionalArray parameters to remove the need for the caller to save the stack pointer in a temporary register
|
2008-05-18 09:45:11 -06:00 |
|
Joel Dice
|
4858972dbc
|
support 64-bit subtracts on 32-bit systems; allow constant shift counts in MyAssembler::plan
|
2008-05-18 09:43:31 -06:00 |
|
Joel Dice
|
392132cb0e
|
Merge branch 'compiler' of la.merseine.nu:p/avian-compiler into compiler
|
2008-05-17 21:34:46 -06:00 |
|
Joel Dice
|
b6b84af123
|
various bugfixes
|
2008-05-17 21:32:14 -06:00 |
|
Joel Dice
|
2bb310981d
|
clean up MoveEvent.compile
|
2008-05-17 19:26:36 -06:00 |
|
Joel Dice
|
15c2eb13f2
|
don't generate code for a move from a register to itself
|
2008-05-17 18:13:27 -06:00 |
|
Joel Dice
|
85a772b0a7
|
add read of size 4 in CombineEvent for first operand of shift operation
|
2008-05-16 10:18:36 -06:00 |
|
Joel Dice
|
790e2fee42
|
respect constraints specified by Assembler::plan in MoveEvent::compile
|
2008-05-16 10:01:24 -06:00 |
|
Joel Dice
|
21c5eb2d9e
|
fix thinko in appendCombine
|
2008-05-15 18:35:17 -06:00 |
|
Joel Dice
|
d7fc4aa438
|
fix offset computation in compareCR and compareCM
|
2008-05-15 18:34:48 -06:00 |
|
Joel Dice
|
7f72a6469d
|
more register marshalling bugfixes; simple swt apps now run on amd64
|
2008-05-15 17:19:23 -06:00 |
|
Joel Dice
|
bbd1ee5540
|
various register marshalling bugfixes
|
2008-05-15 14:00:57 -06:00 |
|
Joel Dice
|
2ed6247cec
|
fix freezing and thawing of read sites where the same value is read multiple times in compile()
|
2008-05-15 08:29:19 -06:00 |
|
Joel Dice
|
505d6df7ae
|
reorder code in CallEvent ctor to ensure we don't clobber argument registers when it comes time to marshal values for reading
|
2008-05-14 18:04:25 -06:00 |
|
Joel Dice
|
8434abaa0e
|
implement swapRR
|
2008-05-14 17:33:55 -06:00 |
|
Joel Dice
|
04f4ad4f58
|
fix variadic argument passing bug on amd64
|
2008-05-14 17:22:44 -06:00 |
|
Joel Dice
|
73b8cc5595
|
fix unused variable warnings
|
2008-05-14 17:19:41 -06:00 |
|
Joel Dice
|
482065f91a
|
fix code ordering bug in popNow()
|
2008-05-14 16:36:22 -06:00 |
|
Joel Dice
|
13d6ab023f
|
implement addCM
|
2008-05-13 11:28:19 -06:00 |
|
Joel Dice
|
08beaad1b6
|
various bugfixes related to new register allocation code
|
2008-05-13 11:27:57 -06:00 |
|
Joel Dice
|
a40635fdba
|
rework register allocation to be more flexible
|
2008-05-12 07:54:47 -06:00 |
|
Joel Dice
|
14e2513590
|
fix some API compatibility issues in the class library
|
2008-05-07 17:44:43 -06:00 |
|
Joel Dice
|
f1809897bd
|
fix build
|
2008-05-06 15:13:02 -06:00 |
|
Joel Dice
|
1cb9d0327a
|
initialize body of exception handler table for GC safety
|
2008-05-05 19:17:29 -06:00 |
|
Joel Dice
|
7dcd109567
|
assert thread is in exclusive or exit state in removeMonitor
|
2008-05-05 07:07:59 -06:00 |
|
Joel Dice
|
ebb498587f
|
enter exclusive state in collect function instead of requiring caller to enter that state before calling
|
2008-05-05 07:04:53 -06:00 |
|
Joel Dice
|
efb30b2256
|
progress towards more flexible register allocation in compiler
|
2008-05-04 14:55:34 -06:00 |
|
Joel Dice
|
2e108861da
|
remove operand marshalling from the assembler in favor of doing it in the compiler
|
2008-05-04 13:09:12 -06:00 |
|
Joel Dice
|
7b809efd3f
|
fix shift bugs
|
2008-04-30 12:44:27 -06:00 |
|
Joel Dice
|
bf08cc4c53
|
fix array bounds checks
|
2008-04-30 11:47:25 -06:00 |
|
Joel Dice
|
918193fa60
|
fix 32-bit right unsigned shifts on amd64
|
2008-04-30 11:15:21 -06:00 |
|
Joel Dice
|
844841937f
|
fix use of wrong constant in x86.cpp
|
2008-04-30 10:46:46 -06:00 |
|
Joel Dice
|
2226627e53
|
fix incorrect comment
|
2008-04-30 10:43:33 -06:00 |
|
Joel Dice
|
e2b24263a2
|
various bugfixes
|
2008-04-30 09:44:17 -06:00 |
|
Joel Dice
|
3909e3f032
|
fix thinko concerning stack resets in compile()
|
2008-04-29 17:18:28 -06:00 |
|
Joel Dice
|
7640590153
|
implement orCR and compareRC
|
2008-04-29 17:16:53 -06:00 |
|
Joel Dice
|
59f92b6208
|
support 64-bit multiplies on 32-bit systems
|
2008-04-29 16:11:17 -06:00 |
|
Joel Dice
|
4c2d44099b
|
support more 64-bit operations on 32-bit systems
|
2008-04-29 14:24:52 -06:00 |
|
Joel Dice
|
3fa3fd0796
|
fix stack index calculation when pushing operands
|
2008-04-29 14:24:08 -06:00 |
|
Joel Dice
|
4652b7aea0
|
enable 64-bit various operations on 32-bit systems
|
2008-04-29 10:56:29 -06:00 |
|
Joel Dice
|
9dafe37ff3
|
fix code ordering bug in MyCompiler::peek
|
2008-04-29 10:55:56 -06:00 |
|
Joel Dice
|
377e2864d9
|
fix argument marshalling for floating point helper functions on 32-bit systems
|
2008-04-29 10:40:44 -06:00 |
|