diff options
author | Mathieu Chartier <mathieuc@google.com> | 2018-01-09 15:10:17 -0800 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2018-01-13 01:40:47 +0000 |
commit | 8892c6bd9235e7ae697039c901aaeea1597a7473 (patch) | |
tree | fa10893a270bad91d3503a761f140cbe9c97a74c /dexdump | |
parent | 210531f8775c89feb90d430cd5b6026b4cf8ef89 (diff) | |
download | art-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.cc | 2 |
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()); |