[vmkit-commits] [vmkit] r96102 - in /vmkit/trunk/lib/J3: Classpath/ClasspathVMRuntime.inc VMCore/JavaRuntimeJIT.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sat Feb 13 09:45:01 PST 2010
Author: geoffray
Date: Sat Feb 13 11:45:00 2010
New Revision: 96102
URL: http://llvm.org/viewvc/llvm-project?rev=96102&view=rev
Log:
Fix calls to startJNI and endJNI from Classpath.
Modified:
vmkit/trunk/lib/J3/Classpath/ClasspathVMRuntime.inc
vmkit/trunk/lib/J3/VMCore/JavaRuntimeJIT.cpp
Modified: vmkit/trunk/lib/J3/Classpath/ClasspathVMRuntime.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Classpath/ClasspathVMRuntime.inc?rev=96102&r1=96101&r2=96102&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Classpath/ClasspathVMRuntime.inc (original)
+++ vmkit/trunk/lib/J3/Classpath/ClasspathVMRuntime.inc Sat Feb 13 11:45:00 2010
@@ -81,9 +81,8 @@
#endif
typedef int (*onLoad_t)(const void**, void*);
-extern "C" void j3EndJNI(uint32** old, void** oldBuf);
-extern "C" void j3StartJNI(uint32* num, uint32** old, void* newBuf,
- void** oldBuf, mvm::KnownFrame* Frame);
+extern "C" void j3EndJNI(uint32** old);
+extern "C" void j3StartJNI(uint32* num, uint32** old, mvm::KnownFrame* Frame);
extern "C" void callOnLoad(void* res, JnjvmClassLoader* loader, Jnjvm* vm)
__attribute__ ((noinline));
@@ -96,18 +95,11 @@
if (onLoad) {
uint32 num = 0;
uint32* old = 0;
- void* oldBuf = 0;
mvm::KnownFrame Frame;
- jmp_buf buf;
- if (setjmp(buf) == 0) {
- // Push an unmeaningful value in the addresses field to let the
- // stack consistent with Java frames/native frames.
- j3StartJNI(&num, &old, (void*)&buf, &oldBuf, &Frame);
- onLoad(&vm->javavmEnv, res);
- }
-
- j3EndJNI(&old, &oldBuf);
+ j3StartJNI(&num, &old, &Frame);
+ onLoad(&vm->javavmEnv, res);
+ j3EndJNI(&old);
}
}
Modified: vmkit/trunk/lib/J3/VMCore/JavaRuntimeJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaRuntimeJIT.cpp?rev=96102&r1=96101&r2=96102&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaRuntimeJIT.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaRuntimeJIT.cpp Sat Feb 13 11:45:00 2010
@@ -340,8 +340,8 @@
}
extern "C" void* j3StartJNI(uint32* localReferencesNumber,
- uint32** oldLocalReferencesNumber,
- mvm::KnownFrame* Frame)
+ uint32** oldLocalReferencesNumber,
+ mvm::KnownFrame* Frame)
__attribute__((noinline));
// Never throws. Does not call Java code. Can not yied a GC.
More information about the vmkit-commits
mailing list