Commit Graph

296 Commits

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