[vmkit-commits] [vmkit] r180286 - Undo erroneous changes

Peter Senna Tschudin peter.senna at gmail.com
Thu Apr 25 09:49:08 PDT 2013


Author: peter.senna
Date: Thu Apr 25 11:47:36 2013
New Revision: 180286

URL: http://llvm.org/viewvc/llvm-project?rev=180286&view=rev
Log:
Undo erroneous changes
(cherry picked from commit 711c66b795a6fc464e4c8d6a3a361ac3d8c7cfeb)

Modified:
    vmkit/trunk/include/j3/J3Intrinsics.h
    vmkit/trunk/lib/j3/Compiler/J3Intrinsics.cpp
    vmkit/trunk/lib/j3/Compiler/JavaJITOpcodes.cpp
    vmkit/trunk/lib/j3/Compiler/LowerConstantCalls.cpp

Modified: vmkit/trunk/include/j3/J3Intrinsics.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/j3/J3Intrinsics.h?rev=180286&r1=180285&r2=180286&view=diff
==============================================================================
--- vmkit/trunk/include/j3/J3Intrinsics.h (original)
+++ vmkit/trunk/include/j3/J3Intrinsics.h Thu Apr 25 11:47:36 2013
@@ -103,8 +103,8 @@ public:
   llvm::Function* GetFinalFloatFieldFunction;
   llvm::Function* GetFinalDoubleFieldFunction;
   
+  llvm::Constant* JavaArraySizeOffsetConstant;
   llvm::Constant* JavaArrayElementsOffsetConstant;
-  llvm::Constant* HeaderArraySizeOffsetConstant;
   llvm::Constant* HeaderObjectLockOffsetConstant;
   llvm::Constant* JavaObjectVTOffsetConstant;
 

Modified: vmkit/trunk/lib/j3/Compiler/J3Intrinsics.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/J3Intrinsics.cpp?rev=180286&r1=180285&r2=180286&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/J3Intrinsics.cpp (original)
+++ vmkit/trunk/lib/j3/Compiler/J3Intrinsics.cpp Thu Apr 25 11:47:36 2013
@@ -116,9 +116,8 @@ void J3Intrinsics::init(llvm::Module* mo
   
   
 
-  JavaArrayElementsOffsetConstant = constantOne;
-  //JavaArraySizeOffsetConstant = constantOne;
-  HeaderArraySizeOffsetConstant = constantZero;
+  JavaArrayElementsOffsetConstant = constantTwo;
+  JavaArraySizeOffsetConstant = constantOne;
 
   //  JavaObjectLockOffsetConstant = constantOne;
   HeaderObjectLockOffsetConstant = constantZero;
@@ -256,3 +255,4 @@ void J3Intrinsics::init(llvm::Module* mo
   OffsetHandlerIsolateIDInExceptionBufferConstant = constantOne;
   OffsetSetJmpBufferInExceptionBufferConstant = constantThree;
 }
+

Modified: vmkit/trunk/lib/j3/Compiler/JavaJITOpcodes.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/JavaJITOpcodes.cpp?rev=180286&r1=180285&r2=180286&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/JavaJITOpcodes.cpp (original)
+++ vmkit/trunk/lib/j3/Compiler/JavaJITOpcodes.cpp Thu Apr 25 11:47:36 2013
@@ -2164,12 +2164,16 @@ void JavaJIT::compileOpcodes(Reader& rea
         TheVT = new BitCastInst(TheVT, intrinsics->ptrType, "", currentBlock);
         Instruction* res = invoke(intrinsics->AllocateFunction, size, TheVT, "",
                                   currentBlock);
+        Value* cast = new BitCastInst(res, intrinsics->JavaArrayType, "",
+                                      currentBlock);
 
-
-        Value* header = objectToHeader(res);
         // Set the size
+        Value* gep4[2] = { intrinsics->constantZero,
+                           intrinsics->JavaArraySizeOffsetConstant };
+        Value* GEP = GetElementPtrInst::Create(cast, gep4, "", currentBlock);
+
         arg1 = new IntToPtrInst(arg1, intrinsics->ptrType, "", currentBlock);
-        new StoreInst(arg1, header, currentBlock);
+        new StoreInst(arg1, GEP, currentBlock);
        
         addHighLevelType(res, dcl ? dcl : upcalls->ArrayOfObject);
         res = new BitCastInst(res, intrinsics->JavaObjectType, "", currentBlock);

Modified: vmkit/trunk/lib/j3/Compiler/LowerConstantCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/LowerConstantCalls.cpp?rev=180286&r1=180285&r2=180286&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/LowerConstantCalls.cpp (original)
+++ vmkit/trunk/lib/j3/Compiler/LowerConstantCalls.cpp Thu Apr 25 11:47:36 2013
@@ -133,7 +133,7 @@ bool LowerConstantCalls::runOnFunction(F
           Value* val = Call.getArgument(0); // get the array
           Value* array = new BitCastInst(val, intrinsics->JavaArrayType,
                                          "", CI);
-          Value* args[2] = { intrinsics->constantZero, 
+          Value* args[2] = { intrinsics->constantZero,
                              intrinsics->JavaArraySizeOffsetConstant };
           Value* ptr = GetElementPtrInst::Create(array, args, "", CI);
           Value* load = new LoadInst(ptr, "", CI);





More information about the vmkit-commits mailing list