[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