[vmkit-commits] [vmkit] r65454 - in /vmkit/trunk/lib/JnJVM/VMCore: JavaJIT.h JnjvmClassLoader.cpp JnjvmModule.cpp JnjvmModule.h JnjvmModuleProvider.cpp LowerConstantCalls.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Wed Feb 25 06:33:00 PST 2009
Author: geoffray
Date: Wed Feb 25 08:33:00 2009
New Revision: 65454
URL: http://llvm.org/viewvc/llvm-project?rev=65454&view=rev
Log:
Fix includes and code cleanup.
Set the array name when AOT.
Create the StaticInitializer in CreateStaticInitializer, if not created.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.h
vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp
vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h
vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp
vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.h?rev=65454&r1=65453&r2=65454&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.h Wed Feb 25 08:33:00 2009
@@ -21,6 +21,7 @@
#include "types.h"
+#include "JavaClass.h"
#include "JnjvmModule.h"
namespace jnjvm {
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp?rev=65454&r1=65453&r2=65454&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp Wed Feb 25 08:33:00 2009
@@ -40,6 +40,7 @@
#include "JavaConstantPool.h"
#include "JavaString.h"
#include "JavaThread.h"
+#include "JavaTypes.h"
#include "JavaUpcalls.h"
#include "Jnjvm.h"
#include "JnjvmClassLoader.h"
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp?rev=65454&r1=65453&r2=65454&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp Wed Feb 25 08:33:00 2009
@@ -19,6 +19,7 @@
#include "mvm/JIT.h"
#include "JavaCache.h"
+#include "JavaConstantPool.h"
#include "JavaJIT.h"
#include "JavaString.h"
#include "JavaThread.h"
@@ -164,7 +165,8 @@
GlobalVariable* varGV =
new GlobalVariable(Ty, false, GlobalValue::InternalLinkage,
- Constant::getNullValue(Ty), "", this);
+ Constant::getNullValue(Ty),
+ classDef->printString(), this);
arrayClasses.insert(std::make_pair((ClassArray*)classDef, varGV));
return varGV;
@@ -2584,6 +2586,15 @@
Function* GetClassArray = Function::Create(FTy, GlobalValue::ExternalLinkage,
"vmjcGetClassArray", this);
+ if (!StaticInitializer) {
+ std::vector<const llvm::Type*> llvmArgs;
+ llvmArgs.push_back(ptrType); // class loader.
+ const FunctionType* FTy = FunctionType::get(Type::VoidTy, llvmArgs, false);
+
+ StaticInitializer = Function::Create(FTy, GlobalValue::InternalLinkage,
+ "Init", this);
+ }
+
BasicBlock* currentBlock = BasicBlock::Create("enter", StaticInitializer);
Function::arg_iterator loader = StaticInitializer->arg_begin();
@@ -2649,3 +2660,19 @@
}
}
}
+
+LLVMSignatureInfo* JnjvmModule::getSignatureInfo(Signdef* sign) {
+ return sign->getInfo<LLVMSignatureInfo>();
+}
+
+LLVMClassInfo* JnjvmModule::getClassInfo(Class* cl) {
+ return cl->getInfo<LLVMClassInfo>();
+}
+
+LLVMFieldInfo* JnjvmModule::getFieldInfo(JavaField* field) {
+ return field->getInfo<LLVMFieldInfo>();
+}
+
+LLVMMethodInfo* JnjvmModule::getMethodInfo(JavaMethod* method) {
+ return method->getInfo<LLVMMethodInfo>();
+}
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h?rev=65454&r1=65453&r2=65454&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h Wed Feb 25 08:33:00 2009
@@ -12,11 +12,9 @@
#include <map>
+#include "mvm/Allocator.h"
#include "mvm/JIT.h"
-#include "JavaClass.h"
-#include "JavaTypes.h"
-
#include "llvm/Module.h"
namespace llvm {
@@ -34,12 +32,18 @@
class CacheNode;
class CommonClass;
class Class;
+class ClassArray;
+class ClassPrimitive;
class Enveloppe;
class JavaConstantPool;
class JavaField;
class JavaMethod;
class JavaObject;
+class JavaString;
class JnjvmModule;
+class Typedef;
+class Signdef;
+class UTF8;
class LLVMAssessorInfo {
public:
@@ -414,22 +418,10 @@
static void setMethod(JavaMethod* meth, void* ptr, const char* name);
static llvm::Function* getMethod(JavaMethod* meth);
- static LLVMSignatureInfo* getSignatureInfo(Signdef* sign) {
- return sign->getInfo<LLVMSignatureInfo>();
- }
-
- static LLVMClassInfo* getClassInfo(Class* cl) {
- return cl->getInfo<LLVMClassInfo>();
- }
-
- static LLVMFieldInfo* getFieldInfo(JavaField* field) {
- return field->getInfo<LLVMFieldInfo>();
- }
-
- static LLVMMethodInfo* getMethodInfo(JavaMethod* method) {
- return method->getInfo<LLVMMethodInfo>();
- }
-
+ static LLVMSignatureInfo* getSignatureInfo(Signdef* sign);
+ static LLVMClassInfo* getClassInfo(Class* cl);
+ static LLVMFieldInfo* getFieldInfo(JavaField* field);
+ static LLVMMethodInfo* getMethodInfo(JavaMethod* method);
static LLVMAssessorInfo& getTypedefInfo(const Typedef* type);
explicit JnjvmModule(const std::string &ModuleID, bool sc = false);
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp?rev=65454&r1=65453&r2=65454&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp Wed Feb 25 08:33:00 2009
@@ -20,6 +20,7 @@
#include "JavaConstantPool.h"
#include "JavaJIT.h"
#include "JavaThread.h"
+#include "JavaTypes.h"
#include "Jnjvm.h"
#include "JnjvmModule.h"
#include "JnjvmModuleProvider.h"
Modified: vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp?rev=65454&r1=65453&r2=65454&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp Wed Feb 25 08:33:00 2009
@@ -15,6 +15,7 @@
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
+#include "JavaClass.h"
#include "JnjvmModule.h"
using namespace llvm;
More information about the vmkit-commits
mailing list