diff options
author | 2019-06-26 15:05:43 +0100 | |
---|---|---|
committer | 2019-07-03 14:21:47 +0000 | |
commit | 50bc8fb89c79874e731f245abda3b9e48a541cfe (patch) | |
tree | c4dd3d8291ceac4b1d9b7dbca9886842c33967f2 /runtime/interpreter/interpreter_switch_impl-inl.h | |
parent | 8c344524e5251535e49cbe8e68ab5dc1cd7d1591 (diff) |
Remove ShadowFrame::dex_pc_ (but keep dex_pc_ptr_)
They store the same information which is redundant and error prone.
Test: ./art/test.py --interpreter
Change-Id: I379c20973b90645e3c1016c253d9a6db9a2417dc
Diffstat (limited to 'runtime/interpreter/interpreter_switch_impl-inl.h')
-rw-r--r-- | runtime/interpreter/interpreter_switch_impl-inl.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/runtime/interpreter/interpreter_switch_impl-inl.h b/runtime/interpreter/interpreter_switch_impl-inl.h index fc3005d72c..d22771dea8 100644 --- a/runtime/interpreter/interpreter_switch_impl-inl.h +++ b/runtime/interpreter/interpreter_switch_impl-inl.h @@ -1917,6 +1917,7 @@ ATTRIBUTE_NO_SANITIZE_ADDRESS void ExecuteSwitchImplCpp(SwitchImplContext* ctx) self->VerifyStack(); uint32_t dex_pc = shadow_frame.GetDexPC(); + DCHECK_LT(dex_pc, shadow_frame.GetMethod()->DexInstructionData().InsnsSizeInCodeUnits()); const auto* const instrumentation = Runtime::Current()->GetInstrumentation(); const uint16_t* const insns = accessor.Insns(); const Instruction* next = Instruction::At(insns + dex_pc); |