Implement as much of VMDebug as we can reasonably do right now.
No hprof and no method tracing, but everything else.
Change-Id: Ifccd1f08e31f34b947c30f1211db788aae674d81
diff --git a/src/jni_internal.cc b/src/jni_internal.cc
index 6c25f6e..f9fcb78 100644
--- a/src/jni_internal.cc
+++ b/src/jni_internal.cc
@@ -2537,6 +2537,11 @@
JNIEnvExt::~JNIEnvExt() {
}
+void JNIEnvExt::DumpReferenceTables() {
+ locals.Dump();
+ monitors.Dump();
+}
+
// JNI Invocation interface.
extern "C" jint JNI_CreateJavaVM(JavaVM** p_vm, void** p_env, void* vm_args) {
@@ -2672,6 +2677,21 @@
delete libraries;
}
+void JavaVMExt::DumpReferenceTables() {
+ {
+ MutexLock mu(globals_lock);
+ globals.Dump();
+ }
+ {
+ MutexLock mu(weak_globals_lock);
+ weak_globals.Dump();
+ }
+ {
+ MutexLock mu(pins_lock);
+ pin_table.Dump();
+ }
+}
+
bool JavaVMExt::LoadNativeLibrary(const std::string& path, ClassLoader* class_loader, std::string& detail) {
detail.clear();