[vmkit-commits] [vmkit] r146065 - in /vmkit/trunk: include/j3/ lib/j3/ClassLib/ lib/j3/ClassLib/GNUClasspath/ lib/j3/ClassLib/OpenJDK/ lib/j3/Compiler/ lib/j3/LLVMRuntime/ lib/j3/VMCore/

Nicolas Geoffray nicolas.geoffray at lip6.fr
Wed Dec 7 12:28:37 PST 2011


Author: geoffray
Date: Wed Dec  7 14:28:37 2011
New Revision: 146065

URL: http://llvm.org/viewvc/llvm-project?rev=146065&view=rev
Log:
isAssignableFrom -> isSubclassOf. The first one is just too confusing.


Modified:
    vmkit/trunk/include/j3/J3Intrinsics.h
    vmkit/trunk/include/j3/jni.h
    vmkit/trunk/lib/j3/ClassLib/ArrayCopy.inc
    vmkit/trunk/lib/j3/ClassLib/ClasspathConstructor.inc
    vmkit/trunk/lib/j3/ClassLib/ClasspathMethod.inc
    vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathVMClass.inc
    vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathVMThrowable.inc
    vmkit/trunk/lib/j3/ClassLib/OpenJDK/ClasspathReflect.cpp
    vmkit/trunk/lib/j3/Compiler/J3Intrinsics.cpp
    vmkit/trunk/lib/j3/Compiler/JavaAOTCompiler.cpp
    vmkit/trunk/lib/j3/Compiler/JavaJIT.cpp
    vmkit/trunk/lib/j3/Compiler/JavaJITOpcodes.cpp
    vmkit/trunk/lib/j3/Compiler/LowerConstantCalls.cpp
    vmkit/trunk/lib/j3/LLVMRuntime/runtime-default.ll
    vmkit/trunk/lib/j3/VMCore/JavaClass.cpp
    vmkit/trunk/lib/j3/VMCore/JavaClass.h
    vmkit/trunk/lib/j3/VMCore/JavaMetaJIT.cpp
    vmkit/trunk/lib/j3/VMCore/JavaObject.cpp
    vmkit/trunk/lib/j3/VMCore/JavaRuntimeJIT.cpp
    vmkit/trunk/lib/j3/VMCore/Jni.cpp
    vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp

Modified: vmkit/trunk/include/j3/J3Intrinsics.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/j3/J3Intrinsics.h?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/include/j3/J3Intrinsics.h (original)
+++ vmkit/trunk/include/j3/J3Intrinsics.h Wed Dec  7 14:28:37 2011
@@ -69,7 +69,7 @@
   llvm::Function* ResolveInterfaceFunction;
 
   llvm::Function* VirtualLookupFunction;
-  llvm::Function* IsAssignableFromFunction;
+  llvm::Function* IsSubclassOfFunction;
   llvm::Function* IsSecondaryClassFunction;
   llvm::Function* GetDepthFunction;
   llvm::Function* GetDisplayFunction;

Modified: vmkit/trunk/include/j3/jni.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/j3/jni.h?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/include/j3/jni.h (original)
+++ vmkit/trunk/include/j3/jni.h Wed Dec  7 14:28:37 2011
@@ -233,7 +233,7 @@
 						    jmethodID, jboolean);
 
   jclass   (JNICALL *GetSuperclass)                (JNIEnv *, jclass);
-  jboolean (JNICALL *IsAssignableFrom)             (JNIEnv *, jclass, jclass);
+  jboolean (JNICALL *IsSubclassOf)             (JNIEnv *, jclass, jclass);
 
   jobject  (JNICALL *ToReflectedField)		   (JNIEnv *, jclass, jfieldID,
                                                     jboolean);
@@ -686,8 +686,8 @@
   jclass GetSuperclass (jclass cl0)
   { return p->GetSuperclass (this, cl0); }
 
