diff options
Diffstat (limited to 'runtime/interpreter/interpreter.cc')
-rw-r--r-- | runtime/interpreter/interpreter.cc | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/runtime/interpreter/interpreter.cc b/runtime/interpreter/interpreter.cc index 9cb74f7c36..33498335ca 100644 --- a/runtime/interpreter/interpreter.cc +++ b/runtime/interpreter/interpreter.cc @@ -522,10 +522,8 @@ void EnterInterpreterFromDeoptimize(Thread* self, // null Instrumentation*. const instrumentation::Instrumentation* const instrumentation = first ? nullptr : Runtime::Current()->GetInstrumentation(); - uint32_t found_dex_pc = FindNextInstructionFollowingException(self, *shadow_frame, dex_pc, - instrumentation); - new_dex_pc = found_dex_pc; // the dex pc of a matching catch handler - // or DexFile::kDexNoIndex if there is none. + new_dex_pc = MoveToExceptionHandler( + self, *shadow_frame, instrumentation) ? shadow_frame->GetDexPC() : DexFile::kDexNoIndex; } else if (!from_code) { // For the debugger and full deoptimization stack, we must go past the invoke // instruction, as it already executed. |