[vmkit-commits] [vmkit] r108052 - in /vmkit/trunk/lib/J3: Compiler/JavaAOTCompiler.cpp VMCore/Jnjvm.cpp VMCore/JnjvmClassLoader.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Sat Jul 10 12:56:31 PDT 2010


Author: geoffray
Date: Sat Jul 10 14:56:31 2010
New Revision: 108052

URL: http://llvm.org/viewvc/llvm-project?rev=108052&view=rev
Log:
Analyse the boot classpath once we are in a VM thread.


Modified:
    vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp
    vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp
    vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp

Modified: vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp?rev=108052&r1=108051&r2=108052&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp Sat Jul 10 14:56:31 2010
@@ -1929,15 +1929,16 @@
   JnjvmBootstrapLoader* bootstrapLoader = vm->bootstrapLoader;
   JavaAOTCompiler* M = (JavaAOTCompiler*)bootstrapLoader->getCompiler();
   JavaJITCompiler* Comp = 0;
-    if (!M->clinits->empty()) {
-      Comp = JavaJITCompiler::CreateCompiler("JIT");
-      Comp->EmitFunctionName = true;
-      bootstrapLoader->setCompiler(Comp);
-      bootstrapLoader->analyseClasspathEnv(vm->classpath);
-    } else {
-      bootstrapLoader->analyseClasspathEnv(vm->classpath);
-      bootstrapLoader->upcalls->initialiseClasspath(bootstrapLoader);
-    }
+  bootstrapLoader->analyseClasspathEnv(vm->bootstrapLoader->bootClasspathEnv);
+  if (!M->clinits->empty()) {
+    Comp = JavaJITCompiler::CreateCompiler("JIT");
+    Comp->EmitFunctionName = true;
+    bootstrapLoader->setCompiler(Comp);
+    bootstrapLoader->analyseClasspathEnv(vm->classpath);
+  } else {
+    bootstrapLoader->analyseClasspathEnv(vm->classpath);
+    bootstrapLoader->upcalls->initialiseClasspath(bootstrapLoader);
+  }
   
     uint32 size = strlen(name);
     

Modified: vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp?rev=108052&r1=108051&r2=108052&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp Sat Jul 10 14:56:31 2010
@@ -1294,6 +1294,7 @@
   llvm_gcroot(exc, 0);
 
   Jnjvm* vm = thread->getJVM();
+  vm->bootstrapLoader->analyseClasspathEnv(vm->bootstrapLoader->bootClasspathEnv);
   vm->argumentsInfo.readArgs(vm);
   if (vm->argumentsInfo.className == NULL) {
     vm->threadSystem.leave();

Modified: vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp?rev=108052&r1=108051&r2=108052&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp Sat Jul 10 14:56:31 2010
@@ -196,12 +196,6 @@
   arrayTable[JavaArray::T_LONG - 4] = upcalls->ArrayOfLong;
   arrayTable[JavaArray::T_DOUBLE - 4] = upcalls->ArrayOfDouble;
   
-  // Analyse the boot classpath to locate java/lang/Object. Since the
-  // analyseClasspathEnv function may require to create a Java byte array to
-  // hold the .zip file, we call the function after creation of the
-  // array classes.
-  analyseClasspathEnv(bootClasspathEnv);
-  
   Attribut::annotationsAttribut =
     asciizConstructUTF8("RuntimeVisibleAnnotations");
   Attribut::codeAttribut = asciizConstructUTF8("Code");





More information about the vmkit-commits mailing list