[vmkit-commits] [vmkit] r198508 - define a InitProperties function, however, I don't define any property for the moment.
Gael Thomas
gael.thomas at lip6.fr
Sat Jan 4 10:06:00 PST 2014
Author: gthomas
Date: Sat Jan 4 12:05:59 2014
New Revision: 198508
URL: http://llvm.org/viewvc/llvm-project?rev=198508&view=rev
Log:
define a InitProperties function, however, I don't define any property for the moment.
Modified:
vmkit/branches/mcjit/include/j3/j3object.h
vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc
vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc
vmkit/branches/mcjit/lib/j3/vm/j3trampoline.cc
Modified: vmkit/branches/mcjit/include/j3/j3object.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3object.h?rev=198508&r1=198507&r2=198508&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3object.h (original)
+++ vmkit/branches/mcjit/include/j3/j3object.h Sat Jan 4 12:05:59 2014
@@ -43,7 +43,7 @@ namespace j3 {
friend class J3Trampoline;
public:
- static const uint32_t nbInterfaceMethodTable = 41;
+ static const uint32_t nbInterfaceMethodTable = 117;//41;
static const uint32_t gepObjectClass = 0;
static const uint32_t gepInterfaceMethods = 2;
static const uint32_t gepVirtualMethods = 4;
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=198508&r1=198507&r2=198508&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc (original)
+++ vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc Sat Jan 4 12:05:59 2014
@@ -102,7 +102,50 @@ void JNICALL JVM_ArrayCopy(JNIEnv* env,
leaveJVM();
}
-jobject JNICALL JVM_InitProperties(JNIEnv* env, jobject p) { enterJVM(); NYI(); leaveJVM(); }
+jobject JNICALL JVM_InitProperties(JNIEnv* env, jobject p) {
+ enterJVM();
+#if 0
+ /*
+ * <dt>java.version <dd>Java version number
+ * <dt>java.vendor <dd>Java vendor specific string
+ * <dt>java.vendor.url <dd>Java vendor URL
+ * <dt>java.home <dd>Java installation directory
+ * <dt>java.class.version <dd>Java class version number
+ * <dt>java.class.path <dd>Java classpath
+ * <dt>os.name <dd>Operating System Name
+ * <dt>os.arch <dd>Operating System Architecture
+ * <dt>os.version <dd>Operating System Version
+ * <dt>file.separator <dd>File separator ("/" on Unix)
+ * <dt>path.separator <dd>Path separator (":" on Unix)
+ * <dt>line.separator <dd>Line separator ("\n" on Unix)
+ * <dt>user.name <dd>User account name
+ * <dt>user.home <dd>User home directory
+ * <dt>user.dir <dd>User's current working directory
+ */
+ JavaObject * prop = *(JavaObject**)p;
+ llvm_gcroot(prop, 0);
+ setProperties(prop);
+ setCommandLineProperties(prop);
+
+ Jnjvm* vm = JavaThread::get()->getJVM();
+ const char * tmp = getenv("JAVA_COMPILER");
+ if (tmp)
+ setProperty(vm, prop, "java.compiler", tmp);
+
+ // Override properties to indicate java version 1.6
+ setProperty(vm, prop, "java.specification.version", "1.6");
+ setProperty(vm, prop, "java.version", "1.6");
+ setProperty(vm, prop, "java.runtime.version", "1.6");
+
+ // Set additional path properties
+ // For now, ignore JAVA_HOME. We don't want to be using a location
+ // other than the one we precompiled against anyway.
+ setProperty(vm, prop, "java.home", OpenJDKJRE);
+ setProperty(vm, prop, "java.ext.dirs", OpenJDKExtDirs);
+#endif
+ leaveJVM();
+ return p;
+}
/*
* java.io.File
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=198508&r1=198507&r2=198508&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc Sat Jan 4 12:05:59 2014
@@ -43,6 +43,7 @@ uint32_t J3ClassLoader::interfaceIndex(J
if(it == interfaces.end()) {
res = interfaces.size();
+ fprintf(stderr, " new interface: %s::%s%s ---> %d\n", method->cl()->name()->cStr(), method->name()->cStr(), method->signature()->name()->cStr(), res);
interfaces[method] = res;
} else {
res = it->second;
Modified: vmkit/branches/mcjit/lib/j3/vm/j3trampoline.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3trampoline.cc?rev=198508&r1=198507&r2=198508&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3trampoline.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3trampoline.cc Sat Jan 4 12:05:59 2014
@@ -20,7 +20,7 @@ void* J3Trampoline::interfaceTrampoline(
res = desc->methods[0]->fnPtr();
handle->vt()->_interfaceMethodTable[index] = res;
} else
- J3::internalError("implement me: interface Trampoline with collision");
+ J3::internalError("implement me: interface Trampoline with collision: %d", desc->nbMethods);
J3Thread::get()->restore(prev);
More information about the vmkit-commits
mailing list