Fix hprof dumping from DDMS.
Hprof needs to use Get32 and Get64 (or handle every single type specially) ---
you can't GetInt on a char[] field, say, like this code used to do.
Change-Id: I37eda049b7f341f8ad3c8326b9bcf2997efd7b04
diff --git a/src/dalvik_system_VMDebug.cc b/src/dalvik_system_VMDebug.cc
index 7461fc4..65126e7 100644
--- a/src/dalvik_system_VMDebug.cc
+++ b/src/dalvik_system_VMDebug.cc
@@ -197,7 +197,7 @@
}
}
- int result = hprof::hprofDumpHeap(filename.c_str(), fd, false);
+ int result = hprof::DumpHeap(filename.c_str(), fd, false);
if (result != 0) {
// TODO: ideally we'd throw something more specific based on actual failure
jniThrowException(env, "Ljava/lang/RuntimeException;", "Failure during heap dump; check log output for details");
@@ -206,8 +206,7 @@
}
void VMDebug_dumpHprofDataDdms(JNIEnv* env, jclass) {
- UNIMPLEMENTED(WARNING);
- int result = hprof::hprofDumpHeap("[DDMS]", -1, true);
+ int result = hprof::DumpHeap("[DDMS]", -1, true);
if (result != 0) {
// TODO: ideally we'd throw something more specific based on actual failure
jniThrowException(env, "Ljava/lang/RuntimeException;", "Failure during heap dump; check log output for details");