summaryrefslogtreecommitdiff
path: root/src/dex_file.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/dex_file.cc')
-rw-r--r--src/dex_file.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/dex_file.cc b/src/dex_file.cc
index a11744d232..0a18f11c01 100644
--- a/src/dex_file.cc
+++ b/src/dex_file.cc
@@ -675,10 +675,8 @@ void DexFile::dexDecodeDebugInfo0(const CodeItem* code_item, const art::Method*
for (;;) {
uint8_t opcode = *stream++;
- uint8_t adjopcode = opcode - DBG_FIRST_SPECIAL;
uint16_t reg;
-
switch (opcode) {
case DBG_END_SEQUENCE:
return;
@@ -755,7 +753,9 @@ void DexFile::dexDecodeDebugInfo0(const CodeItem* code_item, const art::Method*
case DBG_SET_FILE:
break;
- default:
+ default: {
+ int adjopcode = opcode - DBG_FIRST_SPECIAL;
+
address += adjopcode / DBG_LINE_RANGE;
line += DBG_LINE_BASE + (adjopcode % DBG_LINE_RANGE);
@@ -766,6 +766,7 @@ void DexFile::dexDecodeDebugInfo0(const CodeItem* code_item, const art::Method*
}
}
break;
+ }
}
}
}