Index: runtime/vm/flow_graph_builder.cc |
diff --git a/runtime/vm/flow_graph_builder.cc b/runtime/vm/flow_graph_builder.cc |
index 20e9743c9281edb0f617387a408f7cbabaf1e07b..9072283c127e73bf4bd357853ff040599f319569 100644 |
--- a/runtime/vm/flow_graph_builder.cc |
+++ b/runtime/vm/flow_graph_builder.cc |
@@ -3597,11 +3597,12 @@ void EffectGraphVisitor::VisitTryCatchNode(TryCatchNode* node) { |
catch_block->stacktrace_var(), |
catch_block->needs_stacktrace()); |
owner()->AddCatchEntry(catch_entry); |
- ASSERT(!for_catch.is_open()); |
AppendFragment(catch_entry, for_catch); |
- JoinEntryInstr* join = node->end_catch_label()->join_for_continue(); |
- if (join != NULL) { |
+ if (for_catch.is_open()) { |
+ JoinEntryInstr* join = new JoinEntryInstr(owner()->AllocateBlockId(), |
+ original_handler_index); |
+ for_catch.Goto(join); |
if (is_open()) Goto(join); |
exit_ = join; |
} |