Joel Dice
d1b4dfccd0
fix class cast exception message thinko
2008-01-15 16:33:20 -07:00
Joel Dice
37b33457c1
Merge branch 'master' of dice:git/vm
2008-01-14 16:37:41 -07:00
Joel Dice
2f83468b80
remove context argument from Allocator::tryAllocate and Allocator::allocate, since we aren't using it after all
2008-01-14 16:37:24 -07:00
Eric Scharff
fbec4bec83
Use non-standard MAP_ANON for memory mapping
2008-01-14 10:58:11 -07:00
Joel Dice
2d042616d0
Merge branch 'master' of dice:git/vm
2008-01-14 09:40:27 -07:00
Joel Dice
a89c22b493
force major collection under low memory condition
2008-01-14 09:39:57 -07:00
Joel Dice
029973943e
increase max heap size to 128MB
2008-01-14 09:38:14 -07:00
Dain
faa3052b28
set MAP_32BIT for 32bit machines
2008-01-14 09:33:54 -07:00
Joel Dice
e4c1f6cc8f
protect local variable from GC in findUnwindTarget
2008-01-14 09:33:26 -07:00
Joel Dice
0298865efa
refactor memory allocation to allow better detection and handling of low-memory conditions
2008-01-13 15:05:08 -07:00
Joel Dice
8df1118120
add a comment explaining our dummy libstdc++ functions
2008-01-11 17:34:57 -07:00
Joel Dice
d1ec7cd0e8
remove debug logging
2008-01-11 15:19:44 -07:00
Joel Dice
f0d556b0ec
fix handling of call target resolution for non-virtual calls
2008-01-11 15:16:24 -07:00
Joel Dice
a56c0ad2ef
fix predicate used to determine whether to resolve address operands
2008-01-11 11:11:31 -07:00
Joel Dice
570925ad0e
handle locking for synchronized native methods
2008-01-11 10:49:11 -07:00
Joel Dice
13fae991fd
resolve address operands only when writing the final output
2008-01-11 09:44:16 -07:00
Joel Dice
09a83e63b8
change mov to mov8 in return8
2008-01-10 15:41:57 -07:00
Joel Dice
a17cbf2880
fix reversed operand encoding for shift instructions
2008-01-10 14:56:08 -07:00
Joel Dice
4c938d496e
fix 64-bit bitshifts on 32-bit systems
2008-01-10 13:47:55 -07:00
Joel Dice
15f627701b
fix thinko in 8-byte shift operation implementations
2008-01-10 11:38:25 -07:00
Joel Dice
f75c9c8d33
fix build breakage in interpret.cpp
2008-01-10 10:36:07 -07:00
Eric Scharff
4bce07ea12
Adapt windows code to new memory management system (keep track of length
...
at time of memory free)
2008-01-10 10:31:13 -07:00
Joel Dice
13aaa14a41
use code allocator to allocate indirect caller
2008-01-09 18:51:58 -07:00
Joel Dice
8e5ce11047
refactor memory management code
...
We now support immortal objects, which the GC will scan for references
but not consider for collection. On x86_64, we allocate JIT code memory
via mmap, which lets us map memory into the bottom 2GB of the address
space, ensuring that 32-bit relative jumps and calls work.
2008-01-09 18:20:36 -07:00
Joel Dice
633990b5fe
force a major GC whenever the tenured fixed object footprint doubles
2008-01-09 08:21:58 -07:00
Joel Dice
1a79fc45df
change jump offset asserts to expects
2008-01-08 17:30:55 -07:00
Joel Dice
96ddae1742
assert that jump offsets fit into 32-bit words
2008-01-08 17:23:10 -07:00
Joel Dice
e3be0d197e
maintain memory ceiling for tenured fixed objects and use it to trigger a major GC when appropriate
2008-01-08 17:02:27 -07:00
Joel Dice
811fbf0ab9
don't try to compile a method twice if it was compiled as a side-effect of initializing a class
2008-01-08 14:23:49 -07:00
Joel Dice
cfc959a3d2
invoke static initializers more lazily
2008-01-08 12:36:34 -07:00
Joel Dice
551addc638
make array bounds checking optional; add comments describing stack mapping algorithm
2008-01-08 10:10:24 -07:00
Joel Dice
c8472c4d30
minimize state tracked by stack mapping algorithm
2008-01-08 08:24:57 -07:00
Joel Dice
ef06be3904
fix bad machine code generated for mov2
2008-01-07 18:33:49 -07:00
Joel Dice
6a314ee65d
Merge branch 'master' of dice:git/vm
2008-01-07 16:30:51 -07:00
Joel Dice
74a7da3010
implement and8, or8, and xor8 for 32-bit systems
2008-01-07 16:30:45 -07:00
Eric Scharff
466c3bb06e
Changes for signal contexts in Mac OS X 10.5 (Leopard)
2008-01-07 16:20:48 -07:00
Joel Dice
8dc674b3d2
remove redundant line in multianewarray
2008-01-07 16:09:55 -07:00
Joel Dice
72f7115323
add FORCE_ALIGN attribute to non-trivial functions called from Java land
2008-01-07 15:49:34 -07:00
Joel Dice
2cda000725
fix code ordering bug in compile() which caused us to calculate the stack map incorrectly; logging tweak
2008-01-07 15:04:53 -07:00
Joel Dice
259dd643e0
fix over-agressive state reset in state mapping code; logging tweaks
2008-01-07 14:32:41 -07:00
Joel Dice
25f12ca40a
set Verbose=false
2008-01-07 10:16:41 -07:00
Joel Dice
888dce8f3c
bugfixes and cleanups for new stack mapping code
2008-01-07 09:01:35 -07:00
Joel Dice
a755368add
sketch of new stack mapping algorithm
2008-01-07 07:51:07 -07:00
Joel Dice
a8e9cc521c
move some generally useful bitset functions from heap.cpp to common.h
2008-01-06 12:21:38 -07:00
Joel Dice
89b60bfba0
fix incorrect encoding of neg instruction
2008-01-03 19:16:29 -07:00
Joel Dice
c119d4362e
fix swapped machine codes for sar/shr instructions
2008-01-03 17:29:33 -07:00
Joel Dice
e30302722e
Merge branch 'master' of dice.ecovate.com:git/vm
...
Conflicts:
src/compile.cpp
2008-01-03 16:54:35 -07:00
Joel Dice
4bda925e08
fix thinko in Frame::mapSizeInWords; code cleanup
2008-01-03 16:53:37 -07:00
Joel Dice
ce2f5dd375
fix use of clobbered stack register in multianewarray
2008-01-03 14:28:29 -07:00
Joel Dice
2d6d69a573
fix thinko in invokeNative2
2008-01-03 12:49:07 -07:00
Joel Dice
651a27f73e
sign-extend array indexes from 32 to 64 bits on amd64; provide useful messages for certain runtime exceptions
2008-01-03 11:37:00 -07:00
Joel Dice
6cecdc8295
relax rules for doing major collection; fix overconstrained assertion
2008-01-03 10:09:43 -07:00
Joel Dice
df20ce92f7
set Verbose=false
2008-01-01 18:48:04 -07:00
Joel Dice
eff3ba1418
fix thinko in visitDirtyFixies()
2008-01-01 18:45:23 -07:00
Joel Dice
e797a8f1ca
fix GC bugs involving old fixed objects pointing to new objects
2008-01-01 18:08:27 -07:00
Joel Dice
1d7931a654
fix GC safety bugs in compile.cpp
2008-01-01 18:07:12 -07:00
Joel Dice
4378110506
avoid type aliasing warnings
2008-01-01 15:36:26 -07:00
Joel Dice
3a87011190
handle SIGBUS on OSX; this isn't working on OSX 10.4, but it might on 10.5
2008-01-01 11:19:55 -07:00
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