[vmkit-commits] [vmkit] r198527 - Add path properties.
Gael Thomas
gael.thomas at lip6.fr
Sat Jan 4 16:34:45 PST 2014
Author: gthomas
Date: Sat Jan 4 18:34:44 2014
New Revision: 198527
URL: http://llvm.org/viewvc/llvm-project?rev=198527&view=rev
Log:
Add path properties.
Modified:
vmkit/branches/mcjit/include/j3/j3classloader.h
vmkit/branches/mcjit/include/j3/j3lib.h
vmkit/branches/mcjit/include/j3/j3options.h
vmkit/branches/mcjit/lib/j3/openjdk/j3lib.cc
vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc
vmkit/branches/mcjit/lib/j3/vm/j3.cc
vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc
vmkit/branches/mcjit/lib/j3/vm/j3options.cc
Modified: vmkit/branches/mcjit/include/j3/j3classloader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3classloader.h?rev=198527&r1=198526&r2=198527&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3classloader.h (original)
+++ vmkit/branches/mcjit/include/j3/j3classloader.h Sat Jan 4 18:34:44 2014
@@ -81,7 +81,7 @@ namespace j3 {
J3ZipArchive* archive;
std::map<const char*, const char*, char_ptr_less> _cmangled;
public:
- J3InitialClassLoader(const char* rtjar, vmkit::BumpAllocator* allocator);
+ J3InitialClassLoader(vmkit::BumpAllocator* allocator);
J3Class* loadClass(const vmkit::Name* name);
const char* cmangled(const char* demangled) { return _cmangled[demangled]; }
Modified: vmkit/branches/mcjit/include/j3/j3lib.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3lib.h?rev=198527&r1=198526&r2=198527&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3lib.h (original)
+++ vmkit/branches/mcjit/include/j3/j3lib.h Sat Jan 4 18:34:44 2014
@@ -11,6 +11,7 @@ namespace j3 {
class J3Lib {
public:
static const char* systemClassesArchives();
+ static const char* systemLibraryPath();
static int loadSystemLibraries(std::vector<void*, vmkit::StdAllocator<void*> >* handles);
static void bootstrap(J3* vm);
Modified: vmkit/branches/mcjit/include/j3/j3options.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3options.h?rev=198527&r1=198526&r2=198527&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3options.h (original)
+++ vmkit/branches/mcjit/include/j3/j3options.h Sat Jan 4 18:34:44 2014
@@ -25,7 +25,9 @@ namespace j3 {
public:
bool assertionsEnabled;
const char* selfBitCodePath;
- const char* rtJar;
+ const char* bootClasspath;
+ const char* systemLibraryPath;
+ const char* classpath;
bool debugEnterIndent;
uint32_t genDebugExecute;
uint32_t debugExecute;
Modified: vmkit/branches/mcjit/lib/j3/openjdk/j3lib.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/openjdk/j3lib.cc?rev=198527&r1=198526&r2=198527&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/openjdk/j3lib.cc (original)
+++ vmkit/branches/mcjit/lib/j3/openjdk/j3lib.cc Sat Jan 4 18:34:44 2014
@@ -55,6 +55,10 @@ const char* J3Lib::systemClassesArchives
return rtjar;
}
+const char* J3Lib::systemLibraryPath() {
+ return OPENJDK_LIBPATH;
+}
+
int J3Lib::loadSystemLibraries(std::vector<void*, vmkit::StdAllocator<void*> >* nativeLibraries) {
/* JavaRuntimeSupport checks for a symbol defined in this library */
void* h0 = dlopen(OPENJDK_LIBPATH"/libinstrument"SHLIBEXT, RTLD_LAZY | RTLD_GLOBAL);
Modified: vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc?rev=198527&r1=198526&r2=198527&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc (original)
+++ vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc Sat Jan 4 18:34:44 2014
@@ -114,7 +114,7 @@ jobject JNICALL JVM_InitProperties(JNIEn
vm->names()->get("(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;")));
#define setProp(key, val) _setProp->invokeVirtual(p, vm->utfToString(key), vm->utfToString(val));
-#define setEnvProp(key, val) ({ const char* tmp = getenv(val); if(!tmp) tmp = ""; setProp(key, val); })
+#define setPropEnv(key, val) ({ const char* tmp = getenv(val); if(!tmp) tmp = ""; setProp(key, val); })
/*
* <dt>java.version <dd>Java version number
@@ -134,6 +134,11 @@ jobject JNICALL JVM_InitProperties(JNIEn
* <dt>user.dir <dd>User's current working directory
*/
+ setProp("java.class.path", vm->options()->classpath);
+ setProp("java.boot.class.path", vm->options()->bootClasspath);
+ setProp("sun.boot.library.path", vm->options()->systemLibraryPath);
+ setProp("sun.boot.class.path", vm->options()->bootClasspath);
+#if 0
setProp("java.vm.specification.version", "1.2");
setProp("java.vm.specification.vendor", "Sun Microsystems, Inc");
setProp("java.vm.specification.name", "Java Virtual Machine Specification");
@@ -144,32 +149,27 @@ jobject JNICALL JVM_InitProperties(JNIEn
setProp("java.runtime.version", "1.8");
setProp("java.vendor", "The VMKit Project");
setProp("java.vendor.url", "http://vmkit.llvm.org");
- setEnvProp("java.home", "JAVA_HOME");
+ setPropEnv("java.home", "JAVA_HOME");
setProp("java.class.version", "52.0");
setProp("java.vm.version", "0.5");
setProp("java.vm.vendor", "The VMKit Project");
setProp("java.vm.name", "J3");
setProp("java.specification.version", "1.8");
+ setPropEnv("java.library.path", "LD_LIBRARY_PATH");
struct utsname infos;
uname(&infos);
setProp("os.name", infos.sysname);
setProp("os.arch", infos.machine);
setProp("os.version", infos.release);
-#if 0
setProp("java.io.tmpdir", "/tmp");
JnjvmBootstrapLoader* JCL = vm->bootstrapLoader;
- setProperty(vm, prop, "java.class.path", vm->classpath);
- setProperty(vm, prop, "java.boot.class.path", JCL->bootClasspathEnv);
- setProperty(vm, prop, "sun.boot.class.path", JCL->bootClasspathEnv);
setProperty(vm, prop, "build.compiler", "gcj");
setProperty(vm, prop, "gcj.class.path", JCL->bootClasspathEnv);
setProperty(vm, prop, "gnu.classpath.boot.library.path",
JCL->libClasspathEnv);
- //setProperty(vm, prop, "java.library.path", TODO: getenv("LD_LIBRARY_PATH"))
- setProperty(vm, prop, "sun.boot.library.path", JCL->libClasspathEnv);
// Align behavior with GNU Classpath for now, to pass mauve test
setProperty(vm, prop, "sun.lang.ClassLoader.allowArraySyntax", "true");
Modified: vmkit/branches/mcjit/lib/j3/vm/j3.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3.cc?rev=198527&r1=198526&r2=198527&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3.cc Sat Jan 4 18:34:44 2014
@@ -85,9 +85,7 @@ void J3::run() {
introspect();
vmkit::BumpAllocator* loaderAllocator = vmkit::BumpAllocator::create();
- initialClassLoader =
- new(loaderAllocator)
- J3InitialClassLoader(options()->rtJar, loaderAllocator);
+ initialClassLoader = new(loaderAllocator) J3InitialClassLoader(loaderAllocator);
vmkit::BumpAllocator* a = initialClassLoader->allocator();
Modified: vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc?rev=198527&r1=198526&r2=198527&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc Sat Jan 4 18:34:44 2014
@@ -204,9 +204,9 @@ bool J3ClassLoader::J3InterfaceMethodLes
&& (lhs->signature() < rhs->signature()));
}
-J3InitialClassLoader::J3InitialClassLoader(const char* rtjar, vmkit::BumpAllocator* _alloc)
+J3InitialClassLoader::J3InitialClassLoader(vmkit::BumpAllocator* _alloc)
: J3ClassLoader(0, _alloc) {
- const char* archives = J3Thread::get()->vm()->options()->rtJar;
+ const char* archives = J3Thread::get()->vm()->options()->bootClasspath;
J3ClassBytes* bytes = J3Reader::openFile(allocator(), archives);
//makeLLVMFunctions_j3();
Modified: vmkit/branches/mcjit/lib/j3/vm/j3options.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3options.cc?rev=198527&r1=198526&r2=198527&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3options.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3options.cc Sat Jan 4 18:34:44 2014
@@ -11,7 +11,9 @@ using namespace j3;
J3Options::J3Options() {
assertionsEnabled = 1;
selfBitCodePath = SELF_BITCODE;
- rtJar = J3Lib::systemClassesArchives();
+ bootClasspath = J3Lib::systemClassesArchives();
+ systemLibraryPath = J3Lib::systemLibraryPath();
+ classpath = "";
debugEnterIndent = 1;
More information about the vmkit-commits
mailing list