Joel Dice
bdd62011eb
fix up access violation handling on windows; refactor posix segv handling to match API change needed for windows
2008-01-01 10:08:47 -07:00
Joel Dice
100fc304ad
sketch of windows access violation handling; posix segv handling bugfixes
2007-12-31 16:21:57 -07:00
Joel Dice
f151d85f4e
intercept SIGSEGV and throw NullPointerExceptions
2007-12-31 15:40:56 -07:00
Joel Dice
069a760918
snapshot
2007-12-30 15:24:48 -07:00
Joel Dice
c147ef4e5c
allow concurrent reads and writes on trace node hashtable, requiring only writes to acquire the the class lock
2007-12-28 09:50:26 -07:00
Joel Dice
8d140c162d
eliminate unecessary register and memory operand construction
2007-12-28 08:42:30 -07:00
Joel Dice
5d65e7c220
handle synchronized methods properly in JIT mode
2007-12-27 17:02:05 -07:00
Joel Dice
96f3749c01
implement 64-bit shift instructions for 32-bit arch; code cleanups
2007-12-27 15:55:59 -07:00
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
8e7f3b6821
add force_align_arg_pointer attribute to divideLong and moduloLong functions for OSX
2007-12-27 08:28:25 -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
fdd57ad326
do a 32-bit comparison for cmp4 instruction on amd64
2007-12-26 12:18:51 -07:00
Joel Dice
6ed28a13c3
fix x86-32 regressions due to JIT refactoring
2007-12-26 10:16:21 -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
0dfdcd87d9
Merge jdpc:p/vm/
2007-12-21 17:32:21 -07:00
Joel Dice
a867e4d587
snapshot
2007-12-21 17:26:55 -07:00
Joel Dice
f3e2795990
Merge branch 'master' of dice:git/vm
2007-12-21 17:26:34 -07:00
Joel Dice
e58972a968
fix regression in push instruction on amd64
2007-12-20 16:47:01 -07:00
Eric Scharff
ef97a5d8da
Fix for assembler symbols for Mac build
2007-12-20 16:22:40 -07:00
Joel Dice
06109792e5
JIT build fixes
2007-12-20 16:19:48 -07:00
Joel Dice
640d1d0654
sketch some 64-bit-arithmetic-on-32-bit-system instructions
2007-12-20 09:02:00 -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
9b08fe083c
snapshot
2007-12-18 18:28:55 -07:00
Joel Dice
3bafbf08bb
implement shr and ushr; teach add and sub about 32 bit immediate operands
2007-12-17 19:10:12 -07:00
Joel Dice
6895ffaa99
GC safety and sign extension fixes
2007-12-17 19:09:32 -07:00
Joel Dice
2e33856d6b
align stack to 16 byte boundary on amd64
2007-12-17 19:08:17 -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
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
Joel Dice
514be2dc87
snapshot
2007-11-04 16:10:33 -07:00
Joel Dice
94e9bd0fd2
clean up bootstrap type generation to eliminate redundancy (broken)
2007-11-04 14:15:28 -07:00
Joel Dice
bea4a73f54
Merge branch 'singleton'
2007-11-02 15:56:48 -06:00
Joel Dice
7dfbd87a40
bugfixes
2007-11-02 15:42:19 -06:00
Joel Dice
e820b6a8a4
sketch of singleton support
2007-11-02 15:08:14 -06:00
Joel Dice
80775f6cf8
initial sketch of singleton support
2007-11-02 08:15:06 -06:00
Eric Scharff
eb3bd1ce7c
Got strip working for Mac OS X
2007-11-01 14:37:51 -06:00
Eric Scharff
625f0006c9
Fixed typo for Mac OS X builds
2007-11-01 14:06:26 -06:00
Eric Scharff
7f33b7371b
Factored JNIEXPORT into one place. Adopted the visbility attribute that
...
should allow strip to work on Mac OS X
2007-11-01 14:00:22 -06:00
Joel Dice
b71d5104ba
snapshot
2007-11-01 13:24:09 -06:00
Joel Dice
94bae01b39
never call wasCollected() on a fixed object, since it will give a random result
2007-10-29 16:12:16 -06:00
Joel Dice
956106f518
implement StringBuilder.delete() more efficiently
2007-10-29 15:40:05 -06:00
Joel Dice
75d4a4ff96
implement a few classpath methods required by SWT for Win32
2007-10-29 14:57:33 -06:00
Joel Dice
a80677d673
fix aliasing warnings
2007-10-28 18:51:38 -06: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
85012ba5b0
fix thinko in NewString() and make NewStringUTF() more robust
2007-10-26 18:04:20 -06:00
Joel Dice
fcc50f4da6
abort if vsnprintf() overflows in makeByteArray
2007-10-26 18:03:28 -06:00
Joel Dice
46ac6f92ee
implement JNIEnv::NewString()
2007-10-26 15:23:54 -06:00
Joel Dice
e892f1bff5
refactor System.getProperty() to reduce coupling with native code
2007-10-26 12:13:21 -06:00
Joel Dice
ccdc7fdda3
eliminate bin2c and use objcopy instead to translate binary data to an object file
2007-10-26 11:38:36 -06:00
Eric Scharff
6342fc7ccb
Read 2- and 3-byte UTF8 constants gracefully (but not correctly)
2007-10-25 17:58:53 -06:00
Joel Dice
74701b0790
fix thinko parsing properties in JNI_CreateJavaVM
2007-10-25 17:17:38 -06:00
Eric Scharff
34c5f184ed
Fix static cast to make gcc happy
2007-10-25 16:34:40 -06:00
Joel Dice
95621ac2d0
Merge branch 'master' of dice:git/vm
2007-10-25 16:06:10 -06:00
Joel Dice
20cc788fa4
support classloading from jar files compiled into the executable
2007-10-25 16:06:05 -06:00
Eric Scharff
a81b77a37e
fixes i2f i2d implementation. Fixes image drawing bugs on Mac OS X.
...
Also fixes a crash caused by implementing StringBuffer.toString(float)
2007-10-25 14:26:51 -06:00
Joel Dice
d4656e8a52
handle ConstantValue attributes for static fields
2007-10-25 13:20:39 -06:00
Joel Dice
b12b779c7f
add support for passing properties to the VM via JNI; use vm.builtins property to specify builtin libraries
2007-10-25 12:33:43 -06:00
Joel Dice
1c90ea5fd6
rewrite main.cpp to use jni.h interface for creating the VM and invoking the main method of the specified class
2007-10-25 09:04:13 -06:00
Joel Dice
89b22dd3ab
fix JNI invocation for return types of less than 32-bits
2007-10-24 17:06:12 -06:00
Joel Dice
92d61c1ba2
superficial tweak
2007-10-24 17:05:14 -06:00
Joel Dice
2c2718fdb5
primitive parseUtf8() implementation to ensure we handle null characters correctly, at least
2007-10-24 15:05:15 -06:00
Joel Dice
e66c53b446
remove unused file
2007-10-24 11:24:48 -06:00
Joel Dice
eaf1d205cd
more windows port fixes
2007-10-24 11:24:19 -06:00
Joel Dice
f2f453cf75
more system-specific tweaks for windows port (cont.)
2007-10-24 10:27:59 -06:00
Joel Dice
5bfd90cfed
more system-specific tweaks for windows port
2007-10-24 10:24:02 -06:00
Joel Dice
0f1a9bc77e
remove debug logging
2007-10-24 09:52:09 -06:00
Joel Dice
394d80a07a
fix use of uninitialized values in JarElement; use system-specific path separator in finder
2007-10-24 09:46:09 -06:00
Joel Dice
1c948652fd
fix posix build breakage
2007-10-23 17:22:56 -06:00
Joel Dice
c3300948bf
fix a few threading bugs in windows port
2007-10-23 16:21:28 -06:00
Joel Dice
eb4cea6291
more work on the windows port; we now have some tests passing
2007-10-23 14:05:59 -06:00
Joel Dice
1381267e70
mork work on the windows port
2007-10-23 11:22:48 -06:00
Joel Dice
58dec050c8
sketch of windows port
2007-10-22 19:00:57 -06:00
Joel Dice
ac4b28ffe6
refactor build system to support cross-compiling
2007-10-22 14:56:27 -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
2be830cae7
Merge branch 'master' of dice:git/vm
2007-10-17 11:22:16 -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
4ecd84e373
Merge branch 'master' of dice.readytalk.com:git/vm
2007-10-16 19:23:31 -06:00
Joel Dice
f5c74dcaec
fix invalid use of Heap::needsMark in vm::mark
2007-10-16 19:23:20 -06:00
Joel Dice
5fb1495f4d
bugfixes and new instructions in compile.cpp
2007-10-16 19:21:35 -06:00
Joel Dice
29b5e81aed
align fields naturally in parseFieldTable
2007-10-16 19:20:36 -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
f58c6ef4e8
mark destination object array in System.arraycopy() if it resides in the tenured heap
2007-10-13 15:47:45 -06:00
Joel Dice
96c3b2b6a7
superficial code cleanup
2007-10-12 18:22:52 -06:00
Joel Dice
dbbcf90e6c
Merge branch 'master' of dice:git/vm
2007-10-12 16:06:39 -06:00
Joel Dice
b8ce22dc42
JIT GC bugfixes
2007-10-12 16:06:33 -06:00
Eric Scharff
05321e97f9
If you pass 0 to printTrace, it will print the stack trace of a null
...
pointer exception. This dramatically simplifies debugging in GDB:
p vm::printTrace(t, 0)
2007-10-12 14:54:37 -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
e32a335079
Merge branch 'master' of dice:git/vm
...
Conflicts:
src/cdecl.S
2007-10-04 17:17:57 -06:00
Joel Dice
feeaecbfd8
more work on JIT unwinding
2007-10-04 16:41:19 -06:00
Eric Scharff
a9fcb59e6c
Fix a floating point comparison bug - Gets simple SWT examples to work on
...
Mac OS X
2007-10-04 10:21:14 -06:00
Eric Scharff
ace36f1b15
Simplify code for Mac stack alignment conventions
2007-10-04 07:30:39 -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
Eric Scharff
d2053d51d2
Floats are always passed as doubles in varargs calls. Properly pop them
...
off the stack and cast them
2007-10-02 09:50:08 -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
37ccb6cb46
Merge branch 'master' of dice:git/vm
2007-09-27 16:21:00 -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
bd95ccdbd6
clear object header flags after copying array in Object.clone()
2007-09-27 16:10:29 -06:00
Eric Scharff
2ae6aa7ddf
Fix System.arraycopy when the source and dest are the same
2007-09-27 15:06:56 -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
770e48c197
make Object.clone() work for arrays
2007-09-26 13:45:52 -06:00
Joel Dice
1207989f72
fix build and runtime bugs introduced in last commit
2007-09-26 08:43:40 -06:00
Joel Dice
e7c8fb645a
JIT works for Instructions.java
2007-09-25 17:53:11 -06:00
Joel Dice
1c90708abf
bugfixes for recent refactoring effort
2007-09-24 07:46:48 -06:00
Joel Dice
8d983c8a39
refactoring effort to pave the way for JIT compilation
2007-09-23 19:39:03 -06:00
Joel Dice
65a3ee4277
superficial tweaks
2007-09-21 08:16:43 -06:00
Joel Dice
3838cd0e68
strip leading slashes from path in JarElement::find()/exists()
2007-09-21 08:15:39 -06:00
Eric Scharff
36f1d3206e
The proper extension for Mac JNI libraries is .jnilib. Hard-coded constants
...
have been factored to common locations. Furthermore, the LD_LIBRARY_PATH
environment variable is DYLD_LIBRARY_PATH on Mac OS X.
2007-09-20 10:13:41 -06:00
Joel Dice
a688a6f61a
use lib%s.dylib to map library names on Darwin
2007-09-19 18:37:25 -06:00
Joel Dice
54cabf9240
align SP to 16 byte boundary on Darwin in cdecl.S
2007-09-19 18:36:35 -06:00
Joel Dice
1d68f87f75
remove unnecessary .type declaration from amd64.S
2007-09-19 18:12:08 -06:00
Joel Dice
a3ef7f2b94
slightly more efficient implementation of pad()
2007-09-19 18:11:19 -06:00
Joel Dice
9de7f39ceb
Merge branch 'master' of dice:git/vm
2007-09-19 17:51:26 -06:00
Joel Dice
28f6f29477
eliminate instructions from *.S which restored the stack pointer unnecessarily
2007-09-19 17:29:20 -06:00
Eric Scharff
ebdc192f64
.type call was unnecessary - now removed
2007-09-19 10:35:13 -06:00
Eric Scharff
e5c8cb4e41
Reverted the assembly, since the Mac didn't support this anyway
2007-09-19 10:27:48 -06:00
Eric Scharff
c9332e4615
Mac unsigned argument is different than other platforms
2007-09-19 10:26:08 -06:00
Eric Scharff
f430f3f00e
Various fixes (mostly making things more strict) to get the code to
...
compile on Mac OS X
2007-09-19 10:22:19 -06:00
Joel Dice
8b17df5b48
set verbose constants to false in heap.cpp
2007-09-19 08:33:43 -06:00
Joel Dice
cd990969cd
fix allocation of large objects in allocate2(); remove references to jscheme and SWT in makefile and test directory
2007-09-19 08:16:49 -06:00
Joel Dice
49a3c08cc9
use dlopen()/dlsym() to resolve builtin JNI methods
2007-09-18 17:30:09 -06:00
Joel Dice
b0bb443fa2
fix i2l to preserve signedness
2007-09-17 16:16:17 -06:00
Joel Dice
1f6c2dbbb1
implement Set<Primitive>ArrayRegion()
2007-09-17 16:15:42 -06:00
Joel Dice
8af76b0da6
fix several bugs in Finder involving jar file parsing and extraction
2007-09-17 08:11:41 -06:00
Joel Dice
dc9ae3d269
fix interpretation of stat() return value in System::identify()
2007-09-17 07:16:55 -06:00
Joel Dice
59d26362fa
mark zlib return values as UNUSED to fix fast build
2007-09-17 07:16:00 -06:00
Joel Dice
b88438d2fd
sketch of JAR support in Finder
2007-09-16 18:13:36 -06:00
Joel Dice
aec0c29084
fix math bug in parseFieldTable which lead to incorrect objectMasks
2007-09-15 11:22:22 -06:00
Joel Dice
912617c4ff
gc safety bugfixes
2007-09-14 18:32:32 -06:00
Joel Dice
223e6bff0f
gc protection bugfix
2007-09-14 18:23:32 -06:00
Joel Dice
e76e4ccdf0
protect local object variable in multianewarray
2007-09-14 17:05:06 -06:00
Joel Dice
4ade402f1b
bugfixes; SWT ControlExample works on x86_32
2007-09-14 14:35:37 -06:00
Joel Dice
bb520e4ef9
bugfixes
2007-09-13 21:59:39 -06:00
Joel Dice
ce97b6eecb
implement i2d and i2f
2007-09-13 19:42:12 -06:00
Joel Dice
b0926e71fb
fix math errors when walking object map in collect()::Client::walk()
2007-09-13 16:45:09 -06:00
Joel Dice
dc34707f98
fix Call*Method() calls to wrong run() function
2007-09-13 10:43:33 -06:00
Joel Dice
542888a1d3
bugfixes
2007-09-12 21:15:16 -06:00
Joel Dice
7cb3a30a91
sketch of Runtime.exec() and Calendar; misc bugfixes
2007-09-12 18:21:37 -06:00
Joel Dice
cb03240c64
quick sketches of various SWT 3.3 dependencies
2007-09-11 19:13:05 -06:00
Joel Dice
132936ba2e
fix backwards logic in System::Local assertions
2007-09-10 20:13:55 -06:00
Joel Dice
e5987f2a22
JNIEnv and JavaVM method implementations
2007-09-10 17:33:58 -06:00
Joel Dice
a9f9755221
more JNIEnvVTable entries
2007-09-07 17:20:21 -06:00
Joel Dice
bd4d9fdeb2
several things: change object typedef to Object* instead of void* to improve type safety; add JNICALL attributes to JNI functions; implement additional JavaVM methods
2007-09-06 18:21:52 -06:00
Joel Dice
f72f95d7ca
check for exceptions in invoke()
2007-08-28 17:38:47 -06:00
Joel Dice
b8de552797
re-implement System.getProperty to separate vm-specific properties from others
2007-08-27 07:46:17 -06:00
Joel Dice
009a743aa8
box primitive return values in invoke()
2007-08-23 18:22:28 -06:00
Joel Dice
256bcf04e0
fix Method.invoke() to handle polymorphism properly
2007-08-22 21:30:37 -06:00
Joel Dice
c6e1644281
fix bug in calculating GC footprint in new heap pool code
2007-08-22 20:24:25 -06:00
Joel Dice
00c611fcf9
Merge branch 'master' of dice:git/vm
2007-08-22 08:50:34 -06:00
Joel Dice
f148fd0668
add Machine::heapPool, allowing threads to acquire replacement heaps up to a point before forcing a GC
2007-08-22 08:50:29 -06:00
Joel Dice
a1caf06955
properly handle classes with no interface table in isAssignableFrom()
2007-08-21 22:03:03 -06:00
Joel Dice
57d57ff7bf
use identity hash code in Object.toString()
2007-08-21 22:02:17 -06:00
Joel Dice
af6f2bbc46
always call bitsetHasMore() from bitsetNext(), regardless of whether assertions are enabled
2007-08-20 20:30:22 -06:00
Joel Dice
27c8511c5e
bugfixes
2007-08-20 18:24:54 -06:00
Joel Dice
e2f3e80bdf
heap o' bugfixes
2007-08-19 20:57:32 -06:00
Joel Dice
7a340fd8fb
bugfixes
2007-08-19 14:24:26 -06:00
Joel Dice
59638543c7
various performance tweaks and bugfixes
2007-08-19 13:45:51 -06:00
Joel Dice
747e7b0371
set minimum value for initial nextGen2 capacity; profile support
2007-08-18 16:42:11 -06:00
Joel Dice
3bbc119516
add System::now()
2007-08-18 16:35:22 -06:00
Joel Dice
215a52ba54
simplify heap.cpp by allocating segments pessimistically
2007-08-18 15:24:29 -06:00
Joel Dice
aa5e751e69
clean up Array.get(), Array.set(), and Method.invoke() implementations
2007-08-18 11:53:30 -06:00
Joel Dice
d169e4eadf
clean up Field.get() and Field.set() implementations
2007-08-18 11:15:03 -06:00
Joel Dice
3625a02910
fix handling of class references in ldc instruction
2007-08-14 20:08:43 -06:00
Joel Dice
f22dda0df1
bugfixes
2007-08-14 19:14:55 -06:00
Joel Dice
71c7013808
more bugfixes
2007-08-14 07:27:10 -06:00
Joel Dice
587dbeb163
bugfixes
2007-08-13 20:35:49 -06:00
Joel Dice
d0e519d992
bugfixes
2007-08-13 19:44:47 -06:00
Joel Dice
ab3ca38580
various bugfixes
2007-08-13 18:37:00 -06:00
Joel Dice
89609e11c9
implement floating point instructions
2007-08-13 08:06:31 -06:00
Joel Dice
bf230ee151
implement tableswitch and lookupswitch instructions plus run loop bugfixes and tweaks
2007-08-12 20:52:12 -06:00
Joel Dice
c20219df19
flesh out serialization/deserialization code and fix build
2007-08-12 18:50:25 -06:00
Joel Dice
d3931b4853
flesh out resource URL scheme implementation
2007-08-10 17:45:47 -06:00
Joel Dice
1997ea6b8c
acquire class lock before running static initializer; wrap exceptions thrown from static initializers in ExceptionInInitializerError instances
2007-08-01 17:48:36 -06:00
Joel Dice
b56eed68be
implement Thread.[get|set]ContextClassloader()
2007-07-31 18:08:20 -06:00
Joel Dice
38d4ee6e07
flesh out ClassLoader, etc.
2007-07-30 17:19:05 -06:00
Joel Dice
da692a539f
inherit thread locals at thread creation time, not start time
2007-07-29 19:27:42 -06:00
Joel Dice
73155c6196
fix failure to remove thread from wait list in System::Monitor::notifyAll()
2007-07-29 19:18:18 -06:00
Joel Dice
a2bd7d0668
GC stress fixes and other bugfixes; classpath progress
2007-07-29 17:32:23 -06:00
Joel Dice
d5a00c4556
break native hashMap type into hashMap and weakHashMap; start investgating GC stress failures related to or uncovered by new string interning support
2007-07-29 12:52:08 -06:00
Joel Dice
c96a4a5b39
implement String.intern()
2007-07-28 18:02:32 -06:00
Joel Dice
0e373727a2
implement Thread.interrupt()
2007-07-28 15:28:25 -06:00
Joel Dice
abd9c2bc8d
fix primitive class resolution to avoid mistaking normal classes with names like 'B' for primitive classes
2007-07-28 10:55:24 -06:00
Joel Dice
41bee5829e
misc. bugfixes and tweaks
2007-07-28 10:10:13 -06:00
Joel Dice
363801af1c
classpath progress
2007-07-27 17:56:19 -06:00
Joel Dice
c9f9b039e6
classpath progress
2007-07-26 20:39:53 -06:00
Joel Dice
7212ba1c30
java/io bugfixes and coverage; jni bugfixes; minor refactoring
2007-07-26 18:06:05 -06:00
Joel Dice
b00fcd4463
superficial tweaks
2007-07-25 18:52:10 -06:00
Joel Dice
9ab88ef619
a static jni method takes the jclass for that method as its second argument; simplify pad() and divide(), and rename divide() to ceiling(); sketch FileInputStream.cpp and FileOutputStream.cpp
2007-07-25 18:48:28 -06:00
Joel Dice
38a982c7dd
handle unresolvable catch types more appropriately when unwinding
2007-07-24 20:02:25 -06:00
Joel Dice
6b0792c881
exception handling and parseMethodTable() bugfixes
2007-07-24 19:56:05 -06:00
Joel Dice
97aaa419b4
quick sketch of java/io/*
2007-07-24 18:34:45 -06:00
Joel Dice
ab47fa7884
fix member/parameter confusion in Thread::Thread()
2007-07-23 21:35:03 -06:00
Joel Dice
527f46d53d
bugfixes; add NullPointerException.java
2007-07-23 21:31:28 -06:00
Joel Dice
823d764998
working reflection
2007-07-23 21:16:59 -06:00
Joel Dice
5f3bf175e0
start work on reflection; bugfixes
2007-07-23 19:44:20 -06:00
Joel Dice
472ecb1713
flesh out some classpath classes
2007-07-22 13:06:21 -06:00
Joel Dice
da17490206
fun with collections
2007-07-21 21:47:08 -06:00
Joel Dice
90d60b3459
more classpath classes
2007-07-21 16:36:51 -06:00
Joel Dice
fd770fd884
sketch a few more classpath classes
2007-07-21 14:44:39 -06:00
Joel Dice
48226f988c
add a bunch of classes to classpath and flesh out a few existing ones
2007-07-21 11:50:26 -06:00
Joel Dice
108f8d7bc0
fix i386 build error
2007-07-20 08:39:50 -06:00
Joel Dice
0f7a2137bf
factor system.cpp and class-finder.cpp out of main.cpp
2007-07-20 08:36:31 -06:00
Joel Dice
9f91f221dd
GC stress fix in make()
2007-07-19 21:29:34 -06:00
Joel Dice
de9213ce30
finish java/lang/ref/* support; add wrapper classes for primitives
2007-07-19 21:18:25 -06:00
Joel Dice
faf9b63798
more work on java/lang/ref/* support
2007-07-19 19:07:30 -06:00
Joel Dice
b213ec0ef8
sketch of java/lang/ref/*
2007-07-19 18:18:47 -06:00
Joel Dice
32dff71994
GC stress fixes
2007-07-19 17:45:44 -06:00
Joel Dice
65c876b5f7
more GC stress fixes
2007-07-17 19:33:00 -06:00
Joel Dice
b848c09a34
more GC stress fixes
2007-07-17 07:22:29 -06:00
Joel Dice
e3e9981031
more GC stress fixes
2007-07-16 19:55:49 -06:00
Joel Dice
6bac351874
more GC stress fixes
2007-07-16 18:23:23 -06:00
Joel Dice
6dec1cbd42
fix various bugs uncovered in GC stress test
2007-07-16 17:58:37 -06:00
Joel Dice
7dab93de00
fix stack overflow in stress() due to StateResource destructor
2007-07-15 19:07:13 -06:00
Joel Dice
4670055b03
implement primitive testing framework and provide for GC stress testing
2007-07-15 19:03:02 -06:00
Joel Dice
3121002ffd
implement Throwable.resolveTrace(); bugfixes
2007-07-14 12:37:04 -06:00
Joel Dice
2df8a60a78
support object arrays of various element types and dimensions; clean up weak hash map support
2007-07-14 11:31:01 -06:00
Joel Dice
0099aa396b
make builtin class type a bootstrap version of java/lang/Class
2007-07-12 17:46:08 -06:00
Joel Dice
69eed6ba5a
fix method and field lookup to check superclasses
2007-07-11 18:06:57 -06:00
Joel Dice
9a2dbe6596
fix handling of newly-tenured finalizers and weak references in postVisit()
2007-07-11 07:35:28 -06:00
Joel Dice
01d858e1bc
more bugfixes, mainly monitor-related
2007-07-10 22:19:26 -06:00
Joel Dice
93748f2df9
heap o' bugfixes
2007-07-10 19:38:06 -06:00
Joel Dice
eba6a42700
replace Debug constant in machine.h with DebugMonitors
2007-07-10 17:34:53 -06:00
Joel Dice
950e1eb5cb
set stack index to the correct value when unwinding to an exception handler
2007-07-10 17:32:03 -06:00
Joel Dice
9d4c589ab1
fix typo in types.def
2007-07-10 17:31:13 -06:00
Joel Dice
3bffa44824
fix ordering bug in postVisit() and remove debug logging
2007-07-10 08:21:22 -06:00
Joel Dice
4decde57e6
more weak reference work, plus debug logging
2007-07-09 21:04:49 -06:00
Joel Dice
b70e4b368f
sketch of finalizer/weak reference overhaul; type generator bugfixes involving array member layout
2007-07-09 19:43:43 -06:00
Joel Dice
a77693fb29
snapshot; known bug: finalizers and weak references don't work correctly wrt tenured objects
2007-07-07 19:06:32 -06:00
Joel Dice
f71c77298c
bugfixes
2007-07-07 17:47:35 -06:00
Joel Dice
e5bea7a455
progress on thread support
2007-07-07 12:09:16 -06:00
Joel Dice
3bd267b47a
more refactoring
2007-07-06 17:50:26 -06:00
Joel Dice
96000a7c67
a bit more refactoring
2007-07-06 17:18:40 -06:00
Joel Dice
427dbedd0f
factor a lot of code out of vm.cpp, since it was becoming unwieldy
2007-07-06 09:24:06 -06:00
Joel Dice
6678d31d5c
fix stack overflow calculation
2007-07-05 19:10:23 -06:00
Joel Dice
dc8232eddf
store frame data on the stack, not the heap
2007-07-05 19:06:06 -06:00
Joel Dice
56467e61d7
exception handler selection bugfixes
2007-07-04 20:44:01 -06:00
Joel Dice
d2ef4dabc4
interface-related bugfixes
2007-07-04 20:25:25 -06:00
Joel Dice
c3320c2c97
flesh out classpath enough to test threading; fix indexing bug in parsePool()
2007-07-04 16:27:08 -06:00
Joel Dice
1182ea9540
Revert "fix ordering of weak reference and finalization processing"
...
This reverts commit 0a32a7b7af
.
Actually, I had it right the first time, somewhat by accident.
2007-07-04 12:43:42 -06:00
Joel Dice
0a32a7b7af
fix ordering of weak reference and finalization processing
2007-07-04 12:40:31 -06:00
Joel Dice
da844719ab
fix off-by-one thinko in GetStringUTFChars; call dlclose() in ~Library()
2007-07-04 12:15:03 -06:00
Joel Dice
25a7aae0f8
lots of bugfixes
2007-07-04 11:58:27 -06:00
Joel Dice
cabc069b16
weak reference support
2007-07-04 09:56:55 -06:00
Joel Dice
da1e12b589
fix stack overflow calculation
2007-07-03 22:13:52 -06:00
Joel Dice
9039daa375
convert thread stack to a more efficient representation
...
The stack is now represented as alternating type tags and values instead
of object references. This removes the need to store stack primitives
on the heap.
2007-07-03 20:56:02 -06:00
Joel Dice
acd254544c
zero locals when invoking method
2007-07-03 09:38:35 -06:00
Joel Dice
32b5d070fb
simplify monitor lookup; add finalization
2007-07-02 08:19:05 -06:00
Joel Dice
8acb32e4cb
store frame locals on stack and avoid need to copy parameters
2007-07-02 07:11:51 -06:00
Joel Dice
db529925e2
simplify mappedMonitor() and eliminate System::ReadWriteLock
2007-07-01 22:03:44 -06:00
Joel Dice
bb16d8e62b
snapshot (broken)
2007-07-01 19:42:35 -06:00
Joel Dice
f698d347ac
eliminate conditional when calculating object size
2007-07-01 15:47:26 -06:00
Joel Dice
38cea04322
progress towards thread support
...
This includes support for using the least significant bits of the class
pointer to indicate object state, which we'll use to indicate the
presence of a monitor pointer, among other things.
2007-07-01 15:34:22 -06:00
Joel Dice
051e3bc7a8
respect string offset and length when printing exception message
2007-06-29 20:45:45 -06:00
Joel Dice
b33f0c311d
push method frame for native invocations (so we'll see them in stack traces)
2007-06-29 20:41:49 -06:00
Joel Dice
4020f13fb0
update references to class in fields and methods in updateBootstrapClass()
2007-06-29 20:38:16 -06:00
Joel Dice
b8e009075c
stack trace work
2007-06-29 20:39:01 -06:00
Joel Dice
c34ee64988
classloading bugfixes and stack trace work
2007-06-29 19:37:45 -06:00
Joel Dice
e529d60a69
hello, world
2007-06-29 10:42:39 -06:00
Joel Dice
2057e72956
more JNI work
2007-06-28 20:58:48 -06:00
Joel Dice
f0bc4dbe76
various bugfixes
2007-06-24 20:20:35 -06:00
Joel Dice
cd2c1a2836
JNI up the wazoo
2007-06-24 20:02:24 -06:00
Joel Dice
400b3633d7
more JNI work
2007-06-24 19:34:07 -06:00
Joel Dice
f606f2d30a
more progress on JNI
2007-06-24 15:49:04 -06:00
Joel Dice
ef806e73f0
progress on JNI and bootstrap class handling
2007-06-24 13:57:00 -06:00
Joel Dice
9dc8b0529d
snapshot
2007-06-23 19:39:49 -06:00
Joel Dice
f68f455d59
prepare for native method support
2007-06-22 17:43:31 -06:00
Joel Dice
137fdcb69e
specify a more conservative initial capacity in initNextGen{1,2}()
2007-06-22 17:29:15 -06:00
Joel Dice
39bbcc03eb
refactor assertions so they can be disabled easily at compile time; fix a couple of method invocation bugs
2007-06-22 17:17:13 -06:00
Joel Dice
5ee38e259a
enable large object support; various GC bugfixes and tweaks
2007-06-22 16:47:57 -06:00
Joel Dice
4d202e4945
fix iinc instruction to use set() instead of direct assignment; add Thread::HeapSizeInWords and Thread::StackSizeInWords
2007-06-22 15:31:45 -06:00
Joel Dice
3a6da507ec
various GC bugfixes
2007-06-22 14:55:11 -06:00
Joel Dice
09f6a34510
snapshot
2007-06-21 21:16:42 -06:00
Joel Dice
d5ce307a2a
switch to a linked heap implementation
2007-06-21 20:13:17 -06:00
Joel Dice
3238b34723
fix thinko in visitRoots()
2007-06-21 17:23:43 -06:00
Joel Dice
c1d70499c2
add Debug and Verbose constants to heap.cpp
2007-06-21 16:51:55 -06:00
Joel Dice
e794fdb57f
fix jump calculation for various instructions
2007-06-21 16:50:52 -06:00
Joel Dice
31e2da3e05
various GC bugfixes
2007-06-21 16:23:35 -06:00
Joel Dice
8d0c5f4186
snapshot
2007-06-21 14:44:35 -06:00
Joel Dice
1992482236
snapshot
2007-06-21 13:43:33 -06:00
Joel Dice
29f9bb84ca
snapshot
2007-06-21 12:35:24 -06:00
Joel Dice
95c4bff51b
lots of bugfixes
2007-06-20 19:38:02 -06:00
Joel Dice
91b9dc7382
various bugfixes
2007-06-20 15:27:22 -06:00
Joel Dice
4e07acb26c
it builds!
2007-06-20 13:20:25 -06:00
Joel Dice
d4d155c834
snapshot
2007-06-20 11:42:13 -06:00
Joel Dice
1a05eb2739
snapshot
2007-06-20 10:58:35 -06:00
Joel Dice
a6e79cc417
snapshot
2007-06-19 23:16:43 -06:00
Joel Dice
459acc3419
snapshot
2007-06-19 22:26:36 -06:00
Joel Dice
caac00e5ff
start rough sketch of GC code in heap.cpp
2007-06-19 20:28:31 -06:00
Joel Dice
36152603f4
provide bounds checking for array indexing; store bootstrap types in Machine::types
2007-06-18 15:13:21 -06:00
Joel Dice
6756ade3bd
update generated type code and fix most link errors
2007-06-18 13:23:44 -06:00
Joel Dice
d595a2fd61
compiles but doesn't link
2007-06-17 22:25:42 -06:00
Joel Dice
1cb866aac1
clean up sketch of parseClass() and friends; etc.
2007-06-17 22:09:02 -06:00
Joel Dice
f99425d944
snapshot
2007-06-17 17:25:58 -06:00
Joel Dice
4493fe824e
snapshot
2007-06-17 16:03:27 -06:00
Joel Dice
1301a6a1c8
snapshot
2007-06-16 15:39:05 -06:00
Joel Dice
9e356c1b40
sketch parseClass()
2007-06-15 19:02:24 -06:00
Joel Dice
bb2494be83
use ACQUIRE_RAW instead of ACQUIRE in set(), since it will only block for a bounded interval; rename some Heap methods
2007-06-15 10:00:08 -06:00
Joel Dice
1d02290ed1
add call To ClassFinder::free() in resolveClass()
2007-06-14 20:03:33 -06:00
Joel Dice
1853ea825e
change Heap::markTenured() return type to void
2007-06-14 18:51:48 -06:00
Joel Dice
f5cb9b3bf1
implement/update ACQUIRE and ACQUIRE_RAW macros; refine set() implementation
2007-06-14 18:50:55 -06:00
Joel Dice
375715fb72
simplify byteArrayEqual()
2007-06-14 17:56:40 -06:00
Joel Dice
8d7cd5482f
resolveClass() sketch
2007-06-14 17:55:06 -06:00
Joel Dice
7904fa40a3
finish sketch of resolveField() and resolveMethod() implementations
2007-06-13 20:41:59 -06:00
Joel Dice
ef48f14839
sketch of resolveField() and resolveMethod() implementations
2007-06-13 20:12:28 -06:00
Joel Dice
5e225c94a3
implement helper methods for invokespecial; add thread type
2007-06-13 08:03:08 -06:00
Joel Dice
8cc54280d9
implement more helper functions; add fields to class, field, and method types
2007-06-11 17:40:24 -06:00
Joel Dice
587fb18685
fix thinko in memset() call
2007-06-08 20:33:26 -06:00
Joel Dice
a29dc10313
implement instanceOf(); add interface type; etc.
2007-06-08 20:29:56 -06:00
Joel Dice
86b7a75977
implement set(); minor tweaks elsewhere
2007-06-08 08:23:04 -06:00
Joel Dice
26bfa24c16
add various bootstrap types; implement more helper functions; add LIKELY() and UNLIKELY() macro invocations where appropriate; add PROTECT() macro
2007-06-07 18:23:12 -06:00
Joel Dice
94338e15a8
implement makeJString(); minor tweaks elsewhere
2007-06-06 18:30:16 -06:00
Joel Dice
48e49f1fa1
more build fixes
2007-06-05 20:24:09 -06:00
Joel Dice
2176c32cee
lots of build fixes
2007-06-05 18:41:04 -06:00
Joel Dice
45f5417827
snapshot
2007-06-04 18:28:52 -06:00
Joel Dice
35de3dc128
copy input.h and output.h from mess project
2007-06-04 17:48:35 -06:00
Joel Dice
2d44143944
type-generator now builds
2007-06-04 17:39:59 -06:00
Joel Dice
f35d89cfa4
more type-generator refinements
2007-06-04 08:16:17 -06:00
Joel Dice
e95478650c
convert PUSH and POP macros to inline functions
2007-06-04 07:12:22 -06:00
Joel Dice
f354e410c4
frame should have handle to method, not just code
2007-06-03 17:18:05 -06:00
Joel Dice
3ba88c12b0
copy makefile, stdc++.cpp, and type-generator.cpp from mess project
...
and began customizing them for this project
2007-06-03 17:16:07 -06:00
Joel Dice
4ecf7917cc
sketch Machine and Thread classes; refine allocation and thread state transitions
2007-06-02 20:00:23 -06:00
Joel Dice
f6e369c424
add public access specifiers to Heap::Vistor and Heap::Iterator
2007-06-02 19:58:47 -06:00
Joel Dice
d0a6a78022
add system.h for interfacing with system-level features
2007-06-02 19:57:37 -06:00
Joel Dice
253723b5cc
add common.h for common includes, macros, etc.
2007-06-02 19:56:57 -06:00
Joel Dice
3a2f478521
add heap.h
2007-06-02 17:36:55 -06:00
Joel Dice
c5ed0cf810
snapshot
2007-06-01 18:06:06 -06:00
Joel Dice
a8ca8c7512
finish sketch of essential instructions
2007-05-30 18:29:07 -06:00
Joel Dice
81c0e507f7
snapshot
2007-05-29 18:08:10 -06:00
Joel Dice
9076e2fbfa
snapshot
2007-05-25 08:48:07 -06:00
Joel Dice
9bc6b0db0b
snapshot
2007-05-21 18:05:29 -06:00
Joel Dice
9ed7dbb3d5
initial commit
2007-05-21 09:47:44 -06:00