[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