Index: runtime/vm/flow_graph_builder.cc |
diff --git a/runtime/vm/flow_graph_builder.cc b/runtime/vm/flow_graph_builder.cc |
index fc3264f73803f73b2f0b5c582994155a13294668..ffeca95c562df5e84563d70bde50f36abb387958 100644 |
--- a/runtime/vm/flow_graph_builder.cc |
+++ b/runtime/vm/flow_graph_builder.cc |
@@ -4219,7 +4219,7 @@ void EffectGraphVisitor::VisitCatchClauseNode(CatchClauseNode* node) { |
void EffectGraphVisitor::VisitTryCatchNode(TryCatchNode* node) { |
InlineBailout("EffectGraphVisitor::VisitTryCatchNode (exception)"); |
- intptr_t original_handler_index = owner()->try_index(); |
+ const intptr_t original_handler_index = owner()->try_index(); |
const intptr_t try_handler_index = node->try_index(); |
ASSERT(try_handler_index != original_handler_index); |
owner()->set_try_index(try_handler_index); |
@@ -4291,13 +4291,14 @@ void EffectGraphVisitor::VisitTryCatchNode(TryCatchNode* node) { |
} |
if (finally_block != NULL) { |
+ ASSERT(node->rethrow_clause() != NULL); |
// Create a handler for the code in the catch block, containing the |
// code in the finally block. |
owner()->set_try_index(original_handler_index); |
EffectGraphVisitor for_finally(owner()); |
for_finally.BuildRestoreContext(catch_block->context_var()); |
- finally_block->Visit(&for_finally); |
+ node->rethrow_clause()->Visit(&for_finally); |
if (for_finally.is_open()) { |
// Rethrow the exception. Manually build the graph for rethrow. |
Value* exception = for_finally.Bind( |