From 3da1d0f0881e130ebab95e2d06abe7d2beff57f0 Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Mon, 6 Nov 2017 20:02:24 -0800 Subject: Use CodeItemAccessor helpers for method verifier Create a code_item_accessor_ in the verifier and replace the existing code_item field. Added some handling in DexFile to deal with try/catch items. Bug: 63756964 Test: test-art-host Change-Id: I4e073c9cb29f94518f0016fccbe1628185884df4 --- compiler/optimizing/block_builder.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing/block_builder.cc') diff --git a/compiler/optimizing/block_builder.cc b/compiler/optimizing/block_builder.cc index 595dd4d226..2432f13044 100644 --- a/compiler/optimizing/block_builder.cc +++ b/compiler/optimizing/block_builder.cc @@ -269,7 +269,9 @@ void HBasicBlockBuilder::InsertTryBoundaryBlocks() { // loop for synchronized blocks. if (ContainsElement(throwing_blocks_, block)) { // Try to find a TryItem covering the block. - const int32_t try_item_idx = DexFile::FindTryItem(code_item_, block->GetDexPc()); + const int32_t try_item_idx = DexFile::FindTryItem(DexFile::GetTryItems(code_item_, 0u), + code_item_.tries_size_, + block->GetDexPc()); if (try_item_idx != -1) { // Block throwing and in a TryItem. Store the try block information. try_block_info.Put(block->GetBlockId(), DexFile::GetTryItems(code_item_, try_item_idx)); -- cgit v1.2.3-59-g8ed1b