Index: runtime/vm/flow_graph.cc |
diff --git a/runtime/vm/flow_graph.cc b/runtime/vm/flow_graph.cc |
index 1964a81e64331ae42df08de622514a56ad02e065..1a62d89d2577e87062d31cf5762a1ed949a986cc 100644 |
--- a/runtime/vm/flow_graph.cc |
+++ b/runtime/vm/flow_graph.cc |
@@ -793,7 +793,7 @@ void FlowGraph::RenameRecursive(BlockEntryInstr* block_entry, |
GrowableArray<PhiInstr*>* live_phis, |
VariableLivenessAnalysis* variable_liveness) { |
// 1. Process phis first. |
- if (block_entry->IsJoinEntry()) { |
+ if (block_entry->IsJoinEntry() || block_entry->IsIndirectEntry()) { |
JoinEntryInstr* join = block_entry->AsJoinEntry(); |
if (join->phis() != NULL) { |
for (intptr_t i = 0; i < join->phis()->length(); ++i) { |
@@ -971,7 +971,8 @@ void FlowGraph::RenameRecursive(BlockEntryInstr* block_entry, |
// 4. Process successor block. We have edge-split form, so that only blocks |
// with one successor can have a join block as successor. |
if ((block_entry->last_instruction()->SuccessorCount() == 1) && |
- block_entry->last_instruction()->SuccessorAt(0)->IsJoinEntry()) { |
+ (block_entry->last_instruction()->SuccessorAt(0)->IsJoinEntry() || |
+ block_entry->last_instruction()->SuccessorAt(0)->IsIndirectEntry())) { |
JoinEntryInstr* successor = |
block_entry->last_instruction()->SuccessorAt(0)->AsJoinEntry(); |
intptr_t pred_index = successor->IndexOfPredecessor(block_entry); |