[vmkit-commits] [vmkit] r121147 - in /vmkit/branches/multi-vm: lib/J3/Compiler/JavaJITCompiler.cpp lib/J3/VMCore/Jnjvm.cpp lib/J3/VMCore/Jnjvm.h tools/j3/Main.cpp tools/vmjc/vmjc.cpp tools/vmkit/Launcher.cpp

Gael Thomas gael.thomas at lip6.fr
Tue Dec 7 08:31:15 PST 2010


Author: gthomas
Date: Tue Dec  7 10:31:15 2010
New Revision: 121147

URL: http://llvm.org/viewvc/llvm-project?rev=121147&view=rev
Log:
allocate the jnjvm bootstrap class loadr in the constructor of jnjvm

Modified:
    vmkit/branches/multi-vm/lib/J3/Compiler/JavaJITCompiler.cpp
    vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp
    vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.h
    vmkit/branches/multi-vm/tools/j3/Main.cpp
    vmkit/branches/multi-vm/tools/vmjc/vmjc.cpp
    vmkit/branches/multi-vm/tools/vmkit/Launcher.cpp

Modified: vmkit/branches/multi-vm/lib/J3/Compiler/JavaJITCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/Compiler/JavaJITCompiler.cpp?rev=121147&r1=121146&r2=121147&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/Compiler/JavaJITCompiler.cpp (original)
+++ vmkit/branches/multi-vm/lib/J3/Compiler/JavaJITCompiler.cpp Tue Dec  7 10:31:15 2010
@@ -414,9 +414,7 @@
   newArgv[1] = mainClass;
 
   JavaJITCompiler* Comp = JavaJITCompiler::CreateCompiler("JITModule");
-  JnjvmBootstrapLoader* loader = new(Allocator, "Bootstrap loader")
-    JnjvmBootstrapLoader(Allocator, Comp, true);
-  Jnjvm* vm = new(Allocator, "VM") Jnjvm(Allocator, vmkit, loader);
+  Jnjvm* vm = new(Allocator, "VM") Jnjvm(Allocator, vmkit, Comp, true);
   vm->runApplication(argc + 1, newArgv);
   vm->waitForExit();
   

Modified: vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp?rev=121147&r1=121146&r2=121147&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp Tue Dec  7 10:31:15 2010
@@ -1339,11 +1339,12 @@
   javaMainThread->mut->start((void (*)(mvm::Thread*))mainJavaStart);
 }
 
