[vmkit-commits] [vmkit] r91793 - in /vmkit/trunk/lib/J3: Compiler/JavaAOTCompiler.cpp VMCore/JnjvmClassLoader.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sun Dec 20 12:44:07 PST 2009
Author: geoffray
Date: Sun Dec 20 14:44:06 2009
New Revision: 91793
URL: http://llvm.org/viewvc/llvm-project?rev=91793&view=rev
Log:
Verify that we are checking against a real Java object.
Modified:
vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp
vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h
Modified: vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp?rev=91793&r1=91792&r2=91793&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp Sun Dec 20 14:44:06 2009
@@ -2185,7 +2185,7 @@
for (; I != E; ++I) {
JavaObject* obj = (JavaObject*)(*I);
- if (obj->instanceOf(cl)) {
+ if (!VMClassLoader::isVMClassLoader(obj) && obj->instanceOf(cl)) {
if (currentClass) {
if (obj->getClass() != currentClass) {
return 0;
Modified: vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h?rev=91793&r1=91792&r2=91793&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h (original)
+++ vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h Sun Dec 20 14:44:06 2009
@@ -444,6 +444,12 @@
///
static VirtualTable VT;
+ /// Is the object a VMClassLoader object?
+ ///
+ static bool isVMClassLoader(JavaObject* obj) {
+ return obj->getVirtualTable() == &VT;
+ }
+
/// staticTracer - Trace the internal class loader.
///
static void staticTracer(VMClassLoader* obj) {
More information about the vmkit-commits
mailing list