[vmkit-commits] [vmkit] r56210 - in /vmkit/branches/isolate/lib/JnJVM/Classpath: ClasspathConstructor.cpp.inc ClasspathMethod.cpp.inc

Nicolas Geoffray nicolas.geoffray at lip6.fr
Mon Sep 15 05:17:19 PDT 2008


Author: geoffray
Date: Mon Sep 15 07:17:19 2008
New Revision: 56210

URL: http://llvm.org/viewvc/llvm-project?rev=56210&view=rev
Log:
Use the right loader in a isolate environment.


Modified:
    vmkit/branches/isolate/lib/JnJVM/Classpath/ClasspathConstructor.cpp.inc
    vmkit/branches/isolate/lib/JnJVM/Classpath/ClasspathMethod.cpp.inc

Modified: vmkit/branches/isolate/lib/JnJVM/Classpath/ClasspathConstructor.cpp.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/isolate/lib/JnJVM/Classpath/ClasspathConstructor.cpp.inc?rev=56210&r1=56209&r2=56210&view=diff

==============================================================================
--- vmkit/branches/isolate/lib/JnJVM/Classpath/ClasspathConstructor.cpp.inc (original)
+++ vmkit/branches/isolate/lib/JnJVM/Classpath/ClasspathConstructor.cpp.inc Mon Sep 15 07:17:19 2008
@@ -34,7 +34,14 @@
 jobject cons) {
   Jnjvm* vm = JavaThread::get()->isolate;
   JavaMethod* meth = (JavaMethod*)(vm->upcalls->constructorSlot->getInt32Field((JavaObject*)cons));
+#ifdef MULTIPLE_VM
+  jclass Cl = (jclass)vm->upcalls->constructorClass->getInt32Field((JavaObject*)cons);
+  UserCommonClass* cl = NativeUtil::resolvedImplClass(Cl, false);
+  JnjvmClassLoader* loader = cl->classLoader;
+#else
   JnjvmClassLoader* loader = meth->classDef->classLoader;
+#endif
+
   return (jobject)(NativeUtil::getParameterTypes(loader, meth));
 }
 

Modified: vmkit/branches/isolate/lib/JnJVM/Classpath/ClasspathMethod.cpp.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/isolate/lib/JnJVM/Classpath/ClasspathMethod.cpp.inc?rev=56210&r1=56209&r2=56210&view=diff

==============================================================================
--- vmkit/branches/isolate/lib/JnJVM/Classpath/ClasspathMethod.cpp.inc (original)
+++ vmkit/branches/isolate/lib/JnJVM/Classpath/ClasspathMethod.cpp.inc Mon Sep 15 07:17:19 2008
@@ -62,7 +62,13 @@
                                                                           jobject Meth) {
   Jnjvm* vm = JavaThread::get()->isolate;
   JavaMethod* meth = (JavaMethod*)vm->upcalls->methodSlot->getInt32Field((JavaObject*)Meth);
+#ifdef MULTIPLE_VM
+  jclass Cl = (jclass)vm->upcalls->methodClass->getInt32Field((JavaObject*)Meth);
+  UserCommonClass* cl = NativeUtil::resolvedImplClass(Cl, false);
+  JnjvmClassLoader* loader = cl->classLoader;
+#else
   JnjvmClassLoader* loader = meth->classDef->classLoader;
+#endif
   return (jobject)(NativeUtil::getParameterTypes(loader, meth));
 }
 





More information about the vmkit-commits mailing list