[vmkit-commits] [vmkit] r77670 - in /vmkit/trunk: include/jnjvm/JnjvmModule.h lib/JnJVM/Classpath/ClasspathVMRuntime.inc lib/JnJVM/Compiler/JavaJIT.cpp lib/JnJVM/Compiler/JnjvmModule.cpp lib/JnJVM/LLVMRuntime/runtime-default.ll lib/JnJVM/VMCore/JavaRuntimeJIT.cpp lib/JnJVM/VMCore/LinkJavaRuntime.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Fri Jul 31 01:12:24 PDT 2009
Author: geoffray
Date: Fri Jul 31 03:12:19 2009
New Revision: 77670
URL: http://llvm.org/viewvc/llvm-project?rev=77670&view=rev
Log:
Rename jnjvmJniProceedPendingException and jnjvmGetSjljBuffer to
something more accurate of what they're actually doing.
Modified:
vmkit/trunk/include/jnjvm/JnjvmModule.h
vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.inc
vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp
vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp
vmkit/trunk/lib/JnJVM/LLVMRuntime/runtime-default.ll
vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp
vmkit/trunk/lib/JnJVM/VMCore/LinkJavaRuntime.h
Modified: vmkit/trunk/include/jnjvm/JnjvmModule.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/jnjvm/JnjvmModule.h?rev=77670&r1=77669&r2=77670&view=diff
==============================================================================
--- vmkit/trunk/include/jnjvm/JnjvmModule.h (original)
+++ vmkit/trunk/include/jnjvm/JnjvmModule.h Fri Jul 31 03:12:19 2009
@@ -245,14 +245,14 @@
llvm::Function* ArrayObjectTracerFunction;
llvm::Function* RegularObjectTracerFunction;
- llvm::Function* GetSJLJBufferFunction;
+ llvm::Function* StartJNIFunction;
+ llvm::Function* EndJNIFunction;
llvm::Function* InterfaceLookupFunction;
llvm::Function* VirtualFieldLookupFunction;
llvm::Function* StaticFieldLookupFunction;
llvm::Function* PrintExecutionFunction;
llvm::Function* PrintMethodStartFunction;
llvm::Function* PrintMethodEndFunction;
- llvm::Function* JniProceedPendingExceptionFunction;
llvm::Function* InitialiseClassFunction;
llvm::Function* InitialisationCheckFunction;
llvm::Function* ForceInitialisationCheckFunction;
Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.inc?rev=77670&r1=77669&r2=77670&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.inc (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.inc Fri Jul 31 03:12:19 2009
@@ -81,9 +81,9 @@
#endif
typedef int (*onLoad_t)(const void**, void*);
-extern "C" void jnjvmJNIProceedPendingException(uint32** old, void** oldBuf);
-extern "C" void jnjvmGetSJLJBuffer(uint32* num, uint32** old, void* newBuf,
- void** oldBuf);
+extern "C" void jnjvmEndJNI(uint32** old, void** oldBuf);
+extern "C" void jnjvmStartJNI(uint32* num, uint32** old, void* newBuf,
+ void** oldBuf);
// Calls the JNI_OnLoad function of a dynamic library.
void callOnLoad(void* res, JnjvmClassLoader* loader, Jnjvm* vm) {
@@ -95,13 +95,13 @@
uint32* old = 0;
void* oldBuf = 0;
jmp_buf buf;
- jnjvmGetSJLJBuffer(&num, &old, (void*)buf, &oldBuf);
if (setjmp((jumpbuf_t)buf) == 0) {
+ jnjvmStartJNI(&num, &old, (void*)buf, &oldBuf);
onLoad(&vm->javavmEnv, res);
}
- jnjvmJNIProceedPendingException(&old, &oldBuf);
+ jnjvmEndJNI(&old, &oldBuf);
}
}
Modified: vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp?rev=77670&r1=77669&r2=77670&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp Fri Jul 31 03:12:19 2009
@@ -293,11 +293,6 @@
Value* oldCLIN = new AllocaInst(PointerType::getUnqual(Type::Int32Ty), "",
currentBlock);
- Value* Args4[4] = { temp, oldCLIN, newJB, oldJB };
-
- CallInst::Create(module->GetSJLJBufferFunction, Args4, Args4 + 4, "",
- currentBlock);
-
Value* test = CallInst::Create(module->setjmpLLVM, newJB, "",
currentBlock);
@@ -415,6 +410,11 @@
nativeFunc = node;
}
+ Value* Args4[4] = { temp, oldCLIN, newJB, oldJB };
+
+ CallInst::Create(module->StartJNIFunction, Args4, Args4 + 4, "",
+ currentBlock);
+
Value* FrameAddr = CallInst::Create(module->llvm_frameaddress,
module->constantZero, "", currentBlock);
@@ -455,8 +455,7 @@
Value* Args2[2] = { oldCLIN, oldJB };
- CallInst::Create(module->JniProceedPendingExceptionFunction, Args2, Args2 + 2,
- "", currentBlock);
+ CallInst::Create(module->EndJNIFunction, Args2, Args2 + 2, "", currentBlock);
if (returnType != Type::VoidTy)
ReturnInst::Create(endNode, currentBlock);
Modified: vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp?rev=77670&r1=77669&r2=77670&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp Fri Jul 31 03:12:19 2009
@@ -261,9 +261,8 @@
VirtualFieldLookupFunction = module->getFunction("jnjvmVirtualFieldLookup");
StaticFieldLookupFunction = module->getFunction("jnjvmStaticFieldLookup");
StringLookupFunction = module->getFunction("jnjvmStringLookup");
- JniProceedPendingExceptionFunction =
- module->getFunction("jnjvmJNIProceedPendingException");
- GetSJLJBufferFunction = module->getFunction("jnjvmGetSJLJBuffer");
+ StartJNIFunction = module->getFunction("jnjvmStartJNI");
+ EndJNIFunction = module->getFunction("jnjvmEndJNI");
NullPointerExceptionFunction =
module->getFunction("jnjvmNullPointerException");
Modified: vmkit/trunk/lib/JnJVM/LLVMRuntime/runtime-default.ll
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/LLVMRuntime/runtime-default.ll?rev=77670&r1=77669&r2=77670&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/LLVMRuntime/runtime-default.ll (original)
+++ vmkit/trunk/lib/JnJVM/LLVMRuntime/runtime-default.ll Fri Jul 31 03:12:19 2009
@@ -229,8 +229,8 @@
declare void @jnjvmThrowException(%JavaObject*)
declare void @jnjvmThrowExceptionFromJIT()
-declare void @jnjvmJNIProceedPendingException(i32**, i8**)
-declare void @jnjvmGetSJLJBuffer(i32*, i32**, i8*, i8**)
+declare void @jnjvmEndJNI(i32**, i8**)
+declare void @jnjvmStartJNI(i32*, i32**, i8*, i8**)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp?rev=77670&r1=77669&r2=77670&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp Fri Jul 31 03:12:19 2009
@@ -378,7 +378,7 @@
}
// Does not call Java code.
-extern "C" void jnjvmJNIProceedPendingException(uint32** oldLRN, void** oldBuffer) {
+extern "C" void jnjvmEndJNI(uint32** oldLRN, void** oldBuffer) {
JavaThread* th = JavaThread::get();
// We're going back to Java
@@ -400,21 +400,17 @@
}
// Never throws.
-extern "C" void** jnjvmGetSJLJBuffer(uint32* localReferencesNumber,
- uint32** oldLocalReferencesNumber,
- void* newBuffer, void** oldBuffer) {
+extern "C" void** jnjvmStartJNI(uint32* localReferencesNumber,
+ uint32** oldLocalReferencesNumber,
+ void* newBuffer, void** oldBuffer) {
JavaThread* th = JavaThread::get();
*oldBuffer = th->currentSjljBuffer;
th->currentSjljBuffer = newBuffer;
- memset(newBuffer, 0, sizeof(jmp_buf));
-
*oldLocalReferencesNumber = th->currentAddedReferences;
th->currentAddedReferences = localReferencesNumber;
- // Start JNI because the next instruction after setjmp is a call to a
- // JNI function.
th->startJNI(2);
void** val = (void**)th->addresses.back();
Modified: vmkit/trunk/lib/JnJVM/VMCore/LinkJavaRuntime.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/LinkJavaRuntime.h?rev=77670&r1=77669&r2=77670&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/LinkJavaRuntime.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/LinkJavaRuntime.h Fri Jul 31 03:12:19 2009
@@ -37,8 +37,8 @@
extern "C" JavaArray* jnjvmMultiCallNew(UserClassArray* cl, uint32 len, ...);
extern "C" UserClassArray* jnjvmGetArrayClass(UserCommonClass*,
UserClassArray**);
-extern "C" void jnjvmJNIProceedPendingException();
-extern "C" void* jnjvmGetSJLJBuffer();
+extern "C" void jnjvmEndJNI();
+extern "C" void* jnjvmStartJNI();
extern "C" void jnjvmJavaObjectAquire(JavaObject* obj);
extern "C" void jnjvmJavaObjectRelease(JavaObject* obj);
extern "C" void jnjvmThrowException(JavaObject* obj);
@@ -98,8 +98,8 @@
(void) jnjvmRuntimeDelegatee(0);
(void) jnjvmMultiCallNew(0, 0);
(void) jnjvmGetArrayClass(0, 0);
- (void) jnjvmJNIProceedPendingException();
- (void) jnjvmGetSJLJBuffer();
+ (void) jnjvmEndJNI();
+ (void) jnjvmStartJNI();
(void) jnjvmJavaObjectAquire(0);
(void) jnjvmJavaObjectRelease(0);
(void) jnjvmThrowException(0);
More information about the vmkit-commits
mailing list