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
|
b3918a0d7d
|
support encoding instructions with indexed and scaled memory offsets
|
2007-12-13 18:59:56 -07:00 |
|
Joel Dice
|
ec8fc80ebe
|
refactor compile.cpp to delay code generation until after all byte code has been visited; bugfixes
|
2007-12-13 17:27:09 -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
|
33b2a4a1e8
|
support absolute operands on virtual stack and absolute to memory movs
|
2007-12-11 17:27:04 -07:00 |
|
Joel Dice
|
740e86a084
|
remove unused function; call logicalFlush in pop functions
|
2007-12-11 17:08:55 -07:00 |
|
Joel Dice
|
d70e3aaefb
|
JIT progress: new, invokespecial, etc.
|
2007-12-11 16:52:28 -07:00 |
|
Joel Dice
|
396c979de8
|
fix interpret.cpp build breakage
|
2007-12-11 14:29:04 -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
|
6b1f01511b
|
refactor logical stack mechanism in JIT code
|
2007-12-09 16:06:47 -07:00 |
|
Joel Dice
|
f8cda0cd85
|
more JIT compiler progress
|
2007-12-09 15:45:43 -07:00 |
|
Joel Dice
|
5b5a4fe8d7
|
progress on JIT compiler sketch
|
2007-12-09 13:03:21 -07:00 |
|
Joel Dice
|
55b956916f
|
initial sketch of JIT compiler
|
2007-12-08 16:22:13 -07:00 |
|
Joel Dice
|
22edd2e6a4
|
set Verbose to false in heap.cpp
|
2007-12-08 16:19:48 -07:00 |
|
Joel Dice
|
00b7fa3b9d
|
assert that fixed object has object mask before marking it
|
2007-12-07 15:58:38 -07:00 |
|
Joel Dice
|
d057ac6a47
|
mark classes containing object array fields as needing an object mask in type-generator.cpp
|
2007-12-07 10:05:10 -07:00 |
|
Joel Dice
|
c096c8f1e4
|
only consider gen2 oversized if its capacity exceeds (InitialGen2CapacityInBytes / BytesPerWord)
|
2007-12-07 08:35:28 -07:00 |
|
Joel Dice
|
612f4fa0b8
|
shrink gen2 segment if it grows too large
|
2007-12-07 08:31:41 -07:00 |
|
Joel Dice
|
edf415102a
|
assert heap count is empty in System::dispose()
|
2007-12-07 08:30:30 -07:00 |
|
Joel Dice
|
0a63fc3865
|
fix a couple thinkos in jnienv.cpp
|
2007-11-29 08:04:07 -07:00 |
|
Joel Dice
|
d8374a76e2
|
check again for entry in monitorMap after entering the exclusive state in objectMonitor() in case another thread beat us to creating a monitor for the object
|
2007-11-29 08:03:45 -07:00 |
|
Joel Dice
|
5b6a63cbca
|
avoid uninitialized value warnings
|
2007-11-27 16:04:15 -07:00 |
|
Joel Dice
|
5fa7b074b4
|
various threading bugfixes
|
2007-11-27 15:23:00 -07:00 |
|
Joel Dice
|
56a5cf2503
|
fix thinko in jsr_w implementation
|
2007-11-27 15:22:05 -07:00 |
|
Joel Dice
|
6ac124f2fb
|
protect local variables in red-black tree implementation from GC
|
2007-11-27 08:46:31 -07:00 |
|
Joel Dice
|
466c958d2b
|
implement persistent red-black tree in util.cpp based on PersistentSet.java
|
2007-11-26 18:40:47 -07:00 |
|
Joel Dice
|
0bbe9489a7
|
flesh out call tracing in new JIT code
|
2007-11-26 16:15:53 -07:00 |
|
Joel Dice
|
49ed41daa0
|
refactor stack walking interface in processor.h and sketch stack walking implementation in compile2.cpp
|
2007-11-25 16:00:55 -07:00 |
|
Joel Dice
|
856935acc2
|
more work on new JIT code
|
2007-11-21 15:15:33 -07:00 |
|
Joel Dice
|
a017dab73a
|
handle weak maps properly in hashMapResize, hashMapRemove, etc.; move Processor::parameterFootprint() into machine.h/machine.cpp
|
2007-11-20 15:24:02 -07:00 |
|
Joel Dice
|
ded1016b32
|
clean up compile2.cpp so it compiles (but does not yet link)
|
2007-11-20 09:21:17 -07:00 |
|
Joel Dice
|
6c8a35c341
|
move populateMultiArray from interpret.cpp to process.h
|
2007-11-20 09:20:26 -07:00 |
|
Joel Dice
|
37a1aa72f9
|
sketch of Frame class implementation for new JIT code
|
2007-11-19 14:37:50 -07:00 |
|
Joel Dice
|
2eeff1d50e
|
sketch implementations of lookupswitch and tableswitch
|
2007-11-19 08:11:39 -07:00 |
|
Joel Dice
|
7eb49f272c
|
sketch or stub-out remaining instructions in new JIT code
|
2007-11-18 13:32:31 -07:00 |
|
Joel Dice
|
e9fc1d9057
|
initial sketch of new JIT code
|
2007-11-18 12:19:27 -07:00 |
|
Joel Dice
|
cab88c7e1f
|
remove JIT-related data structures from types.def since that code is being reworked
|
2007-11-18 12:18:37 -07:00 |
|
Joel Dice
|
d105a180db
|
remove unecessary namespace qualifier
|
2007-11-18 12:17:14 -07:00 |
|
Joel Dice
|
115622f54a
|
add GetArrayLength, NewObject, NewObjectV, MonitorEnter, and MonitorExit JNIEnv methods
|
2007-11-14 16:22:29 -07:00 |
|
Joel Dice
|
313816ee34
|
minor tweaks to reduce memory usage
|
2007-11-06 08:29:05 -07:00 |
|
Joel Dice
|
fe0e542afe
|
finish support for inline vtables in class objects; convert constant pools from arrays to singletons to reduce memory footprint
|
2007-11-05 14:40:17 -07:00 |
|
Joel Dice
|
f1bc2be9f9
|
if we can't resolve a bootstrap class in isAssignableFrom(), we swallow the exception and return false
|
2007-11-05 09:08:08 -07:00 |
|
Joel Dice
|
fe0708c09a
|
check for all non-virtual methods in invoke(), not just static ones
|
2007-11-05 08:52:03 -07:00 |
|
Joel Dice
|
16ea75f91c
|
preserve vm flags of bootstrap class (except for BootstrapFlag) in updateBootstrapClass()
|
2007-11-05 08:39:48 -07:00 |
|
Joel Dice
|
19d36cc463
|
implement impdep1 instruction for lazily loading bootstrap classes
|
2007-11-05 08:29:43 -07:00 |
|
Joel Dice
|
6c0e0c37e2
|
snapshot
|
2007-11-05 07:28:46 -07:00 |
|