diff options
Diffstat (limited to 'runtime/interpreter/interpreter_switch_impl.cc')
| -rw-r--r-- | runtime/interpreter/interpreter_switch_impl.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/runtime/interpreter/interpreter_switch_impl.cc b/runtime/interpreter/interpreter_switch_impl.cc index bf95a0e46f..11a8c2e636 100644 --- a/runtime/interpreter/interpreter_switch_impl.cc +++ b/runtime/interpreter/interpreter_switch_impl.cc @@ -102,6 +102,8 @@ JValue ExecuteSwitchImpl(Thread* self, const DexFile::CodeItem* code_item, size_t lambda_captured_variable_index = 0; while (true) { dex_pc = inst->GetDexPc(insns); + DCHECK_LE(dex_pc, code_item->insns_size_in_code_units_) + << "Dex PC overflowed code item size; missing return instruction?"; shadow_frame.SetDexPC(dex_pc); TraceExecution(shadow_frame, inst, dex_pc); inst_data = inst->Fetch16(0); |