[vmkit-commits] [vmkit] r86482 - in /vmkit/trunk: include/jnjvm/JnjvmModule.h include/mvm/JIT.h lib/JnJVM/Compiler/JavaJIT.cpp lib/JnJVM/Compiler/JavaJITOpcodes.cpp lib/JnJVM/Compiler/JnjvmModule.cpp lib/JnJVM/Compiler/LowerConstantCalls.cpp lib/JnJVM/LLVMRuntime/runtime-default.ll lib/Mvm/Compiler/JIT.cpp lib/Mvm/Compiler/LLVMRuntime.ll

Nicolas Geoffray nicolas.geoffray at lip6.fr
Sun Nov 8 13:19:06 PST 2009


Author: geoffray
Date: Sun Nov  8 15:19:06 2009
New Revision: 86482

URL: http://llvm.org/viewvc/llvm-project?rev=86482&view=rev
Log:
Move the gcmalloc function to VMKit, not J3.


Modified:
    vmkit/trunk/include/jnjvm/JnjvmModule.h
    vmkit/trunk/include/mvm/JIT.h
    vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp
    vmkit/trunk/lib/JnJVM/Compiler/JavaJITOpcodes.cpp
    vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp
    vmkit/trunk/lib/JnJVM/Compiler/LowerConstantCalls.cpp
    vmkit/trunk/lib/JnJVM/LLVMRuntime/runtime-default.ll
    vmkit/trunk/lib/Mvm/Compiler/JIT.cpp
    vmkit/trunk/lib/Mvm/Compiler/LLVMRuntime.ll

Modified: vmkit/trunk/include/jnjvm/JnjvmModule.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/jnjvm/JnjvmModule.h?rev=86482&r1=86481&r2=86482&view=diff

==============================================================================
--- vmkit/trunk/include/jnjvm/JnjvmModule.h (original)
+++ vmkit/trunk/include/jnjvm/JnjvmModule.h Sun Nov  8 15:19:06 2009
@@ -301,7 +301,6 @@
   llvm::Function* ArrayLengthFunction;
   llvm::Function* GetVTFunction;
   llvm::Function* GetClassFunction;
-  llvm::Function* JavaObjectAllocateFunction;
   llvm::Function* GetVTFromClassFunction;
   llvm::Function* GetVTFromClassArrayFunction;
   llvm::Function* GetVTFromCommonClassFunction;

Modified: vmkit/trunk/include/mvm/JIT.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/mvm/JIT.h?rev=86482&r1=86481&r2=86482&view=diff

==============================================================================
--- vmkit/trunk/include/mvm/JIT.h (original)
+++ vmkit/trunk/include/mvm/JIT.h Sun Nov  8 15:19:06 2009
@@ -123,6 +123,7 @@
 
   llvm::Function* conditionalSafePoint;
   llvm::Function* unconditionalSafePoint;
+  llvm::Function* AllocateFunction;
 
    llvm::Constant* constantInt8Zero;
    llvm::Constant* constantZero;

Modified: vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp?rev=86482&r1=86481&r2=86482&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp Sun Nov  8 15:19:06 2009
@@ -1870,9 +1870,10 @@
                             "", currentBlock);
   }
   
-  Value* val = invoke(module->JavaObjectAllocateFunction, Size, VT, "",
+  Value* val = invoke(module->AllocateFunction, Size, VT, "",
                       currentBlock);
-  
+ 
+  val = new BitCastInst(val, module->JavaObjectType, "", currentBlock);
   push(val, false);
 }
 

Modified: vmkit/trunk/lib/JnJVM/Compiler/JavaJITOpcodes.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JavaJITOpcodes.cpp?rev=86482&r1=86481&r2=86482&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JavaJITOpcodes.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JavaJITOpcodes.cpp Sun Nov  8 15:19:06 2009
@@ -2023,7 +2023,7 @@
         Value* size =
           BinaryOperator::CreateAdd(module->JavaArraySizeConstant, mult,
                                     "", currentBlock);
