[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