[vmkit-commits] [vmkit] r117366 - in /vmkit/trunk: Makefile lib/J3/Compiler/ExceptionsCheck.inc lib/J3/Compiler/ExceptionsDwarf.inc lib/J3/Compiler/JavaJIT.cpp lib/J3/Compiler/JavaJIT.h lib/Makefile

Gael Thomas gael.thomas at lip6.fr
Tue Oct 26 07:55:11 PDT 2010


Author: gthomas
Date: Tue Oct 26 09:55:11 2010
New Revision: 117366

URL: http://llvm.org/viewvc/llvm-project?rev=117366&view=rev
Log:
continue the unification between C++ code and llvm types

Modified:
    vmkit/trunk/Makefile   (contents, props changed)
    vmkit/trunk/lib/J3/Compiler/ExceptionsCheck.inc
    vmkit/trunk/lib/J3/Compiler/ExceptionsDwarf.inc
    vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp
    vmkit/trunk/lib/J3/Compiler/JavaJIT.h
    vmkit/trunk/lib/Makefile   (contents, props changed)

Modified: vmkit/trunk/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile?rev=117366&r1=117365&r2=117366&view=diff
==============================================================================
    (empty)

Propchange: vmkit/trunk/Makefile
------------------------------------------------------------------------------
--- svn:executable (original)
+++ svn:executable (removed)
@@ -1 +0,0 @@
-*

