Print more JIT memory use stats.

Also print the amount of resident(RSS) memory per category.

Test: observe ANR log on device
Bug: 119800099
Change-Id: Ic8a71de5c280fe42b656ed0e6383a45b0c185109
diff --git a/runtime/jit/jit_code_cache.cc b/runtime/jit/jit_code_cache.cc
index 6e7d4b0..3e1e108 100644
--- a/runtime/jit/jit_code_cache.cc
+++ b/runtime/jit/jit_code_cache.cc
@@ -1719,17 +1719,19 @@
 
 void JitCodeCache::Dump(std::ostream& os) {
   MutexLock mu(Thread::Current(), *Locks::jit_lock_);
-  os << "Current JIT code cache size: " << PrettySize(GetCurrentRegion()->GetUsedMemoryForCode())
-                                        << "\n"
-     << "Current JIT data cache size: " << PrettySize(GetCurrentRegion()->GetUsedMemoryForData())
-                                        << "\n";
+  os << "Current JIT code cache size (used / resident): "
+     << GetCurrentRegion()->GetUsedMemoryForCode() / KB << "KB / "
+     << GetCurrentRegion()->GetResidentMemoryForCode() / KB << "KB\n"
+     << "Current JIT data cache size (used / resident): "
+     << GetCurrentRegion()->GetUsedMemoryForData() / KB << "KB / "
+     << GetCurrentRegion()->GetResidentMemoryForData() / KB << "KB\n";
   if (!Runtime::Current()->IsZygote()) {
     os << "Zygote JIT code cache size (at point of fork): "
-       << PrettySize(shared_region_.GetUsedMemoryForCode())
-       << "\n"
+       << shared_region_.GetUsedMemoryForCode() / KB << "KB / "
+       << shared_region_.GetResidentMemoryForCode() / KB << "KB\n"
        << "Zygote JIT data cache size (at point of fork): "
-       << PrettySize(shared_region_.GetUsedMemoryForData())
-       << "\n";
+       << shared_region_.GetUsedMemoryForData() / KB << "KB / "
+       << shared_region_.GetResidentMemoryForData() / KB << "KB\n";
   }
   os << "Current JIT mini-debug-info size: " << PrettySize(GetJitMiniDebugInfoMemUsage()) << "\n"
      << "Current JIT capacity: " << PrettySize(GetCurrentRegion()->GetCurrentCapacity()) << "\n"
diff --git a/runtime/jit/jit_memory_region.h b/runtime/jit/jit_memory_region.h
index d09c46a..a5e3ef3 100644
--- a/runtime/jit/jit_memory_region.h
+++ b/runtime/jit/jit_memory_region.h
@@ -165,10 +165,18 @@
     return used_memory_for_code_;
   }
 
+  size_t GetResidentMemoryForCode() const REQUIRES(Locks::jit_lock_) {
+    return exec_end_;
+  }
+
   size_t GetUsedMemoryForData() const REQUIRES(Locks::jit_lock_) {
     return used_memory_for_data_;
   }
 
+  size_t GetResidentMemoryForData() const REQUIRES(Locks::jit_lock_) {
+    return data_end_;
+  }
+
  private:
   template <typename T>
   T* TranslateAddress(T* src_ptr, const MemMap& src, const MemMap& dst) {