[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