[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