Commit Graph

296 Commits

Author SHA1 Message Date
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