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