[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