[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