From 4f4df9d54e9c4d416d33e16c67251d49ca00f866 Mon Sep 17 00:00:00 2001 From: Ian Zerny Date: Fri, 4 Feb 2022 12:18:27 +0100 Subject: [PATCH] Don't include debug info in method size. The debug info items can be shared across methods so don't count them as part of private method size. --- .../dexlib2/dexbacked/DexBackedMethodImplementation.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethodImplementation.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethodImplementation.java index 7d2fa80c..48ea2d4f 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethodImplementation.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethodImplementation.java @@ -172,13 +172,11 @@ public class DexBackedMethodImplementation implements MethodImplementation { /** * Calculate and return the private size of a method implementation. * - * Calculated as: debug info size + instructions size + try-catch size + * Calculated as: instructions size + try-catch size * * @return size in bytes */ public int getSize() { - int debugSize = getDebugInfo().getSize(); - //set last offset just before bytecode instructions (after insns_size) int lastOffset = getInstructionsStartOffset(); @@ -195,7 +193,7 @@ public class DexBackedMethodImplementation implements MethodImplementation { lastOffset = ((VariableSizeListIterator)tryHandlerIter).getReaderOffset(); } - //method impl size = debug block size + code_item size - return debugSize + (lastOffset - codeOffset); + //method impl size = code_item size + return lastOffset - codeOffset; } }