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
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
796a64a426
lots of JIT bugfixes and cleanups
2007-12-15 17:24:15 -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
49ed41daa0
refactor stack walking interface in processor.h and sketch stack walking implementation in compile2.cpp
2007-11-25 16:00:55 -07: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
75d4a4ff96
implement a few classpath methods required by SWT for Win32
2007-10-29 14:57:33 -06:00
Joel Dice
60072b9fdc
implement fixed object support
2007-10-27 19:54:30 -06:00
Joel Dice
e892f1bff5
refactor System.getProperty() to reduce coupling with native code
2007-10-26 12:13:21 -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
eaf1d205cd
more windows port fixes
2007-10-24 11:24:19 -06:00
Joel Dice
5bfd90cfed
more system-specific tweaks for windows port
2007-10-24 10:24:02 -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
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
5f6258045e
implement various floating point instructions; fix Floats.java to actually test something
2007-10-15 13:12:38 -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
feeaecbfd8
more work on JIT unwinding
2007-10-04 16:41:19 -06:00
Joel Dice
79603e284d
sketch of Compiler.compileNative() and ifnull instruction implementation
2007-09-28 17:41:03 -06:00
Joel Dice
37ccb6cb46
Merge branch 'master' of dice:git/vm
2007-09-27 16:21:00 -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
770e48c197
make Object.clone() work for arrays
2007-09-26 13:45:52 -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
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
49a3c08cc9
use dlopen()/dlsym() to resolve builtin JNI methods
2007-09-18 17:30:09 -06:00
Joel Dice
b88438d2fd
sketch of JAR support in Finder
2007-09-16 18:13:36 -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
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
b8de552797
re-implement System.getProperty to separate vm-specific properties from others
2007-08-27 07:46:17 -06:00
Joel Dice
256bcf04e0
fix Method.invoke() to handle polymorphism properly
2007-08-22 21:30:37 -06:00
Joel Dice
57d57ff7bf
use identity hash code in Object.toString()
2007-08-21 22:02:17 -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
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
f22dda0df1
bugfixes
2007-08-14 19:14:55 -06:00
Joel Dice
d0e519d992
bugfixes
2007-08-13 19:44:47 -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
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
a2bd7d0668
GC stress fixes and other bugfixes; classpath progress
2007-07-29 17:32:23 -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
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
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
0f7a2137bf
factor system.cpp and class-finder.cpp out of main.cpp
2007-07-20 08:36:31 -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
6dec1cbd42
fix various bugs uncovered in GC stress test
2007-07-16 17:58:37 -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
93748f2df9
heap o' bugfixes
2007-07-10 19:38:06 -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