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 |
|