-Jnjvm::Jnjvm(mvm::BumpPtrAllocator& Alloc, mvm::VMKit* vmkit, JnjvmBootstrapLoader* loader) : 
+Jnjvm::Jnjvm(mvm::BumpPtrAllocator& Alloc, mvm::VMKit* vmkit, JavaCompiler* Comp, bool dlLoad) : 
 	VirtualMachine(Alloc, vmkit), 
 	lockSystem(Alloc) {
 
-	loader->isolate = this;
+  bootstrapLoader = new(Alloc, "bootstrap loader") JnjvmBootstrapLoader(Alloc, Comp, dlLoad);
+	bootstrapLoader->isolate = this;
 
 	initialiseInternalVTs();
 
@@ -1354,12 +1355,11 @@
   jniEnv = &JNI_JNIEnvTable;
   javavmEnv = &JNI_JavaVMTable;
   
-  bootstrapLoader = loader;
   upcalls = bootstrapLoader->upcalls;
 
   throwable = upcalls->newThrowable;
 
-  StringList* end = loader->strings;
+  StringList* end = bootstrapLoader->strings;
   while (end) {
     for (uint32 i = 0; i < end->length; ++i) {
       JavaString* obj = end->strings[i];
@@ -1466,9 +1466,8 @@
 	mvm::VMKit* vmkit = new(Allocator, "VMKit") mvm::VMKit(Allocator);
  
   JavaCompiler* Comp = new JavaCompiler();
-  JnjvmBootstrapLoader* loader = new(Allocator, "Bootstrap loader")
-    JnjvmBootstrapLoader(Allocator, Comp, true);
-  Jnjvm* vm = new(Allocator, "VM") Jnjvm(Allocator, vmkit, loader);
+
+  Jnjvm* vm = new(Allocator, "VM") Jnjvm(Allocator, vmkit, Comp, true);
 
   mvm::ThreadAllocator thallocator; 
   char** newArgv = (char**)thallocator.Allocate((argc + 1) * sizeof(char*));

Modified: vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.h?rev=121147&r1=121146&r2=121147&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.h (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.h Tue Dec  7 10:31:15 2010
@@ -330,7 +330,7 @@
 
   /// Jnjvm - Allocates a new JVM.
   ///
-  Jnjvm(mvm::BumpPtrAllocator& Alloc, mvm::VMKit* vmkit, JnjvmBootstrapLoader* loader);
+  Jnjvm(mvm::BumpPtrAllocator& Alloc, mvm::VMKit* vmkit, JavaCompiler* Comp, bool dlLoad);
   
   /// runApplication - Runs the application with the given command line.
   /// User-visible function, inherited by the VirtualMachine class.

Modified: vmkit/branches/multi-vm/tools/j3/Main.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/tools/j3/Main.cpp?rev=121147&r1=121146&r2=121147&view=diff
==============================================================================
--- vmkit/branches/multi-vm/tools/j3/Main.cpp (original)
+++ vmkit/branches/multi-vm/tools/j3/Main.cpp Tue Dec  7 10:31:15 2010
@@ -37,9 +37,7 @@
  
   // Create the allocator that will allocate the bootstrap loader and the JVM.
   JavaJITCompiler* Comp = JavaJITCompiler::CreateCompiler("JITModule");
-  JnjvmBootstrapLoader* loader = new(Allocator, "Bootstrap loader")
-    JnjvmBootstrapLoader(Allocator, Comp, true);
-  Jnjvm* vm = new(Allocator, "VM") Jnjvm(Allocator, vmkit, loader);
+  Jnjvm* vm = new(Allocator, "VM") Jnjvm(Allocator, vmkit, Comp, true);
  
   // Run the application. 
   vm->runApplication(argc, argv);

Modified: vmkit/branches/multi-vm/tools/vmjc/vmjc.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/tools/vmjc/vmjc.cpp?rev=121147&r1=121146&r2=121147&view=diff
==============================================================================
--- vmkit/branches/multi-vm/tools/vmjc/vmjc.cpp (original)
+++ vmkit/branches/multi-vm/tools/vmjc/vmjc.cpp Tue Dec  7 10:31:15 2010
@@ -177,15 +177,12 @@
 
   JavaAOTCompiler* Comp = new JavaAOTCompiler("AOT");
 
-  JnjvmBootstrapLoader* loader = new(allocator, "Bootstrap loader")
-    JnjvmBootstrapLoader(allocator, Comp, false);
-
   if (DisableExceptions) Comp->disableExceptions();
   if (DisableStubs) Comp->generateStubs = false;
   if (AssumeCompiled) Comp->assumeCompiled = true;
   if (DisableCooperativeGC) Comp->disableCooperativeGC();
 	
-  Jnjvm* vm = new(allocator, "Bootstrap loader") Jnjvm(allocator, vmkit, loader);
+  Jnjvm* vm = new(allocator, "Bootstrap loader") Jnjvm(allocator, vmkit, Comp, false);
   
   for (std::vector<std::string>::iterator i = Properties.begin(),
        e = Properties.end(); i != e; ++i) {

Modified: vmkit/branches/multi-vm/tools/vmkit/Launcher.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/tools/vmkit/Launcher.cpp?rev=121147&r1=121146&r2=121147&view=diff
==============================================================================
--- vmkit/branches/multi-vm/tools/vmkit/Launcher.cpp (original)
+++ vmkit/branches/multi-vm/tools/vmkit/Launcher.cpp Tue Dec  7 10:31:15 2010
@@ -73,9 +73,7 @@
 
   if (VMToRun == RunJava) {
     JavaJITCompiler* Comp = JavaJITCompiler::CreateCompiler("JITModule");
-    JnjvmBootstrapLoader* loader = new(Allocator, "Bootstrap loader")
-			JnjvmBootstrapLoader(Allocator, Comp, true);
-    Jnjvm* vm = new(Allocator, "VM") Jnjvm(Allocator, vmkit, loader);
+    Jnjvm* vm = new(Allocator, "VM") Jnjvm(Allocator, vmkit, Comp, true);
     vm->runApplication(argc, argv);
     vm->waitForExit();
   }





More information about the vmkit-commits mailing list