[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