[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