[vmkit-commits] [vmkit] r61855 - in /vmkit/trunk/lib/JnJVM/VMCore: JavaThread.cpp JavaThread.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Wed Jan 7 01:19:13 PST 2009
Author: geoffray
Date: Wed Jan 7 03:19:12 2009
New Revision: 61855
URL: http://llvm.org/viewvc/llvm-project?rev=61855&view=rev
Log:
New method to only print Java methods in the stack.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/JavaThread.cpp
vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaThread.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaThread.cpp?rev=61855&r1=61854&r2=61855&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaThread.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaThread.cpp Wed Jan 7 03:19:12 2009
@@ -133,6 +133,18 @@
}
}
+void JavaThread::printJavaBacktrace() {
+ Jnjvm* vm = getJVM();
+ std::vector<void*> vals;
+ for (std::vector<void*>::iterator i = vals.begin(), e = vals.end();
+ i != e; ++i) {
+ JavaMethod* meth = vm->IPToMethod<JavaMethod>(*i);
+ assert(meth && "Wrong stack");
+ fprintf(stderr, "; %p in %s\n", *i, meth->printString());
+ }
+}
+
+
#include <dlfcn.h>
static void printFunctionInfo(void* ip) {
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h?rev=61855&r1=61854&r2=61855&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h Wed Jan 7 03:19:12 2009
@@ -248,6 +248,11 @@
/// printBacktrace - Prints the backtrace of this thread.
///
void printBacktrace();
+
+ /// printJavaBacktrace - Prints the backtrace of this thread. Only prints
+ /// the Java methods on the stack.
+ ///
+ void printJavaBacktrace();
/// getJavaFrameContext - Fill the vector with Java frames
/// currently on the stack.
More information about the vmkit-commits
mailing list