[vmkit-commits] [vmkit] r65576 - in /vmkit/trunk: include/jnjvm/JnjvmModule.h lib/JnJVM/VMCore/JnjvmClassLoader.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Thu Feb 26 14:09:09 PST 2009


Author: geoffray
Date: Thu Feb 26 16:09:09 2009
New Revision: 65576

URL: http://llvm.org/viewvc/llvm-project?rev=65576&view=rev
Log:
Make the the VMCore of the JVM unaware that it's jitting.


Modified:
    vmkit/trunk/include/jnjvm/JnjvmModule.h
    vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp

Modified: vmkit/trunk/include/jnjvm/JnjvmModule.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/jnjvm/JnjvmModule.h?rev=65576&r1=65575&r2=65576&view=diff

==============================================================================
--- vmkit/trunk/include/jnjvm/JnjvmModule.h (original)
+++ vmkit/trunk/include/jnjvm/JnjvmModule.h Thu Feb 26 16:09:09 2009
@@ -369,6 +369,8 @@
     enabledException = false;
   }
   
+  virtual JnjvmModule* Create(std::string ModuleID) = 0;
+  
   virtual ~JnjvmModule() {}
 
   llvm::Constant* getReferenceArrayVT();
@@ -417,6 +419,10 @@
   
   virtual void makeVT(Class* cl);
   
+  virtual JnjvmModule* Create(std::string ModuleID) {
+    return new JnjvmModuleJIT(ModuleID);
+  }
+  
   virtual llvm::Constant* getFinalObject(JavaObject* obj);
   virtual JavaObject* getFinalObject(llvm::Value* C);
   virtual llvm::Constant* getNativeClass(CommonClass* cl);
@@ -450,6 +456,10 @@
     return true;
   }
   
+  virtual JnjvmModule* Create(std::string ModuleID) {
+    return new JnjvmModuleAOT(ModuleID);
+  }
+  
   virtual void makeVT(Class* cl);
   
   virtual llvm::Constant* getFinalObject(JavaObject* obj);

Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp?rev=65576&r1=65575&r2=65576&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp Thu Feb 26 16:09:09 2009
@@ -274,9 +274,9 @@
 
 JnjvmClassLoader::JnjvmClassLoader(JnjvmClassLoader& JCL, JavaObject* loader,
                                    Jnjvm* I) {
-  TheModule = new JnjvmModuleJIT("Applicative loader");
-  TheModuleProvider = new JnjvmModuleProvider(getModule());
   bootstrapLoader = JCL.bootstrapLoader;
+  TheModule = bootstrapLoader->getModule()->Create("Applicative loader");
+  TheModuleProvider = new JnjvmModuleProvider(getModule());
   
   hashUTF8 = new(allocator) UTF8Map(allocator,
                                     bootstrapLoader->upcalls->ArrayOfChar);





More information about the vmkit-commits mailing list