summaryrefslogtreecommitdiffstats
path: root/runtime/catch_block_stack_visitor.cc
diff options
context:
space:
mode:
authorJeff Hao <jeffhao@google.com>2014-04-23 00:16:15 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-04-23 00:16:15 +0000
commita08ec9b372d4f5e918b3d68499fbd1731180cd98 (patch)
tree4c21e507ec2b2ca36011313d9a40d151e23f6193 /runtime/catch_block_stack_visitor.cc
parent4af159bfcc66c6e90a2aee4a2035a996a399e7ed (diff)
parentaa961918da5142220029da2809287e0dd537a5d7 (diff)
downloadart-a08ec9b372d4f5e918b3d68499fbd1731180cd98.zip
art-a08ec9b372d4f5e918b3d68499fbd1731180cd98.tar.gz
art-a08ec9b372d4f5e918b3d68499fbd1731180cd98.tar.bz2
Merge "Fix FindCatchBlock to work in -Xverify:none mode."
Diffstat (limited to 'runtime/catch_block_stack_visitor.cc')
-rw-r--r--runtime/catch_block_stack_visitor.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/runtime/catch_block_stack_visitor.cc b/runtime/catch_block_stack_visitor.cc
index f9acffb..410fff9 100644
--- a/runtime/catch_block_stack_visitor.cc
+++ b/runtime/catch_block_stack_visitor.cc
@@ -53,7 +53,9 @@ bool CatchBlockStackVisitor::HandleTryItems(mirror::ArtMethod* method) {
}
if (dex_pc != DexFile::kDexNoIndex) {
bool clear_exception = false;
- uint32_t found_dex_pc = method->FindCatchBlock(to_find_, dex_pc, &clear_exception);
+ SirtRef<mirror::Class> sirt_method_to_find(Thread::Current(), to_find_);
+ uint32_t found_dex_pc = method->FindCatchBlock(sirt_method_to_find, dex_pc, &clear_exception);
+ to_find_ = sirt_method_to_find.get();
catch_finder_->SetClearException(clear_exception);
if (found_dex_pc != DexFile::kDexNoIndex) {
catch_finder_->SetHandlerDexPc(found_dex_pc);