diff options
| author | 2015-07-30 16:45:35 +0000 | |
|---|---|---|
| committer | 2015-07-30 16:45:35 +0000 | |
| commit | a302e9133b659d9b96066aa53f9d22d35d2dba13 (patch) | |
| tree | 02338a5656bb8a21b742f6506ce92a07d4a8162a /compiler/optimizing/ssa_builder.cc | |
| parent | 7b926cdacc2b67241bc9cb5f2d4b04b13ca79d0e (diff) | |
| parent | b618adebbc19e50d7b1aa2f11b84341beb3c64dc (diff) | |
Merge "ART: Store and check exceptional predecessors"
Diffstat (limited to 'compiler/optimizing/ssa_builder.cc')
| -rw-r--r-- | compiler/optimizing/ssa_builder.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/optimizing/ssa_builder.cc b/compiler/optimizing/ssa_builder.cc index ff2e6ad821..2c34e4dd03 100644 --- a/compiler/optimizing/ssa_builder.cc +++ b/compiler/optimizing/ssa_builder.cc @@ -570,7 +570,9 @@ void SsaBuilder::VisitInstruction(HInstruction* instruction) { if (instruction->GetBlock()->IsInTry() && instruction->CanThrow()) { HTryBoundary* try_block = instruction->GetBlock()->GetTryEntry(); for (HExceptionHandlerIterator it(*try_block); !it.Done(); it.Advance()) { - GrowableArray<HInstruction*>* handler_locals = GetLocalsFor(it.Current()); + HBasicBlock* handler = it.Current(); + handler->AddExceptionalPredecessor(instruction); + GrowableArray<HInstruction*>* handler_locals = GetLocalsFor(handler); for (size_t i = 0, e = current_locals_->Size(); i < e; ++i) { HInstruction* local_value = current_locals_->Get(i); if (local_value != nullptr) { |