| 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(
 | 
| 
 |