From 822266b9dc7d8dc9e084192ae0f4bc95af4e8cf8 Mon Sep 17 00:00:00 2001 From: Ian Rogers 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/catch_block_stack_visitor.cc | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'runtime/catch_block_stack_visitor.cc') diff --git a/runtime/catch_block_stack_visitor.cc b/runtime/catch_block_stack_visitor.cc index 55b330a..b820276 100644 --- a/runtime/catch_block_stack_visitor.cc +++ b/runtime/catch_block_stack_visitor.cc @@ -50,17 +50,9 @@ bool CatchBlockStackVisitor::HandleTryItems(mirror::ArtMethod* method) { } if (dex_pc != DexFile::kDexNoIndex) { bool clear_exception = false; - bool exc_changed = false; StackHandleScope<1> hs(Thread::Current()); Handle to_find(hs.NewHandle((*exception_)->GetClass())); - uint32_t found_dex_pc = method->FindCatchBlock(to_find, dex_pc, &clear_exception, - &exc_changed); - if (UNLIKELY(exc_changed)) { - DCHECK_EQ(DexFile::kDexNoIndex, found_dex_pc); - exception_->Assign(self_->GetException(nullptr)); // TODO: Throw location? - // There is a new context installed, delete it. - delete self_->GetLongJumpContext(); - } + uint32_t found_dex_pc = method->FindCatchBlock(to_find, dex_pc, &clear_exception); exception_handler_->SetClearException(clear_exception); if (found_dex_pc != DexFile::kDexNoIndex) { exception_handler_->SetHandlerDexPc(found_dex_pc); -- cgit v1.1