[vmkit-commits] [vmkit] r76461 - in /vmkit/trunk: include/jnjvm/JnjvmModule.h include/mvm/JIT.h lib/JnJVM/Compiler/JITInfo.cpp lib/JnJVM/Compiler/JavaAOTCompiler.cpp lib/JnJVM/Compiler/JnjvmModule.cpp lib/JnJVM/Compiler/LowerConstantCalls.cpp lib/Mvm/Compiler/JIT.cpp lib/N3/VMCore/CLIJit.cpp lib/N3/VMCore/CLIJitMeta.cpp lib/N3/VMCore/LowerArrayLength.cpp lib/N3/VMCore/VMClass.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Mon Jul 20 13:25:05 PDT 2009
Author: geoffray
Date: Mon Jul 20 15:25:05 2009
New Revision: 76461
URL: http://llvm.org/viewvc/llvm-project?rev=76461&view=rev
Log:
Make constants instance fields instead of static fields.
Modified:
vmkit/trunk/include/jnjvm/JnjvmModule.h
vmkit/trunk/include/mvm/JIT.h
vmkit/trunk/lib/JnJVM/Compiler/JITInfo.cpp
vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp
vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp
vmkit/trunk/lib/JnJVM/Compiler/LowerConstantCalls.cpp
vmkit/trunk/lib/Mvm/Compiler/JIT.cpp
vmkit/trunk/lib/N3/VMCore/CLIJit.cpp
vmkit/trunk/lib/N3/VMCore/CLIJitMeta.cpp
vmkit/trunk/lib/N3/VMCore/LowerArrayLength.cpp
vmkit/trunk/lib/N3/VMCore/VMClass.cpp
Modified: vmkit/trunk/include/jnjvm/JnjvmModule.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/jnjvm/JnjvmModule.h?rev=76461&r1=76460&r2=76461&view=diff
==============================================================================
--- vmkit/trunk/include/jnjvm/JnjvmModule.h (original)
+++ vmkit/trunk/include/jnjvm/JnjvmModule.h Mon Jul 20 15:25:05 2009
@@ -206,10 +206,6 @@
class JnjvmModule : public mvm::MvmModule {
public:
- static llvm::Constant* JavaArraySizeOffsetConstant;
- static llvm::Constant* JavaArrayElementsOffsetConstant;
- static llvm::Constant* JavaObjectLockOffsetConstant;
- static llvm::Constant* JavaObjectVTOffsetConstant;
static const llvm::Type* JavaArrayUInt8Type;
static const llvm::Type* JavaArraySInt8Type;
@@ -317,27 +313,32 @@
llvm::Function* GetFinalFloatFieldFunction;
llvm::Function* GetFinalDoubleFieldFunction;
llvm::Function* GetFinalObjectFieldFunction;
-
- static llvm::Constant* OffsetObjectSizeInClassConstant;
- static llvm::Constant* OffsetVTInClassConstant;
- static llvm::Constant* OffsetTaskClassMirrorInClassConstant;
- static llvm::Constant* OffsetStaticInstanceInTaskClassMirrorConstant;
- static llvm::Constant* OffsetInitializedInTaskClassMirrorConstant;
- static llvm::Constant* OffsetStatusInTaskClassMirrorConstant;
-
- static llvm::Constant* OffsetJavaExceptionInThreadConstant;
- static llvm::Constant* OffsetCXXExceptionInThreadConstant;
-
- static llvm::Constant* OffsetClassInVTConstant;
- static llvm::Constant* OffsetDepthInVTConstant;
- static llvm::Constant* OffsetDisplayInVTConstant;
- static llvm::Constant* OffsetBaseClassVTInVTConstant;
-
- static llvm::Constant* ClassReadyConstant;
-
- static llvm::Constant* JavaObjectNullConstant;
- static llvm::Constant* MaxArraySizeConstant;
- static llvm::Constant* JavaArraySizeConstant;
+
+ llvm::Constant* JavaArraySizeOffsetConstant;
+ llvm::Constant* JavaArrayElementsOffsetConstant;
+ llvm::Constant* JavaObjectLockOffsetConstant;
+ llvm::Constant* JavaObjectVTOffsetConstant;
+
+ llvm::Constant* OffsetObjectSizeInClassConstant;
+ llvm::Constant* OffsetVTInClassConstant;
+ llvm::Constant* OffsetTaskClassMirrorInClassConstant;
+ llvm::Constant* OffsetStaticInstanceInTaskClassMirrorConstant;
+ llvm::Constant* OffsetInitializedInTaskClassMirrorConstant;
+ llvm::Constant* OffsetStatusInTaskClassMirrorConstant;
+
+ llvm::Constant* OffsetJavaExceptionInThreadConstant;
+ llvm::Constant* OffsetCXXExceptionInThreadConstant;
+
+ llvm::Constant* OffsetClassInVTConstant;
+ llvm::Constant* OffsetDepthInVTConstant;
+ llvm::Constant* OffsetDisplayInVTConstant;
+ llvm::Constant* OffsetBaseClassVTInVTConstant;
+
+ llvm::Constant* ClassReadyConstant;
+
+ llvm::Constant* JavaObjectNullConstant;
+ llvm::Constant* MaxArraySizeConstant;
+ llvm::Constant* JavaArraySizeConstant;
llvm::Function* ThrowExceptionFunction;
llvm::Function* NullPointerExceptionFunction;
Modified: vmkit/trunk/include/mvm/JIT.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/mvm/JIT.h?rev=76461&r1=76460&r2=76461&view=diff
==============================================================================
--- vmkit/trunk/include/mvm/JIT.h (original)
+++ vmkit/trunk/include/mvm/JIT.h Mon Jul 20 15:25:05 2009
@@ -115,80 +115,79 @@
llvm::Function* llvm_atomic_lcs_ptr;
- static llvm::Constant* constantInt8Zero;
- static llvm::Constant* constantZero;
- static llvm::Constant* constantOne;
- static llvm::Constant* constantTwo;
- static llvm::Constant* constantThree;
- static llvm::Constant* constantFour;
- static llvm::Constant* constantFive;
- static llvm::Constant* constantSix;
- static llvm::Constant* constantSeven;
- static llvm::Constant* constantEight;
- static llvm::Constant* constantMinusOne;
- static llvm::Constant* constantLongMinusOne;
- static llvm::Constant* constantLongZero;
- static llvm::Constant* constantLongOne;
- static llvm::Constant* constantMinInt;
- static llvm::Constant* constantMaxInt;
- static llvm::Constant* constantMinLong;
- static llvm::Constant* constantMaxLong;
- static llvm::Constant* constantFloatZero;
- static llvm::Constant* constantFloatOne;
- static llvm::Constant* constantFloatTwo;
- static llvm::Constant* constantDoubleZero;
- static llvm::Constant* constantDoubleOne;
- static llvm::Constant* constantMaxIntFloat;
- static llvm::Constant* constantMinIntFloat;
- static llvm::Constant* constantMinLongFloat;
- static llvm::Constant* constantMinLongDouble;
- static llvm::Constant* constantMaxLongFloat;
- static llvm::Constant* constantMaxIntDouble;
- static llvm::Constant* constantMinIntDouble;
- static llvm::Constant* constantMaxLongDouble;
- static llvm::Constant* constantDoubleInfinity;
- static llvm::Constant* constantDoubleMinusInfinity;
- static llvm::Constant* constantFloatInfinity;
- static llvm::Constant* constantFloatMinusInfinity;
- static llvm::Constant* constantFloatMinusZero;
- static llvm::Constant* constantDoubleMinusZero;
- static llvm::Constant* constantPtrNull;
- static llvm::Constant* constantPtrLogSize;
- static llvm::Constant* constantThreadIDMask;
- static llvm::Constant* constantStackOverflowMask;
- static llvm::Constant* constantFatMask;
- static llvm::Constant* constantPtrOne;
- static llvm::Constant* constantPtrZero;
- static const llvm::PointerType* ptrType;
- static const llvm::PointerType* ptr32Type;
- static const llvm::PointerType* ptrPtrType;
- static const llvm::Type* arrayPtrType;
- static const llvm::Type* pointerSizeType;
-
- static llvm::ExecutionEngine* executionEngine;
- static mvm::LockNormal protectEngine;
- static llvm::Module *globalModule;
- static llvm::LLVMContext *globalContext;
- static llvm::ExistingModuleProvider *globalModuleProvider;
- static llvm::FunctionPassManager* globalFunctionPasses;
- static const llvm::TargetData* TheTargetData;
+ llvm::Constant* constantInt8Zero;
+ llvm::Constant* constantZero;
+ llvm::Constant* constantOne;
+ llvm::Constant* constantTwo;
+ llvm::Constant* constantThree;
+ llvm::Constant* constantFour;
+ llvm::Constant* constantFive;
+ llvm::Constant* constantSix;
+ llvm::Constant* constantSeven;
+ llvm::Constant* constantEight;
+ llvm::Constant* constantMinusOne;
+ llvm::Constant* constantLongMinusOne;
+ llvm::Constant* constantLongZero;
+ llvm::Constant* constantLongOne;
+ llvm::Constant* constantMinInt;
+ llvm::Constant* constantMaxInt;
+ llvm::Constant* constantMinLong;
+ llvm::Constant* constantMaxLong;
+ llvm::Constant* constantFloatZero;
+ llvm::Constant* constantFloatOne;
+ llvm::Constant* constantFloatTwo;
+ llvm::Constant* constantDoubleZero;
+ llvm::Constant* constantDoubleOne;
+ llvm::Constant* constantMaxIntFloat;
+ llvm::Constant* constantMinIntFloat;
+ llvm::Constant* constantMinLongFloat;
+ llvm::Constant* constantMinLongDouble;
+ llvm::Constant* constantMaxLongFloat;
+ llvm::Constant* constantMaxIntDouble;
+ llvm::Constant* constantMinIntDouble;
+ llvm::Constant* constantMaxLongDouble;
+ llvm::Constant* constantDoubleInfinity;
+ llvm::Constant* constantDoubleMinusInfinity;
+ llvm::Constant* constantFloatInfinity;
+ llvm::Constant* constantFloatMinusInfinity;
+ llvm::Constant* constantFloatMinusZero;
+ llvm::Constant* constantDoubleMinusZero;
+ llvm::Constant* constantPtrNull;
+ llvm::Constant* constantPtrLogSize;
+ llvm::Constant* constantThreadIDMask;
+ llvm::Constant* constantStackOverflowMask;
+ llvm::Constant* constantFatMask;
+ llvm::Constant* constantPtrOne;
+ llvm::Constant* constantPtrZero;
+ static const llvm::PointerType* ptrType;
+ static const llvm::PointerType* ptr32Type;
+ static const llvm::PointerType* ptrPtrType;
+ static const llvm::Type* arrayPtrType;
+ static const llvm::Type* pointerSizeType;
+
+ static llvm::ExecutionEngine* executionEngine;
+ static mvm::LockNormal protectEngine;
+ static llvm::Module *globalModule;
+ static llvm::ExistingModuleProvider *globalModuleProvider;
+ static llvm::FunctionPassManager* globalFunctionPasses;
+ static const llvm::TargetData* TheTargetData;
- static uint64 getTypeSize(const llvm::Type* type);
- static void runPasses(llvm::Function* func, llvm::FunctionPassManager*);
- static void initialise(llvm::CodeGenOpt::Level = llvm::CodeGenOpt::Default,
+ static uint64 getTypeSize(const llvm::Type* type);
+ static void runPasses(llvm::Function* func, llvm::FunctionPassManager*);
+ static void initialise(llvm::CodeGenOpt::Level = llvm::CodeGenOpt::Default,
llvm::Module* TheModule = 0,
llvm::TargetMachine* TheTarget = 0);
- static int disassemble(unsigned int* addr);
+ static int disassemble(unsigned int* addr);
- static void protectIR();
- static void unprotectIR();
+ static void protectIR();
+ static void unprotectIR();
- static void copyDefinitions(llvm::Module* Dst, llvm::Module* Src);
+ static void copyDefinitions(llvm::Module* Dst, llvm::Module* Src);
- static void AddStandardCompilePasses();
+ static void AddStandardCompilePasses();
- static const char* getHostTriple();
+ static const char* getHostTriple();
};
} // end namespace mvm
Modified: vmkit/trunk/lib/JnJVM/Compiler/JITInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JITInfo.cpp?rev=76461&r1=76460&r2=76461&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JITInfo.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JITInfo.cpp Mon Jul 20 15:25:05 2009
@@ -360,7 +360,7 @@
Value* val = new BitCastInst(ptr, LAI.llvmTypePtr, "", currentBlock);
Value* arg = new LoadInst(val, "", currentBlock);
Args.push_back(arg);
- ptr = GetElementPtrInst::Create(ptr, JnjvmModule::constantEight, "",
+ ptr = GetElementPtrInst::Create(ptr, Mod->getIntrinsics()->constantEight,"",
currentBlock);
}
Modified: vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp?rev=76461&r1=76460&r2=76461&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp Mon Jul 20 15:25:05 2009
@@ -142,7 +142,7 @@
}
}
Array = SI->second;
- Constant* GEPs[2] = { JnjvmModule::constantZero, MOffset };
+ Constant* GEPs[2] = { getIntrinsics()->constantZero, MOffset };
return ConstantExpr::getGetElementPtr(Array, GEPs, 2);
}
@@ -219,11 +219,13 @@
Constant* Cl = getNativeClass(cl);
- Constant* GEP[2] = { JnjvmModule::constantZero, JnjvmModule::constantZero };
+ Constant* GEP[2] = { getIntrinsics()->constantZero,
+ getIntrinsics()->constantZero };
Constant* TCMArray = ConstantExpr::getGetElementPtr(Cl, GEP, 2);
- Constant* GEP2[2] = { JnjvmModule::constantZero, JnjvmModule::constantZero };
+ Constant* GEP2[2] = { getIntrinsics()->constantZero,
+ getIntrinsics()->constantZero };
Constant* Ptr = ConstantExpr::getGetElementPtr(TCMArray, GEP2, 2);
return Ptr;
@@ -978,8 +980,8 @@
dyn_cast<StructType>(JnjvmModule::JavaClassArrayType->getContainedType(0));
std::vector<Constant*> ClassElts;
- Constant* ClGEPs[2] = { JnjvmModule::constantZero,
- JnjvmModule::constantZero };
+ Constant* ClGEPs[2] = { getIntrinsics()->constantZero,
+ getIntrinsics()->constantZero };
// common class
ClassElts.push_back(CreateConstantFromCommonClass(cl));
Modified: vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp?rev=76461&r1=76460&r2=76461&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp Mon Jul 20 15:25:05 2009
@@ -54,31 +54,11 @@
const llvm::Type* JnjvmModule::JnjvmType = 0;
#endif
-llvm::Constant* JnjvmModule::JavaObjectNullConstant;
-llvm::Constant* JnjvmModule::MaxArraySizeConstant;
-llvm::Constant* JnjvmModule::JavaArraySizeConstant;
-llvm::Constant* JnjvmModule::OffsetObjectSizeInClassConstant;
-llvm::Constant* JnjvmModule::OffsetVTInClassConstant;
-llvm::Constant* JnjvmModule::OffsetTaskClassMirrorInClassConstant;
-llvm::Constant* JnjvmModule::OffsetStaticInstanceInTaskClassMirrorConstant;
-llvm::Constant* JnjvmModule::OffsetStatusInTaskClassMirrorConstant;
-llvm::Constant* JnjvmModule::OffsetInitializedInTaskClassMirrorConstant;
-llvm::Constant* JnjvmModule::OffsetJavaExceptionInThreadConstant;
-llvm::Constant* JnjvmModule::OffsetCXXExceptionInThreadConstant;
-llvm::Constant* JnjvmModule::ClassReadyConstant;
const llvm::Type* JnjvmModule::JavaClassType;
const llvm::Type* JnjvmModule::JavaClassPrimitiveType;
const llvm::Type* JnjvmModule::JavaClassArrayType;
const llvm::Type* JnjvmModule::JavaCommonClassType;
const llvm::Type* JnjvmModule::VTType;
-llvm::Constant* JnjvmModule::JavaArrayElementsOffsetConstant;
-llvm::Constant* JnjvmModule::JavaArraySizeOffsetConstant;
-llvm::Constant* JnjvmModule::JavaObjectLockOffsetConstant;
-llvm::Constant* JnjvmModule::JavaObjectVTOffsetConstant;
-llvm::Constant* JnjvmModule::OffsetClassInVTConstant;
-llvm::Constant* JnjvmModule::OffsetDepthInVTConstant;
-llvm::Constant* JnjvmModule::OffsetDisplayInVTConstant;
-llvm::Constant* JnjvmModule::OffsetBaseClassVTInVTConstant;
JavaLLVMCompiler::JavaLLVMCompiler(const std::string& str) :
@@ -113,7 +93,6 @@
void JnjvmModule::initialise() {
Module* module = globalModule;
- LLVMContext& Context = module->getContext();
jnjvm::llvm_runtime::makeLLVMModuleContents(module);
VTType = PointerType::getUnqual(module->getTypeByName("VT"));
@@ -176,7 +155,23 @@
PointerType::getUnqual(module->getTypeByName("Attribut"));
JavaThreadType =
PointerType::getUnqual(module->getTypeByName("JavaThread"));
+
+ LLVMAssessorInfo::initialise();
+}
+
+Function* JavaLLVMCompiler::getMethod(JavaMethod* meth) {
+ return getMethodInfo(meth)->getMethod();
+}
+JnjvmModule::JnjvmModule(llvm::Module* module) :
+ MvmModule(module) {
+ LLVMContext& Context = module->getContext();
+
+ if (!VTType) {
+ initialise();
+ copyDefinitions(module, globalModule);
+ }
+
JavaObjectNullConstant =
module->getContext().getNullValue(JnjvmModule::JavaObjectType);
MaxArraySizeConstant = Context.getConstantInt(Type::Int32Ty,
@@ -185,41 +180,26 @@
Context.getConstantInt(Type::Int32Ty, sizeof(JavaObject) + sizeof(ssize_t));
- JavaArrayElementsOffsetConstant = mvm::MvmModule::constantTwo;
- JavaArraySizeOffsetConstant = mvm::MvmModule::constantOne;
- JavaObjectLockOffsetConstant = mvm::MvmModule::constantOne;
- JavaObjectVTOffsetConstant = mvm::MvmModule::constantZero;
- OffsetClassInVTConstant = mvm::MvmModule::constantThree;
- OffsetDepthInVTConstant = mvm::MvmModule::constantFour;
- OffsetDisplayInVTConstant = mvm::MvmModule::constantSeven;
+ JavaArrayElementsOffsetConstant = constantTwo;
+ JavaArraySizeOffsetConstant = constantOne;
+ JavaObjectLockOffsetConstant = constantOne;
+ JavaObjectVTOffsetConstant = constantZero;
+ OffsetClassInVTConstant = constantThree;
+ OffsetDepthInVTConstant = constantFour;
+ OffsetDisplayInVTConstant = constantSeven;
OffsetBaseClassVTInVTConstant = Context.getConstantInt(Type::Int32Ty, 17);
- OffsetObjectSizeInClassConstant = mvm::MvmModule::constantOne;
+ OffsetObjectSizeInClassConstant = constantOne;
OffsetVTInClassConstant = Context.getConstantInt(Type::Int32Ty, 7);
- OffsetTaskClassMirrorInClassConstant = mvm::MvmModule::constantTwo;
- OffsetStaticInstanceInTaskClassMirrorConstant = mvm::MvmModule::constantTwo;
- OffsetStatusInTaskClassMirrorConstant = mvm::MvmModule::constantZero;
- OffsetInitializedInTaskClassMirrorConstant = mvm::MvmModule::constantOne;
+ OffsetTaskClassMirrorInClassConstant = constantTwo;
+ OffsetStaticInstanceInTaskClassMirrorConstant = constantTwo;
+ OffsetStatusInTaskClassMirrorConstant = constantZero;
+ OffsetInitializedInTaskClassMirrorConstant = constantOne;
OffsetJavaExceptionInThreadConstant = Context.getConstantInt(Type::Int32Ty, 9);
OffsetCXXExceptionInThreadConstant = Context.getConstantInt(Type::Int32Ty, 10);
ClassReadyConstant = Context.getConstantInt(Type::Int8Ty, ready);
-
- LLVMAssessorInfo::initialise();
-}
-
-Function* JavaLLVMCompiler::getMethod(JavaMethod* meth) {
- return getMethodInfo(meth)->getMethod();
-}
-
-JnjvmModule::JnjvmModule(llvm::Module* module) :
- MvmModule(module) {
-
- if (!VTType) {
- initialise();
- copyDefinitions(module, globalModule);
- }
module->addTypeName("JavaObject", JavaObjectType->getContainedType(0));
module->addTypeName("JavaArray", JavaArrayType->getContainedType(0));
Modified: vmkit/trunk/lib/JnJVM/Compiler/LowerConstantCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/LowerConstantCalls.cpp?rev=76461&r1=76460&r2=76461&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/LowerConstantCalls.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/LowerConstantCalls.cpp Mon Jul 20 15:25:05 2009
@@ -416,7 +416,7 @@
Value* arg1 = GetElementPtrInst::Create(CTP, indexes, "", CI);
arg1 = new LoadInst(arg1, "", false, CI);
Value* test = new ICmpInst(CI, ICmpInst::ICMP_EQ, arg1,
- mvm::MvmModule::constantPtrNull, "");
+ module->constantPtrNull, "");
BasicBlock* trueCl = BasicBlock::Create("Ctp OK", &F);
BasicBlock* falseCl = BasicBlock::Create("Ctp Not OK", &F);
Modified: vmkit/trunk/lib/Mvm/Compiler/JIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Compiler/JIT.cpp?rev=76461&r1=76460&r2=76461&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Compiler/JIT.cpp (original)
+++ vmkit/trunk/lib/Mvm/Compiler/JIT.cpp Mon Jul 20 15:25:05 2009
@@ -55,8 +55,7 @@
llvm::ExceptionHandling = false;
#endif
if (!M) {
- globalContext = new llvm::LLVMContext();
- globalModule = new llvm::Module("bootstrap module", *globalContext);
+ globalModule = new Module("bootstrap module", *(new LLVMContext()));
globalModuleProvider = new ExistingModuleProvider (globalModule);
InitializeNativeTarget();
@@ -86,6 +85,16 @@
pointerSizeType = globalModule->getPointerSize() == Module::Pointer32 ?
Type::Int32Ty : Type::Int64Ty;
+}
+
+
+MvmModule::MvmModule(llvm::Module* module) {
+
+ module->setDataLayout(globalModule->getDataLayout());
+ module->setTargetTriple(globalModule->getTargetTriple());
+ LLVMContext* globalContext = &(module->getContext());
+
+
// Constant declaration
constantLongMinusOne = globalContext->getConstantInt(Type::Int64Ty, (uint64_t)-1);
constantLongZero = globalContext->getConstantInt(Type::Int64Ty, 0);
@@ -137,14 +146,8 @@
constantPtrLogSize =
globalContext->getConstantInt(Type::Int32Ty, sizeof(void*) == 8 ? 3 : 2);
arrayPtrType = PointerType::getUnqual(ArrayType::get(Type::Int8Ty, 0));
-}
-MvmModule::MvmModule(llvm::Module* module) {
-
- module->setDataLayout(globalModule->getDataLayout());
- module->setTargetTriple(globalModule->getTargetTriple());
-
copyDefinitions(module, globalModule);
printFloatLLVM = module->getFunction("printFloat");
@@ -208,50 +211,6 @@
}
-llvm::Constant* MvmModule::constantInt8Zero;
-llvm::Constant* MvmModule::constantZero;
-llvm::Constant* MvmModule::constantOne;
-llvm::Constant* MvmModule::constantTwo;
-llvm::Constant* MvmModule::constantThree;
-llvm::Constant* MvmModule::constantFour;
-llvm::Constant* MvmModule::constantFive;
-llvm::Constant* MvmModule::constantSix;
-llvm::Constant* MvmModule::constantSeven;
-llvm::Constant* MvmModule::constantEight;
-llvm::Constant* MvmModule::constantMinusOne;
-llvm::Constant* MvmModule::constantLongMinusOne;
-llvm::Constant* MvmModule::constantLongZero;
-llvm::Constant* MvmModule::constantLongOne;
-llvm::Constant* MvmModule::constantMinInt;
-llvm::Constant* MvmModule::constantMaxInt;
-llvm::Constant* MvmModule::constantMinLong;
-llvm::Constant* MvmModule::constantMaxLong;
-llvm::Constant* MvmModule::constantFloatZero;
-llvm::Constant* MvmModule::constantFloatOne;
-llvm::Constant* MvmModule::constantFloatTwo;
-llvm::Constant* MvmModule::constantDoubleZero;
-llvm::Constant* MvmModule::constantDoubleOne;
-llvm::Constant* MvmModule::constantMaxIntFloat;
-llvm::Constant* MvmModule::constantMinIntFloat;
-llvm::Constant* MvmModule::constantMinLongFloat;
-llvm::Constant* MvmModule::constantMinLongDouble;
-llvm::Constant* MvmModule::constantMaxLongFloat;
-llvm::Constant* MvmModule::constantMaxIntDouble;
-llvm::Constant* MvmModule::constantMinIntDouble;
-llvm::Constant* MvmModule::constantMaxLongDouble;
-llvm::Constant* MvmModule::constantDoubleInfinity;
-llvm::Constant* MvmModule::constantDoubleMinusInfinity;
-llvm::Constant* MvmModule::constantFloatInfinity;
-llvm::Constant* MvmModule::constantFloatMinusInfinity;
-llvm::Constant* MvmModule::constantFloatMinusZero;
-llvm::Constant* MvmModule::constantDoubleMinusZero;
-llvm::Constant* MvmModule::constantPtrNull;
-llvm::Constant* MvmModule::constantPtrLogSize;
-llvm::Constant* MvmModule::constantThreadIDMask;
-llvm::Constant* MvmModule::constantStackOverflowMask;
-llvm::Constant* MvmModule::constantFatMask;
-llvm::Constant* MvmModule::constantPtrOne;
-llvm::Constant* MvmModule::constantPtrZero;
const llvm::PointerType* MvmModule::ptrType;
const llvm::PointerType* MvmModule::ptr32Type;
const llvm::PointerType* MvmModule::ptrPtrType;
@@ -260,7 +219,6 @@
const llvm::TargetData* MvmModule::TheTargetData;
llvm::Module *MvmModule::globalModule;
-llvm::LLVMContext *MvmModule::globalContext;
llvm::ExistingModuleProvider *MvmModule::globalModuleProvider;
llvm::FunctionPassManager* MvmModule::globalFunctionPasses;
llvm::ExecutionEngine* MvmModule::executionEngine;
Modified: vmkit/trunk/lib/N3/VMCore/CLIJit.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/CLIJit.cpp?rev=76461&r1=76460&r2=76461&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/VMCore/CLIJit.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/CLIJit.cpp Mon Jul 20 15:25:05 2009
@@ -104,7 +104,7 @@
#endif
Function* llvmFunction = block->getParent();
- Constant* zero = mvm::MvmModule::constantZero;
+ Constant* zero = cl->vm->module->constantZero;
for (std::vector<VMField*>::iterator i = fields.begin(),
e = fields.end(); i!= e; ++i) {
VMField* field = *i;
@@ -160,9 +160,9 @@
Argument* GC = ++(func->arg_begin());
#endif
// Constant Definitions
- Constant* const_int32_8 = mvm::MvmModule::constantZero;
- Constant* const_int32_9 = mvm::MvmModule::constantOne;
- Constant* const_int32_10 = mvm::MvmModule::constantTwo;
+ Constant* const_int32_8 = cl->vm->module->constantZero;
+ Constant* const_int32_9 = cl->vm->module->constantOne;
+ Constant* const_int32_10 = cl->vm->module->constantTwo;
// Function Definitions
@@ -856,11 +856,11 @@
}
Constant* VMArray::sizeOffset() {
- return mvm::MvmModule::constantOne;
+ return VMThread::get()->vm->module->constantOne;
}
Constant* VMArray::elementsOffset() {
- return mvm::MvmModule::constantTwo;
+ return VMThread::get()->vm->module->constantTwo;
}
Value* CLIJit::arraySize(Value* array) {
Modified: vmkit/trunk/lib/N3/VMCore/CLIJitMeta.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/CLIJitMeta.cpp?rev=76461&r1=76460&r2=76461&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/VMCore/CLIJitMeta.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/CLIJitMeta.cpp Mon Jul 20 15:25:05 2009
@@ -423,5 +423,5 @@
}
Constant* VMObject::classOffset() {
- return mvm::MvmModule::constantOne;
+ return VMThread::get()->vm->module->constantOne;
}
Modified: vmkit/trunk/lib/N3/VMCore/LowerArrayLength.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/LowerArrayLength.cpp?rev=76461&r1=76460&r2=76461&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/VMCore/LowerArrayLength.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/LowerArrayLength.cpp Mon Jul 20 15:25:05 2009
@@ -46,7 +46,7 @@
Changed = true;
Value* val = CI->getOperand(1); // get the array
std::vector<Value*> args; //size= 2
- args.push_back(mvm::MvmModule::constantZero);
+ args.push_back(F.getContext()->getConstantInt(Type::Int32Ty, 0));
args.push_back(n3::VMArray::sizeOffset());
Value* ptr = GetElementPtrInst::Create(val, args.begin(), args.end(),
"", CI);
Modified: vmkit/trunk/lib/N3/VMCore/VMClass.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/VMClass.cpp?rev=76461&r1=76460&r2=76461&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/VMCore/VMClass.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/VMClass.cpp Mon Jul 20 15:25:05 2009
@@ -320,7 +320,7 @@
if (super == MSCorlib::pValue) {
uint32 size = virtualFields.size();
if (size == 1) {
- virtualFields[0]->offset = mvm::MvmModule::constantZero;
+ virtualFields[0]->offset = VMThread::get()->vm->module->constantZero;
ResultTy = virtualFields[0]->signature->naturalType;
} else if (size == 0) {
ResultTy = llvm::Type::VoidTy;
More information about the vmkit-commits
mailing list