summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-12-08 16:20:26 -0800
committerMathieu Chartier <mathieuc@google.com>2014-12-08 17:33:56 -0800
commit063028aa682ca4ceec006c0879c09ad078c9d512 (patch)
tree82b004e1df0e2101b5462175c8136e3e9b97d271
parentee7c30e1f9a40b6498f7aa374e71bb0bfc6482a3 (diff)
downloadbase-063028aa682ca4ceec006c0879c09ad078c9d512.tar.gz
Add more -d dalvik details to dumpsys
Added .NonMoving for the non moving space. Added .Zygote for the zygote. Added .IndirectRef for indirect reference tables (jobjects). Example: Dalvik Details .Heap 2264 2264 0 0 .LOS 80 80 0 0 .GC 144 144 0 0 .Zygote 331 196 0 2428 .NonMoving 540 540 0 0 .IndirectRef 20 20 0 0 Bug: 18672069 Change-Id: Id14e5bc92ceb15fe7a17d9fb035f18aa2925e50c (cherry picked from commit 25c5e2b12d5d5d06739e3f70a0da968d97935b46)
-rw-r--r--core/java/android/os/Debug.java5
-rw-r--r--core/jni/android_os_Debug.cpp15
2 files changed, 16 insertions, 4 deletions
diff --git a/core/java/android/os/Debug.java b/core/java/android/os/Debug.java
index 18730b65a7dd..344dc91531f3 100644
--- a/core/java/android/os/Debug.java
+++ b/core/java/android/os/Debug.java
@@ -168,7 +168,7 @@ public final class Debug
public static final int NUM_OTHER_STATS = 16;
/** @hide */
- public static final int NUM_DVK_STATS = 5;
+ public static final int NUM_DVK_STATS = 8;
/** @hide */
public static final int NUM_CATEGORIES = 7;
@@ -313,6 +313,9 @@ public final class Debug
case 18: return ".LinearAlloc";
case 19: return ".GC";
case 20: return ".JITCache";
+ case 21: return ".Zygote";
+ case 22: return ".NonMoving";
+ case 23: return ".IndirectRef";
default: return "????";
}
}
diff --git a/core/jni/android_os_Debug.cpp b/core/jni/android_os_Debug.cpp
index db32272ea197..141138d619ee 100644
--- a/core/jni/android_os_Debug.cpp
+++ b/core/jni/android_os_Debug.cpp
@@ -68,6 +68,9 @@ enum {
HEAP_DALVIK_LINEARALLOC,
HEAP_DALVIK_ACCOUNTING,
HEAP_DALVIK_CODE_CACHE,
+ HEAP_DALVIK_ZYGOTE,
+ HEAP_DALVIK_NON_MOVING,
+ HEAP_DALVIK_INDIRECT_REFERENCE_TABLE,
_NUM_HEAP,
_NUM_EXCLUSIVE_HEAP = HEAP_OTHER_MEMTRACK+1,
@@ -271,15 +274,21 @@ static void read_mapinfo(FILE *fp, stats_t* stats)
if (strstr(name, "/dev/ashmem/dalvik-LinearAlloc") == name) {
subHeap = HEAP_DALVIK_LINEARALLOC;
} else if ((strstr(name, "/dev/ashmem/dalvik-alloc space") == name) ||
- (strstr(name, "/dev/ashmem/dalvik-main space") == name) ||
- (strstr(name, "/dev/ashmem/dalvik-zygote space") == name) ||
- (strstr(name, "/dev/ashmem/dalvik-non moving space") == name)) {
+ (strstr(name, "/dev/ashmem/dalvik-main space") == name)) {
// This is the regular Dalvik heap.
whichHeap = HEAP_DALVIK;
subHeap = HEAP_DALVIK_NORMAL;
} else if (strstr(name, "/dev/ashmem/dalvik-large object space") == name) {
whichHeap = HEAP_DALVIK;
subHeap = HEAP_DALVIK_LARGE;
+ } else if (strstr(name, "/dev/ashmem/dalvik-non moving space") == name) {
+ whichHeap = HEAP_DALVIK;
+ subHeap = HEAP_DALVIK_NON_MOVING;
+ } else if (strstr(name, "/dev/ashmem/dalvik-zygote space") == name) {
+ whichHeap = HEAP_DALVIK;
+ subHeap = HEAP_DALVIK_ZYGOTE;
+ } else if (strstr(name, "/dev/ashmem/dalvik-indirect ref") == name) {
+ subHeap = HEAP_DALVIK_INDIRECT_REFERENCE_TABLE;
} else if (strstr(name, "/dev/ashmem/dalvik-jit-code-cache") == name) {
subHeap = HEAP_DALVIK_CODE_CACHE;
} else {