[vmkit-commits] [vmkit] r143067 - in /vmkit/trunk/lib/J3: ClassLib/Classpath.h.in ClassLib/OpenJDK/JavaUpcalls.cpp VMCore/JnjvmClassLoader.cpp

Will Dietz wdietz2 at illinois.edu
Wed Oct 26 14:31:43 PDT 2011


Author: wdietz2
Date: Wed Oct 26 16:31:43 2011
New Revision: 143067

URL: http://llvm.org/viewvc/llvm-project?rev=143067&view=rev
Log:
Hook JnjvmClassLoader to use the appropriate runtime's environment.

Also, load libjava in the OpenJDK runtime, as this is required.

Modified:
    vmkit/trunk/lib/J3/ClassLib/Classpath.h.in
    vmkit/trunk/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp
    vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp

Modified: vmkit/trunk/lib/J3/ClassLib/Classpath.h.in
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/ClassLib/Classpath.h.in?rev=143067&r1=143066&r2=143067&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/ClassLib/Classpath.h.in (original)
+++ vmkit/trunk/lib/J3/ClassLib/Classpath.h.in Wed Oct 26 16:31:43 2011
@@ -17,6 +17,9 @@
 #define GNUClasspathGlibj "@classpathglibj@"
 #define GNUClasspathVersion "@classpathversion@"
 
+#define ClasslibBootEnv GNUClasspathGlibj
+#define ClasslibLibEnv GNUClasspathLibs
+
 #else
 
 // OpenJDK values
@@ -45,4 +48,7 @@
   ":" "/usr/lib" \
   ":" "/usr/lib64"
 
+#define ClasslibBootEnv OpenJDKBootPath
+#define ClasslibLibEnv OpenJDKLibPaths
+
 #endif // USE_OPENJDK

Modified: vmkit/trunk/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp?rev=143067&r1=143066&r2=143067&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp (original)
+++ vmkit/trunk/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp Wed Oct 26 16:31:43 2011
@@ -7,6 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "Classpath.h"
 #include "ClasspathReflect.h"
 #include "JavaAccess.h"
 #include "JavaClass.h"
@@ -538,6 +539,13 @@
 
 void Classpath::initialiseClasspath(JnjvmClassLoader* loader) {
 
+  // Load OpenJDK's libjava.so
+  void * handle = loader->loadLib(OpenJDKLibJava);
+  if (handle == NULL) {
+    fprintf(stderr, "Failed to load %s, cannot proceed!\n", OpenJDKLibJava);
+    abort();
+  }
+
   newClassLoader =
     UPCALL_CLASS(loader, "java/lang/ClassLoader");
 

Modified: vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp?rev=143067&r1=143066&r2=143067&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp Wed Oct 26 16:31:43 2011
@@ -61,8 +61,8 @@
   javaSignatures = new(allocator, "SignMap") SignMap();
   strings = new(allocator, "StringList") StringList();
   
-  bootClasspathEnv = GNUClasspathGlibj;
-  libClasspathEnv = GNUClasspathLibs;
+  bootClasspathEnv = ClasslibBootEnv;
+  libClasspathEnv = ClasslibLibEnv;
    
   upcalls = new(allocator, "Classpath") Classpath();
   bootstrapLoader = this;





More information about the vmkit-commits mailing list