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
Joel Dice
c3320c2c97
flesh out classpath enough to test threading; fix indexing bug in parsePool()
2007-07-04 16:27:08 -06:00
Joel Dice
1182ea9540
Revert "fix ordering of weak reference and finalization processing"
...
This reverts commit 0a32a7b7af
.
Actually, I had it right the first time, somewhat by accident.
2007-07-04 12:43:42 -06:00
Joel Dice
0a32a7b7af
fix ordering of weak reference and finalization processing
2007-07-04 12:40:31 -06:00
Joel Dice
da844719ab
fix off-by-one thinko in GetStringUTFChars; call dlclose() in ~Library()
2007-07-04 12:15:03 -06:00
Joel Dice
25a7aae0f8
lots of bugfixes
2007-07-04 11:58:27 -06:00
Joel Dice
cabc069b16
weak reference support
2007-07-04 09:56:55 -06:00
Joel Dice
da1e12b589
fix stack overflow calculation
2007-07-03 22:13:52 -06:00
Joel Dice
9039daa375
convert thread stack to a more efficient representation
...
The stack is now represented as alternating type tags and values instead
of object references. This removes the need to store stack primitives
on the heap.
2007-07-03 20:56:02 -06:00
Joel Dice
acd254544c
zero locals when invoking method
2007-07-03 09:38:35 -06:00
Joel Dice
32b5d070fb
simplify monitor lookup; add finalization
2007-07-02 08:19:05 -06:00
Joel Dice
8acb32e4cb
store frame locals on stack and avoid need to copy parameters
2007-07-02 07:11:51 -06:00
Joel Dice
db529925e2
simplify mappedMonitor() and eliminate System::ReadWriteLock
2007-07-01 22:03:44 -06:00
Joel Dice
bb16d8e62b
snapshot (broken)
2007-07-01 19:42:35 -06:00
Joel Dice
f698d347ac
eliminate conditional when calculating object size
2007-07-01 15:47:26 -06:00
Joel Dice
38cea04322
progress towards thread support
...
This includes support for using the least significant bits of the class
pointer to indicate object state, which we'll use to indicate the
presence of a monitor pointer, among other things.
2007-07-01 15:34:22 -06:00
Joel Dice
051e3bc7a8
respect string offset and length when printing exception message
2007-06-29 20:45:45 -06:00
Joel Dice
b33f0c311d
push method frame for native invocations (so we'll see them in stack traces)
2007-06-29 20:41:49 -06:00
Joel Dice
4020f13fb0
update references to class in fields and methods in updateBootstrapClass()
2007-06-29 20:38:16 -06:00
Joel Dice
b8e009075c
stack trace work
2007-06-29 20:39:01 -06:00
Joel Dice
c34ee64988
classloading bugfixes and stack trace work
2007-06-29 19:37:45 -06:00
Joel Dice
e529d60a69
hello, world
2007-06-29 10:42:39 -06:00
Joel Dice
2057e72956
more JNI work
2007-06-28 20:58:48 -06:00
Joel Dice
f0bc4dbe76
various bugfixes
2007-06-24 20:20:35 -06:00
Joel Dice
cd2c1a2836
JNI up the wazoo
2007-06-24 20:02:24 -06:00
Joel Dice
400b3633d7
more JNI work
2007-06-24 19:34:07 -06:00
Joel Dice
f606f2d30a
more progress on JNI
2007-06-24 15:49:04 -06:00
Joel Dice
ef806e73f0
progress on JNI and bootstrap class handling
2007-06-24 13:57:00 -06:00
Joel Dice
9dc8b0529d
snapshot
2007-06-23 19:39:49 -06:00
Joel Dice
f68f455d59
prepare for native method support
2007-06-22 17:43:31 -06:00
Joel Dice
137fdcb69e
specify a more conservative initial capacity in initNextGen{1,2}()
2007-06-22 17:29:15 -06:00
Joel Dice
39bbcc03eb
refactor assertions so they can be disabled easily at compile time; fix a couple of method invocation bugs
2007-06-22 17:17:13 -06:00
Joel Dice
5ee38e259a
enable large object support; various GC bugfixes and tweaks
2007-06-22 16:47:57 -06:00
Joel Dice
4d202e4945
fix iinc instruction to use set() instead of direct assignment; add Thread::HeapSizeInWords and Thread::StackSizeInWords
2007-06-22 15:31:45 -06:00
Joel Dice
3a6da507ec
various GC bugfixes
2007-06-22 14:55:11 -06:00
Joel Dice
09f6a34510
snapshot
2007-06-21 21:16:42 -06:00
Joel Dice
d5ce307a2a
switch to a linked heap implementation
2007-06-21 20:13:17 -06:00
Joel Dice
3238b34723
fix thinko in visitRoots()
2007-06-21 17:23:43 -06:00
Joel Dice
c1d70499c2
add Debug and Verbose constants to heap.cpp
2007-06-21 16:51:55 -06:00
Joel Dice
e794fdb57f
fix jump calculation for various instructions
2007-06-21 16:50:52 -06:00
Joel Dice
31e2da3e05
various GC bugfixes
2007-06-21 16:23:35 -06:00
Joel Dice
8d0c5f4186
snapshot
2007-06-21 14:44:35 -06:00
Joel Dice
1992482236
snapshot
2007-06-21 13:43:33 -06:00
Joel Dice
29f9bb84ca
snapshot
2007-06-21 12:35:24 -06:00
Joel Dice
95c4bff51b
lots of bugfixes
2007-06-20 19:38:02 -06:00
Joel Dice
91b9dc7382
various bugfixes
2007-06-20 15:27:22 -06:00
Joel Dice
4e07acb26c
it builds!
2007-06-20 13:20:25 -06:00
Joel Dice
d4d155c834
snapshot
2007-06-20 11:42:13 -06:00
Joel Dice
1a05eb2739
snapshot
2007-06-20 10:58:35 -06:00