summaryrefslogtreecommitdiff
path: root/runtime/stack_map.cc
diff options
context:
space:
mode:
author Mathieu Chartier <mathieuc@google.com> 2017-01-17 16:38:30 -0800
committer Mathieu Chartier <mathieuc@google.com> 2017-01-23 15:13:10 -0800
commit5e7c6a9223ddd11f800ea9b26fa72bece5c7d26c (patch)
tree3f34f313b7b7a97eddda4ebab1e2f8c38864c3ff /runtime/stack_map.cc
parentc51842b8dd2ad57a1b05f31ab20ad01123443c50 (diff)
Add more code info size dumping to oatdump
Helps break down where oat bytes are being used, example output on a large app: OAT FILE STATS: Dumping cumulative use of 95784720 accounted bytes Code = 68894196 (72% of total) QuickMethodHeader = 3071080 ( 3% of total) CodeInfoEncoding = 1226080 ( 1% of total) CodeInfoLocationCatalog = 1005716 ( 1% of total) CodeInfoDexRegisterMap = 5813389 ( 6% of total) CodeInfoInlineInfo = 2391251 ( 2% of total) CodeInfoStackMap = 13383008 (14% of total) StackMapNativePc = 1607888 (12% of stack map) StackMapDexPcEncoding = 1116724 ( 8% of stack map) StackMapDexRegisterMap = 1277680 (10% of stack map) StackMapInlineInfo = 1082720 ( 8% of stack map) StackMapRegisterMaskEncoding = 5104960 (38% of stack map) StackMapMask = 3193034 (24% of stack map) StackMapOther = 0 ( 0% of stack map) Test: test-art-host, oatdump Bug: 34621054 Change-Id: I5daf0f1308d126b6a30928f523c6051585f1491f
Diffstat (limited to 'runtime/stack_map.cc')
-rw-r--r--runtime/stack_map.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/runtime/stack_map.cc b/runtime/stack_map.cc
index 3c92b86208..690b069c8e 100644
--- a/runtime/stack_map.cc
+++ b/runtime/stack_map.cc
@@ -198,6 +198,7 @@ void StackMap::Dump(VariableIndentationOutputStream* vios,
<< "StackMap" << header_suffix
<< std::hex
<< " [native_pc=0x" << code_offset + pc_offset << "]"
+ << " [entry_size=0x" << encoding.stack_map_size_in_bytes << "]"
<< " (dex_pc=0x" << GetDexPc(stack_map_encoding)
<< ", native_pc_offset=0x" << pc_offset
<< ", dex_register_map_offset=0x" << GetDexRegisterMapOffset(stack_map_encoding)