summaryrefslogtreecommitdiffstats
path: root/dexdump
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2018-01-09 15:10:17 -0800
committerMathieu Chartier <mathieuc@google.com>2018-01-13 01:40:47 +0000
commit8892c6bd9235e7ae697039c901aaeea1597a7473 (patch)
treefa10893a270bad91d3503a761f140cbe9c97a74c /dexdump
parent210531f8775c89feb90d430cd5b6026b4cf8ef89 (diff)
downloadart-8892c6bd9235e7ae697039c901aaeea1597a7473.tar.gz
art-8892c6bd9235e7ae697039c901aaeea1597a7473.tar.bz2
art-8892c6bd9235e7ae697039c901aaeea1597a7473.zip
Move debug info offsets into a side table
Add a compact side table for figuring out the debug info offsets for a given method index. This reduces dex size by ~1.2%. The debug table is keyed by method index and has leb encoded offsets for the offsets. This means the table is smaller if debug infos are encoded by method index order. To prevent expansion for method indicies without debug info, there is a bitmap that specifies if a method index has a debug info offset. Motivation: Reduce code item size and allow more deduping in the future. Test: test-art-host Bug: 63756964 Change-Id: Ib983e85c1727f58c97676bde275f4a9756314da0
Diffstat (limited to 'dexdump')
-rw-r--r--dexdump/dexdump.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/dexdump/dexdump.cc b/dexdump/dexdump.cc
index df13d1f628..1518e1d205 100644
--- a/dexdump/dexdump.cc
+++ b/dexdump/dexdump.cc
@@ -1187,7 +1187,7 @@ static void dumpBytecodes(const DexFile* pDexFile, u4 idx,
*/
static void dumpCode(const DexFile* pDexFile, u4 idx, u4 flags,
const DexFile::CodeItem* pCode, u4 codeOffset) {
- CodeItemDebugInfoAccessor accessor(*pDexFile, pCode);
+ CodeItemDebugInfoAccessor accessor(*pDexFile, pCode, idx);
fprintf(gOutFile, " registers : %d\n", accessor.RegistersSize());
fprintf(gOutFile, " ins : %d\n", accessor.InsSize());