Modified: vmkit/trunk/lib/J3/Compiler/ExceptionsCheck.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/ExceptionsCheck.inc?rev=117366&r1=117365&r2=117366&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/ExceptionsCheck.inc (original)
+++ vmkit/trunk/lib/J3/Compiler/ExceptionsCheck.inc Tue Oct 26 09:55:11 2010
@@ -8,13 +8,7 @@
   res->setDebugLoc(DL);
   
   if (TheCompiler->hasExceptionsEnabled()) {
-    Value* threadId = getCurrentThread(intrinsics->JavaThreadType);
-    Value* geps[2] = { intrinsics->constantZero,
-                       intrinsics->OffsetJavaExceptionInJavaThreadConstant };
-
-    Value* javaExceptionPtr = GetElementPtrInst::Create(threadId, geps,
-                                                        geps + 2, "",
-                                                        currentBlock);
+    Value* javaExceptionPtr = getJavaExceptionPtr(getJavaThreadPtr(getMutatorThreadPtr()));
     
     // Get the Java exception.
     Value* obj = 0;
@@ -67,13 +61,7 @@
   res->setDebugLoc(DL);
   
   if (TheCompiler->hasExceptionsEnabled()) {
-    Value* threadId = getCurrentThread(intrinsics->JavaThreadType);
-    Value* geps[2] = { intrinsics->constantZero,
-                       intrinsics->OffsetJavaExceptionInJavaThreadConstant };
-
-    Value* javaExceptionPtr = GetElementPtrInst::Create(threadId, geps,
-                                                        geps + 2, "",
-                                                        currentBlock);
+    Value* javaExceptionPtr = getJavaExceptionPtr(getJavaThreadPtr(getMutatorThreadPtr()));
     
     // Get the Java exception.
     Value* obj = 0;
@@ -120,13 +108,7 @@
   res->setDebugLoc(DL);
   
   if (TheCompiler->hasExceptionsEnabled()) {
-    Value* threadId = getCurrentThread(intrinsics->JavaThreadType);
-    Value* geps[2] = { intrinsics->constantZero,
-                       intrinsics->OffsetJavaExceptionInJavaThreadConstant };
-
-    Value* javaExceptionPtr = GetElementPtrInst::Create(threadId, geps,
-                                                        geps + 2, "",
-                                                        currentBlock);
+    Value* javaExceptionPtr = getJavaExceptionPtr(getJavaThreadPtr(getMutatorThreadPtr()));
     
     // Get the Java exception.
     Value* obj = 0;
@@ -170,13 +152,7 @@
   res->setDebugLoc(DL);
   
   if (TheCompiler->hasExceptionsEnabled()) {
-    Value* threadId = getCurrentThread(intrinsics->JavaThreadType);
-    Value* geps[2] = { intrinsics->constantZero,
-                       intrinsics->OffsetJavaExceptionInJavaThreadConstant };
-
-    Value* javaExceptionPtr = GetElementPtrInst::Create(threadId, geps,
-                                                        geps + 2, "",
-                                                        currentBlock);
+    Value* javaExceptionPtr = getJavaExceptionPtr(getJavaThreadPtr(getMutatorThreadPtr()));
     
     // Get the Java exception.
     Value* obj = 0;
@@ -234,13 +210,8 @@
 
 void JavaJIT::throwException(Value* obj) {
   JITVerifyNull(obj);
-  Value* threadId = getCurrentThread(intrinsics->JavaThreadType);
-  Value* geps[2] = { intrinsics->constantZero,
-                     intrinsics->OffsetJavaExceptionInJavaThreadConstant };
-
-  Value* javaExceptionPtr = GetElementPtrInst::Create(threadId, geps,
-                                                      geps + 2, "",
-                                                      currentBlock);
+	Value* javaExceptionPtr = getJavaExceptionPtr(getJavaThreadPtr(getMutatorThreadPtr()));
+
   new StoreInst(obj, javaExceptionPtr, currentBlock);
   if (currentExceptionBlock != endExceptionBlock) {
     Instruction* insn = currentExceptionBlock->begin();
@@ -417,10 +388,7 @@
     // catch the exception but resume unwinding.
     JnjvmClassLoader* loader = compilingClass->classLoader;;
     if (loader != loader->bootstrapLoader) {
-      Value* threadId = getCurrentThread(intrinsics->MutatorThreadType);
-      Value* Isolate = GetElementPtrInst::Create(threadId,
-                                                 intrinsics->constantFour, "",
-                                                 currentBlock);
+      Value* Isolate = getVMPtr(getMutatorThread());
      
       Isolate = new LoadInst(Isolate, "", currentBlock);
       Isolate = new BitCastInst(Isolate, intrinsics->ptrPtrType, "", currentBlock);
@@ -490,22 +458,17 @@
     currentBlock = cur->javaHandler;
 
     // First thing in the handler: clear the exception.
-    Value* geps[2] = { intrinsics->constantZero,
-                       intrinsics->OffsetJavaExceptionInJavaThreadConstant };
-    Value* threadId = getCurrentThread(intrinsics->JavaThreadType);
-    Value* javaExceptionPtr = GetElementPtrInst::Create(threadId, geps,
-                                                        geps + 2, "",
-                                                        currentBlock);
+    Value* javaExceptionPtr = getJavaExceptionPtr(getJavaThreadPtr(getMutatorThreadPtr()));
     
     // Clear exceptions.
     new StoreInst(intrinsics->JavaObjectNullConstant, javaExceptionPtr,
                   currentBlock);
 
 #if defined(SERVICE)
-  
+
     // Change the isolate we are currently running, now that we have catched
     // the exception: the exception may have been thrown by another isolate.
-    Value* threadId = 0;
+    Value* mutatorThreadId = 0;
     Value* OldIsolateID = 0;
     Value* IsolateIDPtr = 0;
     Value* OldIsolate = 0;
@@ -513,25 +476,22 @@
     Value* IsolatePtr = 0;
     currentBlock = cur->javaHandler;
     if (loader != loader->bootstrapLoader) {
-      threadId = getCurrentThread(intrinsics->MutatorThreadType);
-     
-      IsolateIDPtr = GetElementPtrInst::Create(threadId, intrinsics->constantThree,
-                                               "", cur->javaHandler);
+      mutatorThreadId = getGetMutatorThreadPtr();
+      IsolateIDPtr = getIsolateIDPtr(mutatorThreadId);
       const Type* realType = PointerType::getUnqual(intrinsics->pointerSizeType);
       IsolateIDPtr = new BitCastInst(IsolateIDPtr, realType, "",
-                                     cur->javaHandler);
-      OldIsolateID = new LoadInst(IsolateIDPtr, "", cur->javaHandler);
+                                     currentBlock);
+      OldIsolateID = new LoadInst(IsolateIDPtr, "", currentBlock);
 
       Value* MyID = ConstantInt::get(intrinsics->pointerSizeType,
                                      loader->getIsolate()->IsolateID);
 
-      new StoreInst(MyID, IsolateIDPtr, cur->javaHandler);
-      IsolatePtr = GetElementPtrInst::Create(threadId, intrinsics->constantFour, "",
-                                             cur->javaHandler);
+      new StoreInst(MyID, IsolateIDPtr, currentBlock);
+      IsolatePtr = getVMPtr(mutatorThreadPtr);
      
-      OldIsolate = new LoadInst(IsolatePtr, "", cur->javaHandler);
+      OldIsolate = new LoadInst(IsolatePtr, "", currentBlock);
       NewIsolate = intrinsics->getIsolate(loader->getIsolate(), currentBlock);
-      new StoreInst(NewIsolate, IsolatePtr, cur->javaHandler);
+      new StoreInst(NewIsolate, IsolatePtr, currentBlock);
 
     }
 #endif

Modified: vmkit/trunk/lib/J3/Compiler/ExceptionsDwarf.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/ExceptionsDwarf.inc?rev=117366&r1=117365&r2=117366&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/ExceptionsDwarf.inc (original)
+++ vmkit/trunk/lib/J3/Compiler/ExceptionsDwarf.inc Tue Oct 26 09:55:11 2010
@@ -390,7 +390,7 @@
     // catch the exception but resume unwinding.
     JnjvmClassLoader* loader = compilingClass->classLoader;;
     if (loader != loader->bootstrapLoader) {
-      Value* Isolate = genGetVMPtr(genGetMutatorThreadPtr());
+      Value* Isolate = getVMPtr(getMutatorThreadPtr());
      
       Isolate = new LoadInst(Isolate, "", currentBlock);
       Isolate = new BitCastInst(Isolate, module->ptrPtrType, "", currentBlock);
@@ -412,8 +412,8 @@
     }
 #endif
    
-		Value* mutatorThreadId = genGetMutatorThreadPtr();
-		Value* javaThreadId = genGetJavaThreadPtr(mutatorThreadId);
+		Value* mutatorThreadId = getMutatorThreadPtr();
+		Value* javaThreadId = getJavaThreadPtr(mutatorThreadId);
     Value* javaExceptionPtr = getGetJavaExceptionPtr(javaThreadId);
     
     // Get the Java exception.
@@ -460,13 +460,13 @@
     
     currentBlock = cur->nativeHandler;
  
-		mutatorThreadId = genGetMutatorThreadPtr();
-		javaThreadId = genGetJavaThreadPtr(mutatorThreadId);
+		mutatorThreadId = getMutatorThreadPtr();
+		javaThreadId = getJavaThreadPtr(mutatorThreadId);
     javaExceptionPtr = getGetJavaExceptionPtr(javaThreadId);
     
     // Get the Java exception.
     Value* exc = new LoadInst(javaExceptionPtr, "", currentBlock);
-    Value* cxxExceptionPtr = genGetCXXExceptionPtr(mutatorThreadId);
+    Value* cxxExceptionPtr = getCXXExceptionPtr(mutatorThreadId);
 
     // Clear exceptions.
     new StoreInst(module->constantPtrNull, cxxExceptionPtr, currentBlock);
@@ -499,7 +499,7 @@
 
 
 #if defined(SERVICE)
-  
+
     // Change the isolate we are currently running, now that we have catched
     // the exception: the exception may have been thrown by another isolate.
     Value* mutatorThreadId = 0;
@@ -510,24 +510,22 @@
     Value* IsolatePtr = 0;
     currentBlock = cur->javaHandler;
     if (loader != loader->bootstrapLoader) {
-      mutatorThreadId = genGetMutatorThreadPtr();
-     
-      IsolateIDPtr = genGetIsolateIDPtr(mutatorThreadId);
-
-      const Type* realType = PointerType::getUnqual(module->pointerSizeType);
+      mutatorThreadId = getGetMutatorThreadPtr();
+      IsolateIDPtr = getIsolateIDPtr(mutatorThreadId);
+      const Type* realType = PointerType::getUnqual(intrinsics->pointerSizeType);
       IsolateIDPtr = new BitCastInst(IsolateIDPtr, realType, "",
-                                     cur->javaHandler);
-      OldIsolateID = new LoadInst(IsolateIDPtr, "", cur->javaHandler);
+                                     currentBlock);
+      OldIsolateID = new LoadInst(IsolateIDPtr, "", currentBlock);
 
-      Value* MyID = ConstantInt::get(module->pointerSizeType,
+      Value* MyID = ConstantInt::get(intrinsics->pointerSizeType,
                                      loader->getIsolate()->IsolateID);
 
-      new StoreInst(MyID, IsolateIDPtr, cur->javaHandler);
-      IsolatePtr = genGetVMPtr(mutatorThreadId);
+      new StoreInst(MyID, IsolateIDPtr, currentBlock);
+      IsolatePtr = getVMPtr(mutatorThreadPtr);
      
-      OldIsolate = new LoadInst(IsolatePtr, "", cur->javaHandler);
-      NewIsolate = module->getIsolate(loader->getIsolate(), currentBlock);
-      new StoreInst(NewIsolate, IsolatePtr, cur->javaHandler);
+      OldIsolate = new LoadInst(IsolatePtr, "", currentBlock);
+      NewIsolate = intrinsics->getIsolate(loader->getIsolate(), currentBlock);
+      new StoreInst(NewIsolate, IsolatePtr, currentBlock);
 
     }
 #endif
@@ -546,7 +544,7 @@
   if (PI == PE) {
     endExceptionBlock->eraseFromParent();
   } else {
-    Value* cxxExceptionPtr = genGetCXXExceptionPtr(genGetMutatorThreadPtr());
+    Value* cxxExceptionPtr = getCXXExceptionPtr(getMutatorThreadPtr());
     Value* cxxException = new LoadInst(cxxExceptionPtr, "", currentBlock);
     llvm::CallInst::Create(module->unwindResume, cxxException, "", currentBlock);
     new UnreachableInst(currentBlock);

Modified: vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp?rev=117366&r1=117365&r2=117366&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp Tue Oct 26 09:55:11 2010
@@ -262,19 +262,7 @@
   }
 }
 
-llvm::Value* JavaJIT::getCurrentThread(const llvm::Type* Ty) {
-  Value* FrameAddr = CallInst::Create(intrinsics->llvm_frameaddress,
-                                     	intrinsics->constantZero, "", currentBlock);
-  Value* threadId = new PtrToIntInst(FrameAddr, intrinsics->pointerSizeType, "",
-                              			 currentBlock);
-  threadId = BinaryOperator::CreateAnd(threadId, intrinsics->constantThreadIDMask,
-                                       "", currentBlock);
-  threadId = new IntToPtrInst(threadId, Ty, "", currentBlock);
-
-  return threadId;
-}
-
-llvm::Value* JavaJIT::genGetMutatorThreadPtr() {
+llvm::Value* JavaJIT::getMutatorThreadPtr() {
   Value* FrameAddr = CallInst::Create(intrinsics->llvm_frameaddress,
                                      	intrinsics->constantZero, "", currentBlock);
   Value* threadId = new PtrToIntInst(FrameAddr, intrinsics->pointerSizeType, "",
@@ -286,11 +274,11 @@
   return threadId;
 }
 
-llvm::Value* JavaJIT::genGetJavaThreadPtr(llvm::Value* mutatorThreadPtr) {
+llvm::Value* JavaJIT::getJavaThreadPtr(llvm::Value* mutatorThreadPtr) {
   return new BitCastInst(mutatorThreadPtr, intrinsics->JavaThreadType, "", currentBlock);
 }
 
-llvm::Value* JavaJIT::genGetIsolateIDPtr(llvm::Value* mutatorThreadPtr) { 
+llvm::Value* JavaJIT::getIsolateIDPtr(llvm::Value* mutatorThreadPtr) { 
 	Value* GEP[3] = { intrinsics->constantZero,
 										intrinsics->OffsetThreadInMutatorThreadConstant,
 										intrinsics->OffsetIsolateIDInThreadConstant };
@@ -298,7 +286,7 @@
 	return GetElementPtrInst::Create(mutatorThreadPtr, GEP, GEP + 3, "", currentBlock);
 }
 
-llvm::Value* JavaJIT::genGetVMPtr(llvm::Value* mutatorThreadPtr) { 
+llvm::Value* JavaJIT::getVMPtr(llvm::Value* mutatorThreadPtr) { 
 	Value* GEP[3] = { intrinsics->constantZero,
 										intrinsics->OffsetThreadInMutatorThreadConstant,
 										intrinsics->OffsetVMInThreadConstant };
@@ -306,7 +294,7 @@
 	return GetElementPtrInst::Create(mutatorThreadPtr, GEP, GEP + 3, "", currentBlock);
 }
 
-llvm::Value* JavaJIT::genGetDoYieldPtr(llvm::Value* mutatorThreadPtr) { 
+llvm::Value* JavaJIT::getDoYieldPtr(llvm::Value* mutatorThreadPtr) { 
 	Value* GEP[3] = { intrinsics->constantZero,
 										intrinsics->OffsetThreadInMutatorThreadConstant,
 										intrinsics->OffsetDoYieldInThreadConstant };
@@ -314,7 +302,7 @@
 	return GetElementPtrInst::Create(mutatorThreadPtr, GEP, GEP + 3, "", currentBlock);
 }
 
-llvm::Value* JavaJIT::genGetCXXExceptionPtr(llvm::Value* mutatorThreadPtr) { 
+llvm::Value* JavaJIT::getCXXExceptionPtr(llvm::Value* mutatorThreadPtr) { 
 	Value* GEP[3] = { intrinsics->constantZero,
 										intrinsics->OffsetThreadInMutatorThreadConstant,
 										intrinsics->OffsetCXXExceptionInThreadConstant };
@@ -322,14 +310,14 @@
 	return GetElementPtrInst::Create(mutatorThreadPtr, GEP, GEP + 3, "", currentBlock);
 }
 
-llvm::Value* JavaJIT::genGetJNIEnvPtr(llvm::Value* javaThreadPtr) { 
+llvm::Value* JavaJIT::getJNIEnvPtr(llvm::Value* javaThreadPtr) { 
 	Value* GEP[2] = { intrinsics->constantZero,
 										intrinsics->OffsetJNIInJavaThreadConstant };
     
 	return GetElementPtrInst::Create(javaThreadPtr, GEP, GEP + 2, "", currentBlock);
 }
 
-llvm::Value* JavaJIT::genGetJavaExceptionPtr(llvm::Value* javaThreadPtr) { 
+llvm::Value* JavaJIT::getJavaExceptionPtr(llvm::Value* javaThreadPtr) { 
 	Value* GEP[2] = { intrinsics->constantZero,
 										intrinsics->OffsetJavaExceptionInJavaThreadConstant };
     
@@ -414,7 +402,7 @@
   std::vector<Value*> nativeArgs;
   
   
-  Value* jniEnv = genGetJNIEnvPtr(genGetJavaThreadPtr(genGetMutatorThreadPtr()));
+  Value* jniEnv = getJNIEnvPtr(getJavaThreadPtr(getMutatorThreadPtr()));
  
   jniEnv = new BitCastInst(jniEnv, intrinsics->ptrType, "", currentBlock);
 
@@ -615,7 +603,7 @@
   lockPtr = new BitCastInst(lockPtr, 
                             PointerType::getUnqual(intrinsics->pointerSizeType),
                             "", currentBlock);
-  Value* threadId = getCurrentThread(intrinsics->MutatorThreadType);
+  Value* threadId = getMutatorThreadPtr();
   threadId = new PtrToIntInst(threadId, intrinsics->pointerSizeType, "",
                               currentBlock);
   Value* newValMask = BinaryOperator::CreateOr(threadId, lock, "",
@@ -663,7 +651,7 @@
   Value* lockedMask = BinaryOperator::CreateAnd(
       lock, NonLockBitsMask, "", currentBlock);
   
-  Value* threadId = getCurrentThread(intrinsics->MutatorThreadType);
+  Value* threadId = getMutatorThreadPtr();
   threadId = new PtrToIntInst(threadId, intrinsics->pointerSizeType, "",
                               currentBlock);
   
@@ -1140,17 +1128,16 @@
 #if defined(SERVICE)
   JnjvmClassLoader* loader = compilingClass->classLoader;
   Value* Cmp = 0;
-  Value* threadId = 0;
+  Value* mutatorThreadId = 0;
   Value* OldIsolateID = 0;
   Value* IsolateIDPtr = 0;
   Value* OldIsolate = 0;
   Value* NewIsolate = 0;
   Value* IsolatePtr = 0;
   if (loader != loader->bootstrapLoader && isPublic(compilingMethod->access)) {
-    threadId = getCurrentThread(intrinsics->MutatorThreadType);
+    mutatorThreadId = getMutatorThreadPtr();
      
-    IsolateIDPtr = GetElementPtrInst::Create(threadId, intrinsics->constantThree,
-                                             "", currentBlock);
+    IsolateIDPtr = getIsolateIDPtr(mutatorThreadPtr);
     const Type* realType = PointerType::getUnqual(intrinsics->pointerSizeType);
     IsolateIDPtr = new BitCastInst(IsolateIDPtr, realType, "",
                                    currentBlock);
@@ -1169,8 +1156,7 @@
     currentBlock = ServiceBB;
   
     new StoreInst(MyID, IsolateIDPtr, currentBlock);
-    IsolatePtr = GetElementPtrInst::Create(threadId, intrinsics->constantFour, "",
-                                           currentBlock);
+    IsolatePtr = getVMPtr(mutatorThreadId);
      
     OldIsolate = new LoadInst(IsolatePtr, "", currentBlock);
     NewIsolate = intrinsics->getIsolate(loader->getIsolate(), currentBlock);
@@ -1219,7 +1205,7 @@
   }
   
   if (TheCompiler->useCooperativeGC()) {
-    Value* YieldPtr = genGetDoYieldPtr(genGetMutatorThreadPtr());
+    Value* YieldPtr = getDoYieldPtr(getMutatorThreadPtr());
 
     Value* Yield = new LoadInst(YieldPtr, "", currentBlock);
 

Modified: vmkit/trunk/lib/J3/Compiler/JavaJIT.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaJIT.h?rev=117366&r1=117365&r2=117366&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaJIT.h (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaJIT.h Tue Oct 26 09:55:11 2010
@@ -151,18 +151,29 @@
   void convertValue(llvm::Value*& val, const llvm::Type* t1,
                     llvm::BasicBlock* currentBlock, bool usign);
  
-  /// getCurrentThread - Emit code to get the current thread.
-  llvm::Value* getCurrentThread(const llvm::Type* Ty);
+  /// getMutatorThreadPtr - Emit code to get a pointer to the current MutatorThread.
+	llvm::Value* getMutatorThreadPtr();
 
-	llvm::Value* genGetMutatorThreadPtr();
-	llvm::Value* genGetIsolateIDPtr(llvm::Value* mutatorThreadPtr);
-	llvm::Value* genGetVMPtr(llvm::Value* mutatorThreadPtr);
-	llvm::Value* genGetDoYieldPtr(llvm::Value* mutatorThreadPtr);
-	llvm::Value* genGetCXXExceptionPtr(llvm::Value* mutatorThreadPtr);
-
-	llvm::Value* genGetJavaThreadPtr(llvm::Value* mutatorThreadPtr);
-	llvm::Value* genGetJNIEnvPtr(llvm::Value* javaThreadPtr);
-	llvm::Value* genGetJavaExceptionPtr(llvm::Value* javaThreadPtr);
+  /// getIsolateIDPtr - Emit code to get a pointer to IsolateID.
+	llvm::Value* getIsolateIDPtr(llvm::Value* mutatorThreadPtr);
+
+  /// getVMPtr - Emit code to get a pointer to MyVM.
+	llvm::Value* getVMPtr(llvm::Value* mutatorThreadPtr);
+
+  /// getDoYieldPtr - Emit code to get a pointer to doYield.
+	llvm::Value* getDoYieldPtr(llvm::Value* mutatorThreadPtr);
+
+  /// getCXXExceptionPtr - Emit code to get a pointer to internalPendingException.
+	llvm::Value* getCXXExceptionPtr(llvm::Value* mutatorThreadPtr);
+
+  /// getJavaThreadPtr - Emit code to get a pointer to the current JavaThread.
+	llvm::Value* getJavaThreadPtr(llvm::Value* mutatorThreadPtr);
+
+  /// getJNIEnvPtr - Emit code to get a pointer to JNIEnv
+	llvm::Value* getJNIEnvPtr(llvm::Value* javaThreadPtr);
+
+  /// getJavaExceptionPtr - Emit code to get a pointer to the Java pending exception
+	llvm::Value* getJavaExceptionPtr(llvm::Value* javaThreadPtr);
 	
 
 //===------------------------- Debugging support --------------------------===//

Modified: vmkit/trunk/lib/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Makefile?rev=117366&r1=117365&r2=117366&view=diff
==============================================================================
    (empty)

Propchange: vmkit/trunk/lib/Makefile
------------------------------------------------------------------------------
--- svn:executable (original)
+++ svn:executable (removed)
@@ -1 +0,0 @@
-*





More information about the vmkit-commits mailing list