From 5e7c6a9223ddd11f800ea9b26fa72bece5c7d26c Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Tue, 17 Jan 2017 16:38:30 -0800 Subject: 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 --- runtime/stack_map.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'runtime/stack_map.cc') 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) -- cgit v1.2.3-59-g8ed1b