Commit Graph

132 Commits

Author SHA1 Message Date
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
0a63fc3865 fix a couple thinkos in jnienv.cpp 2007-11-29 08:04:07 -07:00
Joel Dice
0bbe9489a7 flesh out call tracing in new JIT code 2007-11-26 16:15:53 -07:00
Joel Dice
115622f54a add GetArrayLength, NewObject, NewObjectV, MonitorEnter, and MonitorExit JNIEnv methods 2007-11-14 16:22:29 -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
6c0e0c37e2 snapshot 2007-11-05 07:28:46 -07:00
Joel Dice
94e9bd0fd2 clean up bootstrap type generation to eliminate redundancy (broken) 2007-11-04 14:15:28 -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
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
46ac6f92ee implement JNIEnv::NewString() 2007-10-26 15:23:54 -06:00
Joel Dice
74701b0790 fix thinko parsing properties in JNI_CreateJavaVM 2007-10-25 17:17:38 -06:00
Joel Dice
20cc788fa4 support classloading from jar files compiled into the executable 2007-10-25 16:06:05 -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
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
a73f474f34 implement Processor::makeLocalReference()/disposeLocalReference() 2007-09-29 21:33:38 -06:00
Joel Dice
8d983c8a39 refactoring effort to pave the way for JIT compilation 2007-09-23 19:39:03 -06:00
Joel Dice
1f6c2dbbb1 implement Set<Primitive>ArrayRegion() 2007-09-17 16:15:42 -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
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
71c7013808 more bugfixes 2007-08-14 07:27:10 -06:00
Joel Dice
7212ba1c30 java/io bugfixes and coverage; jni bugfixes; minor refactoring 2007-07-26 18:06:05 -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
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
3bd267b47a more refactoring 2007-07-06 17:50:26 -06:00