Joel Dice
|
f0c9deaa06
|
snapshot
|
2008-07-17 17:34:38 -06:00 |
|
Joel Dice
|
23043d140f
|
snapshot
|
2008-07-05 14:21:13 -06:00 |
|
Joel Dice
|
eabb37e6eb
|
add lcmp instruction to Compiler and corresponding LongCompare instruction to Assembler, since that's the only efficient way to implement the lcmp bytecode on x86
|
2008-06-12 10:56:48 -06:00 |
|
Joel Dice
|
94f7efc160
|
ignore contents of stack location in popNow if the value already resides elsewhere besides the stack
|
2008-06-11 08:47:06 -06:00 |
|
Joel Dice
|
633ef83fa1
|
fix handling of values which appear more than once on the stack in trySteal
|
2008-06-10 18:48:46 -06:00 |
|
Joel Dice
|
b80a3cea85
|
handle constant comparisons (sometimes generated by ProGuard) in compiler
|
2008-06-10 18:17:44 -06:00 |
|
Joel Dice
|
fc8c5a2ea9
|
fix a few bugs revealed by ProGuard optimizations, including too-early constant propagation during array loads and stores
|
2008-06-10 08:49:13 -06:00 |
|
Eric Scharff
|
33306aa2f5
|
Fix warning on confused Mac OS X gcc 4.0
|
2008-06-02 10:12:09 -06:00 |
|
Joel Dice
|
2f3e1ea393
|
fix incorrect debug logging message
|
2008-05-31 19:40:18 -06:00 |
|
Joel Dice
|
7cdff9f1ee
|
disable debug logging and fix build warnings
|
2008-05-31 17:06:45 -06:00 |
|
Joel Dice
|
eacca98c3f
|
fix regressions affecting 32-bit systems
|
2008-05-31 16:53:37 -06:00 |
|
Joel Dice
|
e68a18248c
|
use codePromise helper function in CallEvent ctor
|
2008-05-31 16:24:04 -06:00 |
|
Joel Dice
|
65830a76c5
|
improve efficiency of array bounds checks and generate a thunk table for native functions called indirectly
|
2008-05-31 16:14:27 -06:00 |
|
Joel Dice
|
3326aafdac
|
various 32-bit fixes
|
2008-05-22 11:15:18 -06:00 |
|
Joel Dice
|
21cb1c3c8f
|
remove Event::validate, since it is no longer needed and actually causes trouble
|
2008-05-20 16:47:53 -06:00 |
|
Joel Dice
|
36dbf1ad14
|
fix another local variable caching bug
|
2008-05-20 15:24:10 -06:00 |
|
Joel Dice
|
d604efd8f5
|
fix local variable caching bug
|
2008-05-20 13:11:42 -06:00 |
|
Joel Dice
|
983e64c86a
|
preserve old value of local variable *before* it is overwritten
|
2008-05-19 10:14:54 -06:00 |
|
Joel Dice
|
83da1ec205
|
preserve old value of local variable across store if it will be used later; tweak site ownership transfer in MoveEvent.compile
|
2008-05-19 08:53:40 -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
|
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
|
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
|
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
|
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
|
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
|
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
|
f1809897bd
|
fix build
|
2008-05-06 15:13:02 -06:00 |
|
Joel Dice
|
efb30b2256
|
progress towards more flexible register allocation in compiler
|
2008-05-04 14:55:34 -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
|
3fa3fd0796
|
fix stack index calculation when pushing operands
|
2008-04-29 14:24:08 -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 |
|
Joel Dice
|
d50e3aaee0
|
preserve operands to CombineEvent and TranslateEvent when necessary
|
2008-04-29 10:25:20 -06:00 |
|
Joel Dice
|
22382a5c8b
|
fix amd64 regression in PushEvent::skipMove
|
2008-04-29 09:30:41 -06:00 |
|
Joel Dice
|
c96f44d77d
|
don't skip move when MoveEvent is followed by a PushEvent which is not active; use existing register site in ValueSite when possible
|
2008-04-29 08:59:12 -06:00 |
|
Joel Dice
|
8738bddcb9
|
bugfixes, mainly concerning 32-bit machines
|
2008-04-28 16:08:31 -06:00 |
|
Joel Dice
|
1b5f14d847
|
re-enable tests in Misc and get them working
|
2008-04-28 09:53:48 -06:00 |
|
Joel Dice
|
8be4cf8fa6
|
fix pushState and popState to work as intended
|
2008-04-27 15:58:29 -06:00 |
|
Joel Dice
|
5b7372a3bb
|
various bugfixes; majority of tests now pass
|
2008-04-27 14:15:18 -06:00 |
|
Joel Dice
|
d5137a7cdf
|
use stack instead of registers to save data across jumps and branches; bugfixes
|
2008-04-26 14:56:03 -06:00 |
|