From 822266b9dc7d8dc9e084192ae0f4bc95af4e8cf8 Mon Sep 17 00:00:00 2001 From: Ian Rogers <irogers@google.com> Date: Thu, 29 May 2014 16:55:06 -0700 Subject: Ignore catch blocks whose type can't be resolved. Reverts change 72b3e430d880ef57eaa6a34a0822165994052202 but keeps unit test and missing delete that would fail assertions on long jump context recycling. Change-Id: I926755e8b831b208aa7e1ce46421bef3793a1441 --- runtime/interpreter/interpreter_common.h | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'runtime/interpreter/interpreter_common.h') diff --git a/runtime/interpreter/interpreter_common.h b/runtime/interpreter/interpreter_common.h index cfc90a6..f69fecc 100644 --- a/runtime/interpreter/interpreter_common.h +++ b/runtime/interpreter/interpreter_common.h @@ -587,16 +587,10 @@ static inline uint32_t FindNextInstructionFollowingException(Thread* self, ThrowLocation throw_location; mirror::Throwable* exception = self->GetException(&throw_location); bool clear_exception = false; - bool new_exception = false; StackHandleScope<3> hs(self); Handle<mirror::Class> exception_class(hs.NewHandle(exception->GetClass())); uint32_t found_dex_pc = shadow_frame.GetMethod()->FindCatchBlock(exception_class, dex_pc, - &clear_exception, - &new_exception); - if (UNLIKELY(new_exception)) { - // Update the exception. - exception = self->GetException(&throw_location); - } + &clear_exception); if (found_dex_pc == DexFile::kDexNoIndex) { instrumentation->MethodUnwindEvent(self, this_object, shadow_frame.GetMethod(), dex_pc); -- cgit v1.1