[vmkit-commits] [vmkit] r58197 - in /vmkit/trunk/lib/JnJVM/VMCore: JavaClass.h JnjvmClassLoader.cpp JnjvmClassLoader.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sun Oct 26 11:57:09 PDT 2008
Author: geoffray
Date: Sun Oct 26 13:57:09 2008
New Revision: 58197
URL: http://llvm.org/viewvc/llvm-project?rev=58197&view=rev
Log:
Don't be isolate specific on this one.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp
vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h?rev=58197&r1=58196&r2=58197&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h Sun Oct 26 13:57:09 2008
@@ -473,6 +473,10 @@
}
UserClassPrimitive* toPrimitive(Jnjvm* vm) const;
+
+ CommonClass* getInternal() {
+ return this;
+ }
};
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp?rev=58197&r1=58196&r2=58197&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp Sun Oct 26 13:57:09 2008
@@ -104,17 +104,12 @@
SuperArray = loadName(asciizConstructUTF8("java/lang/Object"), false,
false);
-
-#ifdef ISOLATE_SHARING
- if (!ClassArray::SuperArray) {
- ClassArray::SuperArray = SuperArray->classDef;
- ClassArray::InterfacesArray[0] = ((Class*)InterfacesArray[0]->classDef);
- ClassArray::InterfacesArray[1] = ((Class*)InterfacesArray[1]->classDef);
- }
-#else
- ClassArray::SuperArray = SuperArray;
- ClassArray::InterfacesArray = InterfacesArray;
-#endif
+
+ ClassArray::SuperArray = SuperArray->getInternal();
+ ClassArray::InterfacesArray =
+ (Class**)allocator.Allocate(2 * sizeof(UserClass*));
+ ClassArray::InterfacesArray[0] = (Class*)InterfacesArray[0]->getInternal();
+ ClassArray::InterfacesArray[1] = (Class*)(InterfacesArray[1]->getInternal());
// And repair the damage: set the interfaces and super of array classes already
// created.
@@ -246,12 +241,10 @@
javaLoader = loader;
isolate = I;
-#ifdef ISOLATE_SHARING
JavaMethod* meth = bootstrapLoader->upcalls->loadInClassLoader;
loader->classOf->lookupMethodDontThrow(meth->name, meth->type, false, true,
- loadClass);
+ &loadClass);
assert(loadClass && "Loader does not have a loadClass function");
-#endif
}
@@ -307,12 +300,7 @@
const UTF8* javaName = name->internalToJava(isolate, 0, name->size);
JavaString* str = isolate->UTF8ToStr(javaName);
Classpath* upcalls = bootstrapLoader->upcalls;
- UserClass* forCtp = 0;
-#ifdef ISOLATE_SHARING
- forCtp = loadClass;
-#else
- forCtp = upcalls->loadInClassLoader->classDef;
-#endif
+ UserClass* forCtp = loadClass;
JavaObject* obj = (JavaObject*)
upcalls->loadInClassLoader->invokeJavaObjectVirtual(isolate, forCtp,
javaLoader, str);
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h?rev=58197&r1=58196&r2=58197&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h Sun Oct 26 13:57:09 2008
@@ -212,9 +212,7 @@
classes = 0;
}
-#ifdef ISOLATE_SHARING
UserClass* loadClass;
-#endif
const UTF8* constructArrayName(uint32 steps, const UTF8* className);
More information about the vmkit-commits
mailing list