Break out Oat footprint for ram

Breaking out oat footprint in meminfo.

(cherry picked from commit c92f177d96b5952e0bfde01597972fc607aed93a)

Change-Id: I7b0452045c265b7544c41d3a5953e10a081c5315
diff --git a/core/java/android/os/Debug.java b/core/java/android/os/Debug.java
index fd01da9..1557644 100644
--- a/core/java/android/os/Debug.java
+++ b/core/java/android/os/Debug.java
@@ -130,7 +130,7 @@
         public int otherSharedDirty;
 
         /** @hide */
-        public static final int NUM_OTHER_STATS = 10;
+        public static final int NUM_OTHER_STATS = 11;
 
         private int[] otherStats = new int[NUM_OTHER_STATS*3];
 
@@ -186,7 +186,8 @@
                 case 6: return ".apk mmap";
                 case 7: return ".ttf mmap";
                 case 8: return ".dex mmap";
-                case 9: return "Other mmap";
+                case 9: return ".oat mmap";
+                case 10: return "Other mmap";
                 default: return "????";
             }
         }
diff --git a/core/jni/android_os_Debug.cpp b/core/jni/android_os_Debug.cpp
index 2883c10..1e6d53a 100644
--- a/core/jni/android_os_Debug.cpp
+++ b/core/jni/android_os_Debug.cpp
@@ -52,6 +52,7 @@
     HEAP_APK,
     HEAP_TTF,
     HEAP_DEX,
+    HEAP_OAT,
     HEAP_UNKNOWN_MAP,
 
     _NUM_HEAP,
@@ -184,6 +185,8 @@
             } else if ((nameLen > 4 && strcmp(name+nameLen-4, ".dex") == 0) ||
                        (nameLen > 5 && strcmp(name+nameLen-5, ".odex") == 0)) {
                 whichHeap = HEAP_DEX;
+            } else if (nameLen > 4 && strcmp(name+nameLen-4, ".oat") == 0) {
+                whichHeap = HEAP_OAT;
             } else if (nameLen > 0) {
                 whichHeap = HEAP_UNKNOWN_MAP;
             } else if (start == prevEnd && prevHeap == HEAP_SO) {