-        Value* res = invoke(module->JavaObjectAllocateFunction, size, TheVT, "",
+        Value* res = invoke(module->AllocateFunction, size, TheVT, "",
                             currentBlock);
         Value* cast = new BitCastInst(res, module->JavaArrayType, "",
                                       currentBlock);
@@ -2036,7 +2036,8 @@
         
         arg1 = new IntToPtrInst(arg1, module->ptrType, "", currentBlock);
         new StoreInst(arg1, GEP, currentBlock);
-        
+       
+        res = new BitCastInst(res, module->JavaObjectType, "", currentBlock);
         push(res, false);
 
         break;

Modified: vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp?rev=86482&r1=86481&r2=86482&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp Sun Nov  8 15:19:06 2009
@@ -293,8 +293,6 @@
   ArrayStoreExceptionFunction = module->getFunction("jnjvmArrayStoreException");
   ArithmeticExceptionFunction = module->getFunction("jnjvmArithmeticException");
 
-  JavaObjectAllocateFunction = module->getFunction("gcmalloc");
-
   PrintExecutionFunction = module->getFunction("jnjvmPrintExecution");
   PrintMethodStartFunction = module->getFunction("jnjvmPrintMethodStart");
   PrintMethodEndFunction = module->getFunction("jnjvmPrintMethodEnd");

Modified: vmkit/trunk/lib/JnJVM/Compiler/LowerConstantCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/LowerConstantCalls.cpp?rev=86482&r1=86481&r2=86482&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/LowerConstantCalls.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/LowerConstantCalls.cpp Sun Nov  8 15:19:06 2009
@@ -146,7 +146,7 @@
           
           CallSite Ca = CallSite::get(Arg);
           Instruction* CI = Ca.getInstruction();
-          if (CI && Ca.getCalledValue() == module->JavaObjectAllocateFunction) {
+          if (CI && Ca.getCalledValue() == module->AllocateFunction) {
             Changed = true;
             Cmp->replaceAllUsesWith(ConstantInt::getFalse(*Context));
             Cmp->eraseFromParent();

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=86482&r1=86481&r2=86482&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/LLVMRuntime/runtime-default.ll (original)
+++ vmkit/trunk/lib/JnJVM/LLVMRuntime/runtime-default.ll Sun Nov  8 15:19:06 2009
@@ -224,11 +224,3 @@
 declare void @jnjvmPrintExecution(i32, i32, %JavaMethod*)
 declare void @jnjvmPrintMethodStart(%JavaMethod*)
 declare void @jnjvmPrintMethodEnd(%JavaMethod*)
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; GC methods ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-
-declare %JavaObject* @gcmalloc(i32, %VT*)

Modified: vmkit/trunk/lib/Mvm/Compiler/JIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Compiler/JIT.cpp?rev=86482&r1=86481&r2=86482&view=diff

==============================================================================
--- vmkit/trunk/lib/Mvm/Compiler/JIT.cpp (original)
+++ vmkit/trunk/lib/Mvm/Compiler/JIT.cpp Sun Nov  8 15:19:06 2009
@@ -425,6 +425,7 @@
 
   unconditionalSafePoint = module->getFunction("unconditionalSafePoint");
   conditionalSafePoint = module->getFunction("conditionalSafePoint");
+  AllocateFunction = module->getFunction("gcmalloc");
 }
 
 

Modified: vmkit/trunk/lib/Mvm/Compiler/LLVMRuntime.ll
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Compiler/LLVMRuntime.ll?rev=86482&r1=86481&r2=86482&view=diff

==============================================================================
--- vmkit/trunk/lib/Mvm/Compiler/LLVMRuntime.ll (original)
+++ vmkit/trunk/lib/Mvm/Compiler/LLVMRuntime.ll Sun Nov  8 15:19:06 2009
@@ -82,3 +82,4 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 declare void @llvm.gcroot(i8**, i8*)
+declare i8* @gcmalloc(i32, %VT*)





More information about the vmkit-commits mailing list