From 8f8ee680bec71a28d9d7b7538e8c7ca100a18184 Mon Sep 17 00:00:00 2001 From: David Brazdil Date: Wed, 8 Jul 2015 12:11:42 +0100 Subject: ART: Ignore try blocks with no throwing instructions In order to avoid complex removal of redundant exceptional edges in the SSA builder, this patch modified the graph builder to consider blocks without throwing instructions as not in a try block, even if covered by a TryItem. In some corner cases, this may generate more TryBoundaries than necessary, but those can be removed once the SSA form is built. Change-Id: I158c4542b2c1964a8dd532f82e921b9cb1997e1e --- compiler/optimizing/builder.h | 3 --- 1 file changed, 3 deletions(-) (limited to 'compiler/optimizing/builder.h') diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h index e487255ac4..7098eb86a5 100644 --- a/compiler/optimizing/builder.h +++ b/compiler/optimizing/builder.h @@ -98,9 +98,6 @@ class HGraphBuilder : public ValueObject { HBasicBlock* FindBlockStartingAt(int32_t dex_pc) const; HBasicBlock* FindOrCreateBlockStartingAt(int32_t dex_pc); - // Returns whether the dex_pc of `block` lies within the given range. - bool IsBlockInPcRange(HBasicBlock* block, uint32_t dex_pc_start, uint32_t dex_pc_end); - // Adds new blocks to `branch_targets_` starting at the limits of TryItems and // their exception handlers. void CreateBlocksForTryCatch(const DexFile::CodeItem& code_item); -- cgit v1.2.3-59-g8ed1b