[vmkit-commits] [vmkit] r180467 - Added debugging methods to j3::JavaObject and j3::Class.

Peter Senna Tschudin peter.senna at gmail.com
Thu Apr 25 10:15:09 PDT 2013


Author: peter.senna
Date: Thu Apr 25 12:13:39 2013
New Revision: 180467

URL: http://llvm.org/viewvc/llvm-project?rev=180467&view=rev
Log:
Added debugging methods to j3::JavaObject and j3::Class.
(cherry picked from commit 974d67ed1a2b0fc9f35bba694a21ead191eee578)

Modified:
    vmkit/trunk/lib/j3/VMCore/JavaClass.cpp
    vmkit/trunk/lib/j3/VMCore/JavaClass.h
    vmkit/trunk/lib/j3/VMCore/JavaObject.cpp
    vmkit/trunk/lib/j3/VMCore/JavaObject.h
    vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp
    vmkit/trunk/lib/j3/VMCore/Jnjvm.h

Modified: vmkit/trunk/lib/j3/VMCore/JavaClass.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JavaClass.cpp?rev=180467&r1=180466&r2=180467&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JavaClass.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JavaClass.cpp Thu Apr 25 12:13:39 2013
@@ -2030,3 +2030,14 @@ void JavaField::setStaticField(JavaObjec
 	llvm_gcroot(val, 0);
 	FieldSetter<JavaObject*>::setStaticField(this, val);
 }
+
+void CommonClass::dump() const
+{
+	cerr << *name;
+	if (!super)
+		cerr << ';' << endl;
+	else {
+		cerr << ':';
+		super->dump();
+	}
+}

Modified: vmkit/trunk/lib/j3/VMCore/JavaClass.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JavaClass.h?rev=180467&r1=180466&r2=180467&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JavaClass.h (original)
+++ vmkit/trunk/lib/j3/VMCore/JavaClass.h Thu Apr 25 12:13:39 2013
@@ -394,6 +394,8 @@ public:
   //
   static UserCommonClass* resolvedImplClass(Jnjvm* vm, JavaObject* delegatee,
                                             bool doClinit);
+
+  void dump() const __attribute__((noinline));
 };
 
 /// ClassPrimitive - This class represents internal classes for primitive

Modified: vmkit/trunk/lib/j3/VMCore/JavaObject.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JavaObject.cpp?rev=180467&r1=180466&r2=180467&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JavaObject.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JavaObject.cpp Thu Apr 25 12:13:39 2013
@@ -430,3 +430,8 @@ void JavaObject::dump() const
 {
 	cerr << *this << endl;
 }
+
+void JavaObject::dumpClass() const
+{
+	JavaObject::getClass(this)->dump();
+}

Modified: vmkit/trunk/lib/j3/VMCore/JavaObject.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JavaObject.h?rev=180467&r1=180466&r2=180467&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JavaObject.h (original)
+++ vmkit/trunk/lib/j3/VMCore/JavaObject.h Thu Apr 25 12:13:39 2013
@@ -334,6 +334,7 @@ public:
   /// hashCode - Return the hash code of this object.
   static uint32_t hashCode(JavaObject* self);
 
+  void dumpClass() const __attribute__((noinline));
   void dump() const __attribute__((noinline));
   friend std::ostream& operator << (std::ostream&, const JavaObject&);
 };

Modified: vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp?rev=180467&r1=180466&r2=180467&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp Thu Apr 25 12:13:39 2013
@@ -1530,3 +1530,9 @@ void Jnjvm::printMethod(vmkit::FrameInfo
 
   fprintf(stderr, "\n");
 }
+
+void Jnjvm::printBacktrace()
+{
+	std::cerr << "Back trace:" << std::endl;
+	JavaThread::get()->printJavaBacktrace();
+}

Modified: vmkit/trunk/lib/j3/VMCore/Jnjvm.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/Jnjvm.h?rev=180467&r1=180466&r2=180467&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/Jnjvm.h (original)
+++ vmkit/trunk/lib/j3/VMCore/Jnjvm.h Thu Apr 25 12:13:39 2013
@@ -362,6 +362,8 @@ public:
   ///
   void loadBootstrap();
 
+  static void printBacktrace() __attribute__((noinline));
+
 #if RESET_STALE_REFERENCES
 
 public:





More information about the vmkit-commits mailing list