-  jboolean IsAssignableFrom (jclass cl0, jclass cl1)
-  { return p->IsAssignableFrom (this, cl0, cl1); }
+  jboolean IsSubclassOf (jclass cl0, jclass cl1)
+  { return p->IsSubclassOf (this, cl0, cl1); }
 
   jobject ToReflectedField (jclass cl0, jfieldID fld1, jboolean val2)
   { return p->ToReflectedField (this, cl0, fld1, val2); }

Modified: vmkit/trunk/lib/j3/ClassLib/ArrayCopy.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/ArrayCopy.inc?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/ArrayCopy.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/ArrayCopy.inc Wed Dec  7 14:28:37 2011
@@ -71,7 +71,7 @@
     for (int i = 0; i < len; i++) {
       cur = ArrayObject::getElement((ArrayObject*)src, i + sstart);
       if (cur) {
-        if (!(JavaObject::getClass(cur)->isAssignableFrom(dstType))) {
+        if (!(JavaObject::getClass(cur)->isSubclassOf(dstType))) {
           copyLen = i; // copy up until this element
           break;
         }

Modified: vmkit/trunk/lib/j3/ClassLib/ClasspathConstructor.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/ClasspathConstructor.inc?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/ClasspathConstructor.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/ClasspathConstructor.inc Wed Dec  7 14:28:37 2011
@@ -124,7 +124,7 @@
         excp = th->getJavaException();
       } END_CATCH;
       if (excp) {
-        if (JavaObject::getClass(excp)->isAssignableFrom(vm->upcalls->newException)) {
+        if (JavaObject::getClass(excp)->isSubclassOf(vm->upcalls->newException)) {
           th->clearException();
           // If it's an exception, we encapsule it in an
           // invocationTargetException

Modified: vmkit/trunk/lib/j3/ClassLib/ClasspathMethod.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/ClasspathMethod.inc?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/ClasspathMethod.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/ClasspathMethod.inc Wed Dec  7 14:28:37 2011
@@ -126,7 +126,7 @@
     if (isVirtual(meth->access)) {
       verifyNull(obj);
       UserCommonClass* objCl = JavaObject::getClass(obj);
-      if (!(objCl->isAssignableFrom(cl))) {
+      if (!(objCl->isSubclassOf(cl))) {
         vm->illegalArgumentException("<this> is not a valid type");
       }
 

Modified: vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathVMClass.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathVMClass.inc?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathVMClass.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathVMClass.inc Wed Dec  7 14:28:37 2011
@@ -275,7 +275,7 @@
   UserCommonClass* cl1 = UserCommonClass::resolvedImplClass(vm, Cl1, false);
   UserCommonClass* cl2 = UserCommonClass::resolvedImplClass(vm, Cl2, false);
 
-  res = cl2->isAssignableFrom(cl1);
+  res = cl2->isSubclassOf(cl1);
 
   END_NATIVE_EXCEPTION
 

Modified: vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathVMThrowable.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathVMThrowable.inc?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathVMThrowable.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathVMThrowable.inc Wed Dec  7 14:28:37 2011
@@ -149,7 +149,7 @@
     else {
       JavaMethod* meth = (JavaMethod*)FI->Metadata;
       assert(meth && "Wrong stack trace");
-      if (meth->classDef->isAssignableFrom(vm->upcalls->newThrowable)) {
+      if (meth->classDef->isSubclassOf(vm->upcalls->newThrowable)) {
         ++index;
       } else break;
     }

Modified: vmkit/trunk/lib/j3/ClassLib/OpenJDK/ClasspathReflect.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/OpenJDK/ClasspathReflect.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/OpenJDK/ClasspathReflect.cpp (original)
+++ vmkit/trunk/lib/j3/ClassLib/OpenJDK/ClasspathReflect.cpp Wed Dec  7 14:28:37 2011
@@ -49,7 +49,7 @@
     else {
       JavaMethod* meth = (JavaMethod*)FI->Metadata;
       assert(meth && "Wrong stack trace");
-      if (meth->classDef->isAssignableFrom(vm->upcalls->newThrowable)) {
+      if (meth->classDef->isSubclassOf(vm->upcalls->newThrowable)) {
         ++index;
       } else return index;
     }

Modified: vmkit/trunk/lib/j3/Compiler/J3Intrinsics.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/J3Intrinsics.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/J3Intrinsics.cpp (original)
+++ vmkit/trunk/lib/j3/Compiler/J3Intrinsics.cpp Wed Dec  7 14:28:37 2011
@@ -177,7 +177,7 @@
  
   GetClassDelegateeFunction = module->getFunction("getClassDelegatee");
   RuntimeDelegateeFunction = module->getFunction("j3RuntimeDelegatee");
-  IsAssignableFromFunction = module->getFunction("isAssignableFrom");
+  IsSubclassOfFunction = module->getFunction("isSubclassOf");
   IsSecondaryClassFunction = module->getFunction("isSecondaryClass");
   GetDepthFunction = module->getFunction("getDepth");
   GetStaticInstanceFunction = module->getFunction("getStaticInstance");

Modified: vmkit/trunk/lib/j3/Compiler/JavaAOTCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/JavaAOTCompiler.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/JavaAOTCompiler.cpp (original)
+++ vmkit/trunk/lib/j3/Compiler/JavaAOTCompiler.cpp Wed Dec  7 14:28:37 2011
@@ -1607,7 +1607,7 @@
       Tracer = ArrayObjectTracer;
     }
   } else if (classDef->isClass()) {
-    if (classDef->isAssignableFrom(
+    if (classDef->isSubclassOf(
           classDef->classLoader->bootstrapLoader->upcalls->newReference)) {
       Tracer = ReferenceObjectTracer;
     } else {

Modified: vmkit/trunk/lib/j3/Compiler/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/JavaJIT.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/j3/Compiler/JavaJIT.cpp Wed Dec  7 14:28:37 2011
@@ -61,7 +61,7 @@
 
 bool JavaJIT::needsInitialisationCheck(Class* cl) {
   if (cl->isReadyForCompilation() || 
-      (!cl->isInterface() && compilingClass->isAssignableFrom(cl))) {
+      (!cl->isInterface() && compilingClass->isSubclassOf(cl))) {
     return false;
   }
 
@@ -141,7 +141,7 @@
   if (thisReference && meth) {
     isCustomizable = true;
     if ((customizeFor != NULL)
-        && customizeFor->isAssignableFrom(cl)) {
+        && customizeFor->isSubclassOf(cl)) {
       meth = customizeFor->lookupMethodDontThrow(
           meth->name, meth->type, false, true, NULL);
       assert(meth);

Modified: vmkit/trunk/lib/j3/Compiler/JavaJITOpcodes.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/JavaJITOpcodes.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/JavaJITOpcodes.cpp (original)
+++ vmkit/trunk/lib/j3/Compiler/JavaJITOpcodes.cpp Wed Dec  7 14:28:37 2011
@@ -682,7 +682,7 @@
       
       case AASTORE : {
         if (TheCompiler->hasExceptionsEnabled()) {
-          // Get val and object and don't pop them: IsAssignableFromFunction
+          // Get val and object and don't pop them: IsSubclassOfFunction
           // may go into runtime and we don't want values in registers at that
           // point.
           Value* val = new LoadInst(objectStack[currentStackIndex - 1], "",
@@ -712,7 +712,7 @@
           
           Value* VTArgs[2] = { valVT, objVT };
           
-          Value* res = CallInst::Create(intrinsics->IsAssignableFromFunction,
+          Value* res = CallInst::Create(intrinsics->IsSubclassOfFunction,
                                         VTArgs, "", currentBlock);
 
           BranchInst::Create(endBlock, exceptionBlock, res, currentBlock);
@@ -2271,7 +2271,7 @@
                                TheVT, "");
           }
         } else {
-          res = CallInst::Create(intrinsics->IsAssignableFromFunction,
+          res = CallInst::Create(intrinsics->IsSubclassOfFunction,
                                  classArgs, "", currentBlock);
         }
 
@@ -3339,7 +3339,7 @@
         bool customized = false;
         if (!(isFinal(cl->access) || isFinal(meth->access))) {
           if (customizeFor == NULL) return false;
-          if (!customizeFor->isAssignableFrom(cl)) return false;
+          if (!customizeFor->isSubclassOf(cl)) return false;
           meth = customizeFor->lookupMethodDontThrow(
               meth->name, meth->type, false, true, NULL);
           assert(meth);

Modified: vmkit/trunk/lib/j3/Compiler/LowerConstantCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/LowerConstantCalls.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/LowerConstantCalls.cpp (original)
+++ vmkit/trunk/lib/j3/Compiler/LowerConstantCalls.cpp Wed Dec  7 14:28:37 2011
@@ -501,7 +501,7 @@
           Value* res = new LoadInst(val, "", CI);
           CI->replaceAllUsesWith(res);
           CI->eraseFromParent();
-        } else if (V == intrinsics->IsAssignableFromFunction) {
+        } else if (V == intrinsics->IsSubclassOfFunction) {
           Changed = true;
           Value* VT1 = Call.getArgument(0);
           Value* VT2 = Call.getArgument(1);

Modified: vmkit/trunk/lib/j3/LLVMRuntime/runtime-default.ll
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/LLVMRuntime/runtime-default.ll?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/LLVMRuntime/runtime-default.ll (original)
+++ vmkit/trunk/lib/j3/LLVMRuntime/runtime-default.ll Wed Dec  7 14:28:37 2011
@@ -208,8 +208,8 @@
 ;;; block or method.
 declare void @j3JavaObjectRelease(%JavaObject*)
 
-;;; isAssignableFrom - Returns if a type is a subtype of another type.
-declare i1 @isAssignableFrom(%VT*, %VT*) readnone
+;;; isSubclassOf - Returns if a type is a subtype of another type.
+declare i1 @isSubclassOf(%VT*, %VT*) readnone
 
 ;;; isSecondaryClass - Returns if a type is a secondary super type of
 ;;; another type.

Modified: vmkit/trunk/lib/j3/VMCore/JavaClass.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JavaClass.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JavaClass.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JavaClass.cpp Wed Dec  7 14:28:37 2011
@@ -315,7 +315,7 @@
   if (meth &&
       isSuper(current->access) &&
       current != meth->classDef &&
-      meth->classDef->isAssignableFrom(current) &&
+      meth->classDef->isSubclassOf(current) &&
       !name->equals(classLoader->bootstrapLoader->initName)) {
     meth = current->super->lookupMethodDontThrow(name, type, false, true, NULL);
   }
@@ -490,7 +490,7 @@
   }
 }
 
-bool UserCommonClass::isAssignableFrom(UserCommonClass* cl) {
+bool UserCommonClass::isSubclassOf(UserCommonClass* cl) {
   assert(virtualVT && cl->virtualVT);
   return virtualVT->isSubtypeOf(cl->virtualVT);
 }
@@ -1362,7 +1362,7 @@
 
     Class* referenceClass = 
         C->classLoader->bootstrapLoader->upcalls->newReference;
-    if (referenceClass != NULL && C->super->isAssignableFrom(referenceClass)) {
+    if (referenceClass != NULL && C->super->isSubclassOf(referenceClass)) {
       tracer = (word_t)ReferenceObjectTracer;
     } else {
       tracer = (word_t)RegularObjectTracer;

Modified: vmkit/trunk/lib/j3/VMCore/JavaClass.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JavaClass.h?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JavaClass.h (original)
+++ vmkit/trunk/lib/j3/VMCore/JavaClass.h Wed Dec  7 14:28:37 2011
@@ -293,10 +293,10 @@
   ///
   bool isOfTypeName(const UTF8* Tname);
 
-  /// isAssignableFrom - Is this class assignable from the given class? The
+  /// isSubclassOf - Is this class assignable from the given class? The
   /// classes may be of any type.
   ///
-  bool isAssignableFrom(CommonClass* cl);
+  bool isSubclassOf(CommonClass* cl);
 
   /// getClassDelegatee - Return the java/lang/Class representation of this
   /// class.

Modified: vmkit/trunk/lib/j3/VMCore/JavaMetaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JavaMetaJIT.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JavaMetaJIT.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JavaMetaJIT.cpp Wed Dec  7 14:28:37 2011
@@ -172,7 +172,7 @@
     meth = objCl->lookupMethodDontThrow(name, type, false, true, &cl); \
   } \
   assert(meth && "No method found"); \
-  assert(objCl->isAssignableFrom(meth->classDef) && "Wrong type"); \
+  assert(objCl->isSubclassOf(meth->classDef) && "Wrong type"); \
   void* func = meth->compiledPtr(); \
   FUNC_TYPE_VIRTUAL_BUF call = (FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf(); \
   JavaThread* th = JavaThread::get(); \

Modified: vmkit/trunk/lib/j3/VMCore/JavaObject.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JavaObject.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JavaObject.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JavaObject.cpp Wed Dec  7 14:28:37 2011
@@ -352,5 +352,5 @@
 bool JavaObject::instanceOf(JavaObject* self, UserCommonClass* cl) {
   llvm_gcroot(self, 0);
   if (self == NULL) return false;
-  else return getClass(self)->isAssignableFrom(cl);
+  else return getClass(self)->isSubclassOf(cl);
 }

Modified: vmkit/trunk/lib/j3/VMCore/JavaRuntimeJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JavaRuntimeJIT.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JavaRuntimeJIT.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JavaRuntimeJIT.cpp Wed Dec  7 14:28:37 2011
@@ -387,7 +387,7 @@
   ctpInfo->infoOfMethod(ctpIndex, ACC_VIRTUAL, ctpCl, origMeth);
 
   ctpInfo->resolveMethod(ctpIndex, ctpCl, utf8, sign);
-  assert(cl->isAssignableFrom(ctpCl) && "Wrong call object");
+  assert(cl->isSubclassOf(ctpCl) && "Wrong call object");
   UserClass* lookup = cl->isArray() ? cl->super : cl->asClass();
   JavaMethod* Virt = lookup->lookupMethod(utf8, sign->keyName, false, true, 0);
 

Modified: vmkit/trunk/lib/j3/VMCore/Jni.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/Jni.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/Jni.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/Jni.cpp Wed Dec  7 14:28:37 2011
@@ -150,7 +150,7 @@
 }
   
  
-jboolean IsAssignableFrom(JNIEnv *env, jclass _sub, jclass _sup) {
+jboolean IsSubclassOf(JNIEnv *env, jclass _sub, jclass _sup) {
   
   BEGIN_JNI_EXCEPTION
  
@@ -166,7 +166,7 @@
   UserCommonClass* cl1 = 
     UserCommonClass::resolvedImplClass(vm, sub, false);
 
-  jboolean res = (jboolean)cl1->isAssignableFrom(cl2);
+  jboolean res = (jboolean)cl1->isSubclassOf(cl2);
   RETURN_FROM_JNI(res);
   
   END_JNI_EXCEPTION
@@ -4154,7 +4154,7 @@
 	&FromReflectedField,
 	&ToReflectedMethod,
 	&GetSuperclass,
-	&IsAssignableFrom,
+	&IsSubclassOf,
 	&ToReflectedField,
 
 	&Throw,

Modified: vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp?rev=146065&r1=146064&r2=146065&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp Wed Dec  7 14:28:37 2011
@@ -201,7 +201,7 @@
     //     ExceptionInInitializerError cannot be created because an
     //     OutOfMemoryError occurs, then instead use an OutOfMemoryError object
     //     in place of E in the following step.
-    if (JavaObject::getClass(exc)->isAssignableFrom(vm->upcalls->newException)) {
+    if (JavaObject::getClass(exc)->isSubclassOf(vm->upcalls->newException)) {
       Classpath* upcalls = classLoader->bootstrapLoader->upcalls;
       UserClass* clExcp = upcalls->ExceptionInInitializerError;
       Jnjvm* vm = self->getJVM();





More information about the vmkit-commits mailing list