[llvm-commits] [vmkit] r52279 - /vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Sat Jun 14 11:14:46 PDT 2008


Author: geoffray
Date: Sat Jun 14 13:14:45 2008
New Revision: 52279

URL: http://llvm.org/viewvc/llvm-project?rev=52279&view=rev
Log:
Don't include throwable methods when backtracing an exception.


Modified:
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp

Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp?rev=52279&r1=52278&r2=52279&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp Sat Jun 14 13:14:45 2008
@@ -93,19 +93,13 @@
 #endif
 jobject vmthrow, jobject throwable) {
   int** stack = (int**)Classpath::vmDataVMThrowable->getVirtualObjectField((JavaObject*)vmthrow);
-  CommonClass* cl = ((JavaObject*)throwable)->classOf;
   uint32 first = 0;
   sint32 i = 0;
   
   while (stack[i] != 0) {
-#ifdef MULTIPLE_GC
-    int *begIp = (int*)mvm::Thread::get()->GC->begOf((void*)stack[i++]);
-#else
-    int *begIp = (int*)Collector::begOf((void*)stack[i++]);
-#endif
-    JavaMethod* meth = JavaJIT::IPToJavaMethod(begIp);
-    if (meth && meth->classDef == cl) {
-      first = i;
+    JavaMethod* meth = JavaJIT::IPToJavaMethod(stack[i++]);
+    if (meth && !meth->classDef->subclassOf(Classpath::newThrowable)) {
+      first = i - 1;
       break;
     }
   }





More information about the llvm-commits mailing list