Joel Dice
|
bc44f468de
|
set Verbose=false in compile.cpp
|
2007-12-27 13:33:58 -07:00 |
|
Joel Dice
|
00c095b564
|
pop address off stack in jsr instruction before compiling the code which follows
|
2007-12-27 13:32:34 -07:00 |
|
Joel Dice
|
ea2935f5f1
|
use storeObjectOrAddress in all astore* instructions
|
2007-12-27 09:02:03 -07:00 |
|
Joel Dice
|
848a67b397
|
implement jsr, jsr_w, and ret; various bugfixes to get SWT example working in JIT mode
|
2007-12-26 16:59:55 -07:00 |
|
Joel Dice
|
c0cf15bb37
|
add missing instructions and fix shift long instructions to pop an int instead of a long as the shift count
|
2007-12-26 12:19:45 -07:00 |
|
Joel Dice
|
b361e1b637
|
refactor JIT code to make operand size an explicit part of each applicable instruction
|
2007-12-26 09:56:14 -07:00 |
|
Joel Dice
|
8cd18d6193
|
more JIT bugfixes
|
2007-12-23 13:06:24 -07:00 |
|
Joel Dice
|
271797bead
|
GC safety fix in resolveTarget
|
2007-12-23 12:26:35 -07:00 |
|
Joel Dice
|
f87a78833b
|
fix JIT regressions on amd64
|
2007-12-23 12:18:34 -07:00 |
|
Joel Dice
|
15857135c0
|
more JIT fixes; all tests now pass on x86-32
|
2007-12-23 11:48:22 -07:00 |
|
Joel Dice
|
a020a3f6bb
|
handle various return types properly in invokeNative2
|
2007-12-23 11:09:41 -07:00 |
|
Joel Dice
|
31cf1754ce
|
fix frame trace bug leading to incomplete stack coverage during GC; fix thinko pushing arguments in vmInvoke
|
2007-12-23 11:01:41 -07:00 |
|
Joel Dice
|
6c532e2ba4
|
fix register allocation bugs in floating point instructions
|
2007-12-22 17:15:46 -07:00 |
|
Joel Dice
|
f116225933
|
fix 64-bit arithmetic support on x86-32
|
2007-12-22 17:00:35 -07:00 |
|
Joel Dice
|
a867e4d587
|
snapshot
|
2007-12-21 17:26:55 -07:00 |
|
Joel Dice
|
06109792e5
|
JIT build fixes
|
2007-12-20 16:19:48 -07:00 |
|
Joel Dice
|
be42c325d8
|
32-bit JIT bugfixes; still broken
|
2007-12-19 18:42:12 -07:00 |
|
Joel Dice
|
7dd81c803a
|
fix native call argument marshalling regression
|
2007-12-19 17:02:32 -07:00 |
|
Joel Dice
|
6895ffaa99
|
GC safety and sign extension fixes
|
2007-12-17 19:09:32 -07:00 |
|
Joel Dice
|
b2cb8e0a69
|
JIT bugfixes; implement or and xor
|
2007-12-17 17:22:37 -07:00 |
|
Joel Dice
|
5c807a4ddc
|
implement shl; fix thinko in Frame::Protector; fix uninitialized value warnings
|
2007-12-17 15:38:59 -07:00 |
|
Joel Dice
|
4c3a2575ba
|
lots of JIT bugfixes; all top-level tests now pass
|
2007-12-17 13:55:31 -07:00 |
|
Joel Dice
|
25ea07aed5
|
snapshot - JIT broken
|
2007-12-16 18:46:46 -07:00 |
|
Joel Dice
|
56a8ce8fb1
|
more JIT bugfixes; implement mul instruction
|
2007-12-16 16:52:38 -07:00 |
|
Joel Dice
|
e4fbadd051
|
JIT-related GC safety fixes
|
2007-12-16 15:41:07 -07:00 |
|
Joel Dice
|
fb29fd11d8
|
more JIT bugfixes
|
2007-12-16 14:30:19 -07:00 |
|
Joel Dice
|
86218ebcb8
|
fix stack pointer calculation in unwind code and set rbx to thread pointer when unwinding
|
2007-12-15 18:00:25 -07:00 |
|
Joel Dice
|
796a64a426
|
lots of JIT bugfixes and cleanups
|
2007-12-15 17:24:15 -07:00 |
|
Joel Dice
|
403a6b0200
|
lots of JIT bugfixes
|
2007-12-14 18:11:01 -07:00 |
|
Joel Dice
|
12e10b57f5
|
JIT bugfixes and new instructions; exception propagation and stack traces are functional but not yet entirely correct
|
2007-12-14 11:27:56 -07:00 |
|
Joel Dice
|
c4347bd7d3
|
more JIT bugfixes and new instructions
|
2007-12-12 17:18:31 -07:00 |
|
Joel Dice
|
b2147c2c99
|
lots of JIT bugfixes and a few new instructions
|
2007-12-12 15:19:13 -07:00 |
|
Joel Dice
|
fe24005ff0
|
remove virtual stack code due to problems with jumps, to be revisited along with other optimizations when everything is working; various bugfixes
|
2007-12-12 11:59:45 -07:00 |
|
Joel Dice
|
fab77e4d96
|
don't call prologue and epilogue from compileDefault, since we want the original rbp and rsp values
|
2007-12-11 18:19:03 -07:00 |
|
Joel Dice
|
d70e3aaefb
|
JIT progress: new, invokespecial, etc.
|
2007-12-11 16:52:28 -07:00 |
|
Joel Dice
|
fdeafe46fd
|
2+2 test now works with new JIT code
|
2007-12-11 14:26:59 -07:00 |
|
Joel Dice
|
286f290665
|
more JIT progress
|
2007-12-10 17:48:09 -07:00 |
|
Joel Dice
|
f8cda0cd85
|
more JIT compiler progress
|
2007-12-09 15:45:43 -07:00 |
|
Joel Dice
|
d105a180db
|
remove unecessary namespace qualifier
|
2007-11-18 12:17:14 -07:00 |
|
Joel Dice
|
7f1837fecd
|
move fixed object (mark and sweep) support into heap.cpp and refine algorithms for determining when and how much to GC
|
2007-10-28 13:14:53 -06:00 |
|
Joel Dice
|
60072b9fdc
|
implement fixed object support
|
2007-10-27 19:54:30 -06:00 |
|
Joel Dice
|
20cc788fa4
|
support classloading from jar files compiled into the executable
|
2007-10-25 16:06:05 -06:00 |
|
Joel Dice
|
3e84d4438a
|
revise signatures of mark() and set() to take a target object and offset instead of a target object reference, paving the way for immovable objects
|
2007-10-22 11:22:30 -06:00 |
|
Joel Dice
|
f4dfc889fd
|
rough sketch of lookupswitch and tableswitch instructions
|
2007-10-22 08:14:05 -06:00 |
|
Joel Dice
|
64acabf130
|
fix thinko in getstatic
|
2007-10-17 20:50:43 -06:00 |
|
Joel Dice
|
02c1939de5
|
fix implicit conversion warnings
|
2007-10-17 20:03:01 -06:00 |
|
Joel Dice
|
569c81019c
|
mask out least significant bits during class dereference in generated code
|
2007-10-17 19:25:30 -06:00 |
|
Joel Dice
|
1aee58e390
|
fix tracking stack frames in compile.cpp
|
2007-10-17 18:41:49 -06:00 |
|
Joel Dice
|
e393f49fd6
|
fix Compiler.compileCaller() to work on both i386 and amd64
|
2007-10-17 11:22:09 -06:00 |
|
Joel Dice
|
5fb1495f4d
|
bugfixes and new instructions in compile.cpp
|
2007-10-16 19:21:35 -06:00 |
|
Joel Dice
|
200e933923
|
fix regression related to logging verbosity and exception handling in compile.cpp
|
2007-10-16 12:16:12 -06:00 |
|
Joel Dice
|
fc898c4df1
|
fix broken assumption that all native functions will push rbp on the stack first thing
|
2007-10-16 12:10:56 -06:00 |
|
Joel Dice
|
96ed27c55c
|
various bugfixes to get Tree.java to work
|
2007-10-16 11:21:26 -06:00 |
|
Joel Dice
|
5f6258045e
|
implement various floating point instructions; fix Floats.java to actually test something
|
2007-10-15 13:12:38 -06:00 |
|
Joel Dice
|
659555b6ce
|
fix use of uninitialized values at root thread creation time when running in stress mode; allocate Thread::defaultHeap on the heap instead of as part of the Thread structure
|
2007-10-13 19:18:25 -06:00 |
|
Joel Dice
|
5c99edd90e
|
fix many JIT GC bugs; GC.java now passes
|
2007-10-13 15:48:40 -06:00 |
|
Joel Dice
|
b8ce22dc42
|
JIT GC bugfixes
|
2007-10-12 16:06:33 -06:00 |
|
Joel Dice
|
349fe47c8d
|
JIT GC progress; fix interface method lookup bug
|
2007-10-12 11:56:43 -06:00 |
|
Joel Dice
|
5a92852f74
|
stack mapping progress
|
2007-10-12 08:26:36 -06:00 |
|
Joel Dice
|
3e1dbab0f0
|
move bitmap helper functions to common.h; preserve callee-saved registers in vmInvoke()
|
2007-10-11 20:52:16 -06:00 |
|
Joel Dice
|
201a658941
|
stack mapping bugfixes
|
2007-10-11 18:30:46 -06:00 |
|
Joel Dice
|
d5a8193614
|
lots of work on stack mapping, plus a couple of bugfixes
|
2007-10-11 16:43:03 -06:00 |
|
Joel Dice
|
69389ea8be
|
more progress towards stack mapping
|
2007-10-10 16:39:40 -06:00 |
|
Joel Dice
|
808b4780b1
|
progress towards stack mapping
|
2007-10-10 15:34:04 -06:00 |
|
Joel Dice
|
1406d6bc24
|
refactor parts of compile.cpp to improve time efficiency of java IP -> machine IP translation and to prepare for stack object reference tracking
|
2007-10-10 11:26:28 -06:00 |
|
Joel Dice
|
915ade9ccc
|
various JIT bugfixes
|
2007-10-09 13:30:01 -06:00 |
|
Joel Dice
|
defa8c62ac
|
64-bit arithmetic bugfixes
|
2007-10-09 11:15:40 -06:00 |
|
Joel Dice
|
7e0731ebdd
|
various bugfixes involving longs
|
2007-10-08 17:13:55 -06:00 |
|
Joel Dice
|
c7d7c4ca0a
|
implement additional instructions for JIT; fix bug in dispose(Thread*,Reference*)
|
2007-10-08 15:41:41 -06:00 |
|
Joel Dice
|
feeaecbfd8
|
more work on JIT unwinding
|
2007-10-04 16:41:19 -06:00 |
|
Joel Dice
|
2135f62584
|
progress towards JIT stack unwinding
|
2007-10-03 21:19:39 -06:00 |
|
Joel Dice
|
404d996c1e
|
snapshot
|
2007-10-03 18:41:54 -06:00 |
|
Joel Dice
|
ba03aa88df
|
snapshot
|
2007-10-02 19:54:21 -06:00 |
|
Joel Dice
|
f7058f8fd6
|
snapshot
|
2007-10-02 18:22:48 -06:00 |
|
Joel Dice
|
68e382ca8d
|
snapshot
|
2007-10-01 18:08:17 -06:00 |
|
Joel Dice
|
45dc118ab9
|
invoke native methods using a common routine, instead of compiling code specific to each method
|
2007-10-01 09:19:15 -06:00 |
|
Joel Dice
|
7ecb5b9c30
|
fixes for various recent regressions
|
2007-09-30 10:32:17 -06:00 |
|
Joel Dice
|
7caedba26f
|
hello, world!
|
2007-09-30 09:52:21 -06:00 |
|
Joel Dice
|
ea47976aad
|
implement array load instructions
|
2007-09-29 22:07:22 -06:00 |
|
Joel Dice
|
a73f474f34
|
implement Processor::makeLocalReference()/disposeLocalReference()
|
2007-09-29 21:33:38 -06:00 |
|
Joel Dice
|
8ae36c05b7
|
lots of new instructions and bugfixes
|
2007-09-29 20:48:27 -06:00 |
|
Joel Dice
|
b0500a881c
|
implement checkcast and instanceof
|
2007-09-29 15:08:29 -06:00 |
|
Joel Dice
|
569cfa9e07
|
implement more instructions; various bugfixes
|
2007-09-29 14:24:14 -06:00 |
|
Joel Dice
|
f2ec75e202
|
handle 32-bit immediate values in Assembler.push()
|
2007-09-29 12:34:56 -06:00 |
|
Joel Dice
|
79603e284d
|
sketch of Compiler.compileNative() and ifnull instruction implementation
|
2007-09-28 17:41:03 -06:00 |
|
Joel Dice
|
ddab82996c
|
implement invokestatic, putstatic, and bipush; respect special handling of rsp and rbp in Assembler
|
2007-09-28 08:45:26 -06:00 |
|
Joel Dice
|
d1681c0918
|
add a few more instructions to compile.cpp and fix bugs in others; invokespecial and invokevirtual are working
|
2007-09-27 16:20:54 -06:00 |
|
Joel Dice
|
f1bdc4c745
|
various fixes to get JIT working on x86_64
|
2007-09-26 18:01:38 -06:00 |
|
Joel Dice
|
2f3f97d550
|
clean up compile.cpp and support both x86_64 and i386; further refactoring to support JIT
|
2007-09-26 17:23:03 -06:00 |
|
Joel Dice
|
e7c8fb645a
|
JIT works for Instructions.java
|
2007-09-25 17:53:11 -06:00 |
|
Joel Dice
|
8d983c8a39
|
refactoring effort to pave the way for JIT compilation
|
2007-09-23 19:39:03 -06:00 |
|