Joel Dice
|
fdeafe46fd
|
2+2 test now works with new JIT code
|
2007-12-11 14:26:59 -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
|
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
|
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
|
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
|
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
|
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 |
|
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
|
fcc50f4da6
|
abort if vsnprintf() overflows in makeByteArray
|
2007-10-26 18:03:28 -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
|
20cc788fa4
|
support classloading from jar files compiled into the executable
|
2007-10-25 16:06:05 -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
|
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
|
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
|
29b5e81aed
|
align fields naturally in parseFieldTable
|
2007-10-16 19:20:36 -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
|
96c3b2b6a7
|
superficial code cleanup
|
2007-10-12 18:22:52 -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
|
d5a8193614
|
lots of work on stack mapping, plus a couple of bugfixes
|
2007-10-11 16:43:03 -06:00 |
|
Joel Dice
|
feeaecbfd8
|
more work on JIT unwinding
|
2007-10-04 16:41:19 -06:00 |
|
Joel Dice
|
404d996c1e
|
snapshot
|
2007-10-03 18:41:54 -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
|
8ae36c05b7
|
lots of new instructions and bugfixes
|
2007-09-29 20:48:27 -06:00 |
|
Joel Dice
|
569cfa9e07
|
implement more instructions; various bugfixes
|
2007-09-29 14:24:14 -06:00 |
|
Joel Dice
|
79603e284d
|
sketch of Compiler.compileNative() and ifnull instruction implementation
|
2007-09-28 17:41:03 -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
|
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
|
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
|
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
|
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
|
b0926e71fb
|
fix math errors when walking object map in collect()::Client::walk()
|
2007-09-13 16:45:09 -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
|
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
|
e2f3e80bdf
|
heap o' bugfixes
|
2007-08-19 20:57:32 -06:00 |
|
Joel Dice
|
59638543c7
|
various performance tweaks and bugfixes
|
2007-08-19 13:45:51 -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
|
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
|
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
|
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
|
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
|
6b0792c881
|
exception handling and parseMethodTable() bugfixes
|
2007-07-24 19:56:05 -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
|
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
|
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
|
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
|
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 |
|