Commit Graph

576 Commits

Author SHA1 Message Date
Joel Dice
5c99edd90e fix many JIT GC bugs; GC.java now passes 2007-10-13 15:48:40 -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
96c3b2b6a7 superficial code cleanup 2007-10-12 18:22:52 -06:00
Joel Dice
dbbcf90e6c Merge branch 'master' of dice:git/vm 2007-10-12 16:06:39 -06:00
Joel Dice
b8ce22dc42 JIT GC bugfixes 2007-10-12 16:06:33 -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
5a92852f74 stack mapping progress 2007-10-12 08:26:36 -06:00
Joel Dice
3e1dbab0f0 move bitmap helper functions to common.h; preserve callee-saved registers in vmInvoke() 2007-10-11 20:52:16 -06:00
Joel Dice
201a658941 stack mapping bugfixes 2007-10-11 18:30:46 -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
69389ea8be more progress towards stack mapping 2007-10-10 16:39:40 -06:00
Joel Dice
808b4780b1 progress towards stack mapping 2007-10-10 15:34:04 -06:00
Joel Dice
1406d6bc24 refactor parts of compile.cpp to improve time efficiency of java IP -> machine IP translation and to prepare for stack object reference tracking 2007-10-10 11:26:28 -06:00
Joel Dice
915ade9ccc various JIT bugfixes 2007-10-09 13:30:01 -06:00
Joel Dice
defa8c62ac 64-bit arithmetic bugfixes 2007-10-09 11:15:40 -06:00
Joel Dice
7e0731ebdd various bugfixes involving longs 2007-10-08 17:13:55 -06:00
Joel Dice
c7d7c4ca0a implement additional instructions for JIT; fix bug in dispose(Thread*,Reference*) 2007-10-08 15:41:41 -06:00
Joel Dice
e32a335079 Merge branch 'master' of dice:git/vm
Conflicts:

	src/cdecl.S
