Commit Graph

1491 Commits

Author SHA1 Message Date
7bb69b1c56 more work on new compiler 2008-02-07 17:24:54 -07:00
4860060bf8 refine sketch of new compiler a bit 2008-02-07 16:47:48 -07:00
52c447f68b early sketch of new compiler 2008-02-07 12:04:18 -07:00
94404b7f89 remove unused major collection interval code 2008-02-02 13:34:29 -07:00
2346714d60 move local reference cleanup from invoke() to invokeNative2(), where it belonged all along 2008-02-01 14:17:54 -07:00
55e3e8871d trigger major GCs more aggressively under low memory conditions 2008-01-31 17:50:38 -07:00
491955af05 fix recent regression in native method lookup on Windows 2008-01-30 17:09:21 -07:00
eeac584474 fix thinko in invokeNative2 2008-01-30 17:08:47 -07:00
34cc390286 fix uninitialized variable warning 2008-01-29 10:02:58 -07:00
d693393293 remove Machine::lastLibrary and rename firstLibrary to libraries 2008-01-29 08:19:15 -07:00
2363d6e8eb Fix debug build for Mac OS X 2008-01-28 16:35:23 -07:00
e5f95ae89d Fix pesky compiler warning on unused variable in linux. 2008-01-28 16:22:16 -07:00
8a8a123e02 Merge branch 'master' of ssh://dice.ecovate.com/~dicej/git/vm 2008-01-28 16:17:28 -07:00
c1f3d28d24 Fixes dynamic symbol loading bug on Mac OS X.
On OS X, when you call dlopen() on a null library, and then call dlsym(),
the most recently loaded symbols are always used, no matter what flags
we seem to pass to dlopen().  The solution is to explicitly find the name
of the running executable, and open that as a library.
2008-01-28 16:17:22 -07:00
098e185ebe fixed compile error, function in vm namespace needed to call function in the anonymous namespace 2008-01-28 13:24:32 -07:00
d68c2e6e2c when looking up native methods, check for both the undecorated and decorated symbol before moving on to the next library 2008-01-28 11:21:09 -07:00
008ac07079 refactor native method resolution to be simpler and more robust 2008-01-28 10:27:02 -07:00
de6a1ded92 ensure that we populate the interface vtables of a class which does not declare any new virtual methods but does implement new interfaces relative to its superclass 2008-01-28 08:12:06 -07:00
941ca81e79 fix build breakage in windows.cpp 2008-01-25 17:48:03 -07:00
8150b957c9 support JIT compiling methods with unsorted exception handler tables 2008-01-25 17:17:27 -07:00
e403a625d1 second try to fix library symbol lookup 2008-01-25 16:38:26 -07:00
4ea8b0a1fe Merge branch 'master' of dice:git/vm 2008-01-25 16:25:37 -07:00
35ada0ea65 search libraries for symbols in the order they are loaded 2008-01-25 16:25:30 -07:00
6bca3a8665 additional tweaks to make embedded resources work on darwin 2008-01-23 10:12:56 -07:00
618684de6e support embedded resources on darwin via binaryToMacho.cpp 2008-01-23 09:56:25 -07:00
73ba3fcef7 fix build breakage in stress mode 2008-01-23 09:55:29 -07:00
125fe3440e allow java.lang.Object with no virtual methods, which may occur due to code shrinking 2008-01-21 16:42:12 -07:00
c9714c73f2 fix frame map calculations involving exception handlers 2008-01-20 16:03:28 -07:00
422133d1ba initialize vtables with pointers to JIT function, including native methods, since this allows code shrinkers to eliminate unused methods without confusing the VM 2008-01-20 15:05:59 -07:00
a69c366d07 save 'this' pointer on entrance to synchronized, non-static, non-native methods so we can release the monitor on exit, reguardless of whether the pointer at local index zero is overwritten 2008-01-20 11:55:08 -07:00
e9826b2d7f accept foo.bar.Baz as well as foo/bar/Baz in FindClass 2008-01-19 13:30:11 -07:00
ee60d48cfe fix subtle bug in hashMapInsert which caused us to update the old array previously associated with the hash map, whereas a GC causes the table to be resized when a weak reference is removed and thus a new array used 2008-01-19 13:12:16 -07:00
d97fab6036 comment out some debugging log messages 2008-01-18 18:49:30 -07:00
35160e46d8 don't include embedded boot classpath in libvm.a, only the executable 2008-01-18 17:54:36 -07:00
88a8e74a53 fix register to memory mov1 implementation 2008-01-18 15:01:50 -07:00
e2fc8a62c7 permit state transitions from idle to exclusive 2008-01-17 18:47:32 -07:00
090cd8a209 re-enter active state before throwing exception in wait() 2008-01-17 18:32:07 -07:00
9ad00d0ea3 remove unused function and add some thread state assertions 2008-01-17 18:27:44 -07:00
7252fdcbf3 enter active state immediately upon entry to Release*ArrayElements 2008-01-17 18:26:46 -07:00
81dde8bdbb fix thinko in CallLongMethodV 2008-01-17 17:56:55 -07:00
9a13df3024 fix marshalling return values when calling java methods from native code 2008-01-17 12:55:05 -07:00
7a7c36f8e0 another attempt to whip Monitor::wait into shape 2008-01-16 15:17:28 -07:00
bb85f5c94d fix wait/notify regression introduced in last commit 2008-01-16 14:58:27 -07:00
6ba7852a62 tweak System::Monitor::wait to avoid notify deadlock 2008-01-16 13:46:39 -07:00
f5f7b01689 remove extern "C" modifier from vmPrintTrace definition 2008-01-16 10:48:14 -07:00
4571e75f7a add vmPrintTrace function which can print a Java stack trace without allocating memory 2008-01-16 10:30:12 -07:00
86bdd48a66 when invoking Java methods from native code on 32-bit systems, push 32-bit halves of 64-bit values in reverse order since they are reversed again when pushed on the stack 2008-01-15 18:01:11 -07:00
d1b4dfccd0 fix class cast exception message thinko 2008-01-15 16:33:20 -07:00
37b33457c1 Merge branch 'master' of dice:git/vm 2008-01-14 16:37:41 -07:00
2f83468b80 remove context argument from Allocator::tryAllocate and Allocator::allocate, since we aren't using it after all 2008-01-14 16:37:24 -07:00