2007-10-04 17:17:57 -06:00
Joel Dice
feeaecbfd8 more work on JIT unwinding 2007-10-04 16:41:19 -06:00
Eric Scharff
a9fcb59e6c Fix a floating point comparison bug - Gets simple SWT examples to work on
Mac OS X
2007-10-04 10:21:14 -06:00
Eric Scharff
ace36f1b15 Simplify code for Mac stack alignment conventions 2007-10-04 07:30:39 -06:00
Joel Dice
2135f62584 progress towards JIT stack unwinding 2007-10-03 21:19:39 -06:00
Joel Dice
404d996c1e snapshot 2007-10-03 18:41:54 -06:00
Joel Dice
ba03aa88df snapshot 2007-10-02 19:54:21 -06:00
Joel Dice
f7058f8fd6 snapshot 2007-10-02 18:22:48 -06:00
Eric Scharff
d2053d51d2 Floats are always passed as doubles in varargs calls. Properly pop them
off the stack and cast them
2007-10-02 09:50:08 -06:00
Joel Dice
68e382ca8d snapshot 2007-10-01 18:08:17 -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
7caedba26f hello, world! 2007-09-30 09:52:21 -06:00
Joel Dice
ea47976aad implement array load instructions 2007-09-29 22:07:22 -06:00
Joel Dice
a73f474f34 implement Processor::makeLocalReference()/disposeLocalReference() 2007-09-29 21:33:38 -06:00
Joel Dice
8ae36c05b7 lots of new instructions and bugfixes 2007-09-29 20:48:27 -06:00
Joel Dice
b0500a881c implement checkcast and instanceof 2007-09-29 15:08:29 -06:00
Joel Dice
569cfa9e07 implement more instructions; various bugfixes 2007-09-29 14:24:14 -06:00
Joel Dice
f2ec75e202 handle 32-bit immediate values in Assembler.push() 2007-09-29 12:34:56 -06:00
Joel Dice
79603e284d sketch of Compiler.compileNative() and ifnull instruction implementation 2007-09-28 17:41:03 -06:00
Joel Dice
ddab82996c implement invokestatic, putstatic, and bipush; respect special handling of rsp and rbp in Assembler 2007-09-28 08:45:26 -06:00
Joel Dice
37ccb6cb46 Merge branch 'master' of dice:git/vm 2007-09-27 16:21:00 -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
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
f1bdc4c745 various fixes to get JIT working on x86_64 2007-09-26 18:01:38 -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
770e48c197 make Object.clone() work for arrays 2007-09-26 13:45:52 -06:00
Joel Dice
1207989f72 fix build and runtime bugs introduced in last commit 2007-09-26 08:43:40 -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
65a3ee4277 superficial tweaks 2007-09-21 08:16:43 -06:00
Joel Dice
3838cd0e68 strip leading slashes from path in JarElement::find()/exists() 2007-09-21 08:15:39 -06:00
Eric Scharff
36f1d3206e The proper extension for Mac JNI libraries is .jnilib. Hard-coded constants
have been factored to common locations.  Furthermore, the LD_LIBRARY_PATH
environment variable is DYLD_LIBRARY_PATH on Mac OS X.
2007-09-20 10:13:41 -06:00
Joel Dice
a688a6f61a use lib%s.dylib to map library names on Darwin 2007-09-19 18:37:25 -06:00
Joel Dice
54cabf9240 align SP to 16 byte boundary on Darwin in cdecl.S 2007-09-19 18:36:35 -06:00
Joel Dice
1d68f87f75 remove unnecessary .type declaration from amd64.S 2007-09-19 18:12:08 -06:00
Joel Dice
a3ef7f2b94 slightly more efficient implementation of pad() 2007-09-19 18:11:19 -06:00
Joel Dice
9de7f39ceb Merge branch 'master' of dice:git/vm 2007-09-19 17:51:26 -06:00
Joel Dice
28f6f29477 eliminate instructions from *.S which restored the stack pointer unnecessarily 2007-09-19 17:29:20 -06:00
Eric Scharff
ebdc192f64 .type call was unnecessary - now removed 2007-09-19 10:35:13 -06:00
Eric Scharff
e5c8cb4e41 Reverted the assembly, since the Mac didn't support this anyway 2007-09-19 10:27:48 -06:00
Eric Scharff
c9332e4615 Mac unsigned argument is different than other platforms 2007-09-19 10:26:08 -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
8b17df5b48 set verbose constants to false in heap.cpp 2007-09-19 08:33:43 -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
b0bb443fa2 fix i2l to preserve signedness 2007-09-17 16:16:17 -06:00
Joel Dice
1f6c2dbbb1 implement Set<Primitive>ArrayRegion() 2007-09-17 16:15:42 -06:00
Joel Dice
8af76b0da6 fix several bugs in Finder involving jar file parsing and extraction 2007-09-17 08:11:41 -06:00
Joel Dice
dc9ae3d269 fix interpretation of stat() return value in System::identify() 2007-09-17 07:16:55 -06:00
Joel Dice
59d26362fa mark zlib return values as UNUSED to fix fast build 2007-09-17 07:16:00 -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
912617c4ff gc safety bugfixes 2007-09-14 18:32:32 -06:00
Joel Dice
223e6bff0f gc protection bugfix 2007-09-14 18:23:32 -06:00
Joel Dice
e76e4ccdf0 protect local object variable in multianewarray 2007-09-14 17:05:06 -06:00
Joel Dice
4ade402f1b bugfixes; SWT ControlExample works on x86_32 2007-09-14 14:35:37 -06:00
Joel Dice
bb520e4ef9 bugfixes 2007-09-13 21:59:39 -06:00
Joel Dice
ce97b6eecb implement i2d and i2f 2007-09-13 19:42:12 -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
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
Joel Dice
a6e79cc417 snapshot 2007-06-19 23:16:43 -06:00
Joel Dice
459acc3419 snapshot 2007-06-19 22:26:36 -06:00
Joel Dice
caac00e5ff start rough sketch of GC code in heap.cpp 2007-06-19 20:28:31 -06:00
Joel Dice
36152603f4 provide bounds checking for array indexing; store bootstrap types in Machine::types 2007-06-18 15:13:21 -06:00
Joel Dice
6756ade3bd update generated type code and fix most link errors 2007-06-18 13:23:44 -06:00
Joel Dice
d595a2fd61 compiles but doesn't link 2007-06-17 22:25:42 -06:00
Joel Dice
1cb866aac1 clean up sketch of parseClass() and friends; etc. 2007-06-17 22:09:02 -06:00
Joel Dice
f99425d944 snapshot 2007-06-17 17:25:58 -06:00
Joel Dice
4493fe824e snapshot 2007-06-17 16:03:27 -06:00
Joel Dice
1301a6a1c8 snapshot 2007-06-16 15:39:05 -06:00
Joel Dice
9e356c1b40 sketch parseClass() 2007-06-15 19:02:24 -06:00
Joel Dice
bb2494be83 use ACQUIRE_RAW instead of ACQUIRE in set(), since it will only block for a bounded interval; rename some Heap methods 2007-06-15 10:00:08 -06:00
Joel Dice
1d02290ed1 add call To ClassFinder::free() in resolveClass() 2007-06-14 20:03:33 -06:00
Joel Dice
1853ea825e change Heap::markTenured() return type to void 2007-06-14 18:51:48 -06:00
Joel Dice
f5cb9b3bf1 implement/update ACQUIRE and ACQUIRE_RAW macros; refine set() implementation 2007-06-14 18:50:55 -06:00
Joel Dice
375715fb72 simplify byteArrayEqual() 2007-06-14 17:56:40 -06:00
Joel Dice
8d7cd5482f resolveClass() sketch 2007-06-14 17:55:06 -06:00
Joel Dice
7904fa40a3 finish sketch of resolveField() and resolveMethod() implementations 2007-06-13 20:41:59 -06:00
Joel Dice
ef48f14839 sketch of resolveField() and resolveMethod() implementations 2007-06-13 20:12:28 -06:00
Joel Dice
5e225c94a3 implement helper methods for invokespecial; add thread type 2007-06-13 08:03:08 -06:00
Joel Dice
8cc54280d9 implement more helper functions; add fields to class, field, and method types 2007-06-11 17:40:24 -06:00
Joel Dice
587fb18685 fix thinko in memset() call 2007-06-08 20:33:26 -06:00
Joel Dice
a29dc10313 implement instanceOf(); add interface type; etc. 2007-06-08 20:29:56 -06:00
Joel Dice
86b7a75977 implement set(); minor tweaks elsewhere 2007-06-08 08:23:04 -06:00
Joel Dice
26bfa24c16 add various bootstrap types; implement more helper functions; add LIKELY() and UNLIKELY() macro invocations where appropriate; add PROTECT() macro 2007-06-07 18:23:12 -06:00
Joel Dice
94338e15a8 implement makeJString(); minor tweaks elsewhere 2007-06-06 18:30:16 -06:00
Joel Dice
48e49f1fa1 more build fixes 2007-06-05 20:24:09 -06:00
Joel Dice
2176c32cee lots of build fixes 2007-06-05 18:41:04 -06:00
Joel Dice
45f5417827 snapshot 2007-06-04 18:28:52 -06:00
Joel Dice
35de3dc128 copy input.h and output.h from mess project 2007-06-04 17:48:35 -06:00
Joel Dice
2d44143944 type-generator now builds 2007-06-04 17:39:59 -06:00
Joel Dice
f35d89cfa4 more type-generator refinements 2007-06-04 08:16:17 -06:00
Joel Dice
e95478650c convert PUSH and POP macros to inline functions 2007-06-04 07:12:22 -06:00
Joel Dice
f354e410c4 frame should have handle to method, not just code 2007-06-03 17:18:05 -06:00
Joel Dice
3ba88c12b0 copy makefile, stdc++.cpp, and type-generator.cpp from mess project
and began customizing them for this project
2007-06-03 17:16:07 -06:00
Joel Dice
4ecf7917cc sketch Machine and Thread classes; refine allocation and thread state transitions 2007-06-02 20:00:23 -06:00
Joel Dice
f6e369c424 add public access specifiers to Heap::Vistor and Heap::Iterator 2007-06-02 19:58:47 -06:00
Joel Dice
d0a6a78022 add system.h for interfacing with system-level features 2007-06-02 19:57:37 -06:00
Joel Dice
253723b5cc add common.h for common includes, macros, etc. 2007-06-02 19:56:57 -06:00
Joel Dice
3a2f478521 add heap.h 2007-06-02 17:36:55 -06:00
Joel Dice
c5ed0cf810 snapshot 2007-06-01 18:06:06 -06:00
Joel Dice
a8ca8c7512 finish sketch of essential instructions 2007-05-30 18:29:07 -06:00
Joel Dice
81c0e507f7 snapshot 2007-05-29 18:08:10 -06:00
Joel Dice
9076e2fbfa snapshot 2007-05-25 08:48:07 -06:00
Joel Dice
9bc6b0db0b snapshot 2007-05-21 18:05:29 -06:00
Joel Dice
9ed7dbb3d5 initial commit 2007-05-21 09:47:44 -06:00