| Index: src/hydrogen.h
 | 
| diff --git a/src/hydrogen.h b/src/hydrogen.h
 | 
| index e8c0b0630d68035e6e666bca0832524c3f8520ff..bd222f490a2348f3f62f1bf1c638c8abb9702973 100644
 | 
| --- a/src/hydrogen.h
 | 
| +++ b/src/hydrogen.h
 | 
| @@ -117,6 +117,7 @@ class HBasicBlock: public ZoneObject {
 | 
|    void SetJoinId(int id);
 | 
|  
 | 
|    void Finish(HControlInstruction* last);
 | 
| +  void FinishExit(HControlInstruction* instruction);
 | 
|    void Goto(HBasicBlock* block, bool include_stack_check = false);
 | 
|  
 | 
|    int PredecessorIndexOf(HBasicBlock* predecessor) const;
 | 
| @@ -206,34 +207,6 @@ class HSubgraph: public ZoneObject {
 | 
|      exit_block_ = block;
 | 
|    }
 | 
|  
 | 
| -  void PreProcessOsrEntry(IterationStatement* statement);
 | 
| -
 | 
| -  void AppendJoin(HBasicBlock* first, HBasicBlock* second, int join_id);
 | 
| -  void AppendWhile(IterationStatement* statement,
 | 
| -                   HBasicBlock* condition_entry,
 | 
| -                   HBasicBlock* exit_block,
 | 
| -                   HBasicBlock* body_exit,
 | 
| -                   HBasicBlock* break_block,
 | 
| -                   HBasicBlock* loop_entry,
 | 
| -                   HBasicBlock* loop_exit);
 | 
| -  void AppendDoWhile(IterationStatement* statement,
 | 
| -                     HBasicBlock* body_entry,
 | 
| -                     HBasicBlock* go_back,
 | 
| -                     HBasicBlock* exit_block,
 | 
| -                     HBasicBlock* break_block);
 | 
| -  void AppendEndless(IterationStatement* statement,
 | 
| -                     HBasicBlock* body_entry,
 | 
| -                     HBasicBlock* body_exit,
 | 
| -                     HBasicBlock* break_block);
 | 
| -  void Append(BreakableStatement* stmt,
 | 
| -              HBasicBlock* entry_block,
 | 
| -              HBasicBlock* exit_block,
 | 
| -              HBasicBlock* break_block);
 | 
| -  void ResolveContinue(IterationStatement* statement,
 | 
| -                       HBasicBlock* continue_block);
 | 
| -  HBasicBlock* JoinBlocks(HBasicBlock* a, HBasicBlock* b, int id);
 | 
| -
 | 
| -  void FinishExit(HControlInstruction* instruction);
 | 
|    void Initialize(HBasicBlock* block) {
 | 
|      ASSERT(entry_block_ == NULL);
 | 
|      entry_block_ = block;
 | 
| @@ -698,11 +671,36 @@ class HGraphBuilder: public AstVisitor {
 | 
|  
 | 
|    void Bailout(const char* reason);
 | 
|  
 | 
| -  void AppendPeeledWhile(IterationStatement* stmt,
 | 
| -                         HBasicBlock* condition_entry,
 | 
| -                         HBasicBlock* exit_block,
 | 
| -                         HBasicBlock* body_exit,
 | 
| -                         HBasicBlock* break_block);
 | 
| +  void PreProcessOsrEntry(IterationStatement* statement);
 | 
| +
 | 
| +  HBasicBlock* CreateJoin(HBasicBlock* first,
 | 
| +                          HBasicBlock* second,
 | 
| +                          int join_id);
 | 
| +  HBasicBlock* CreateWhile(IterationStatement* statement,
 | 
| +                           HBasicBlock* condition_entry,
 | 
| +                           HBasicBlock* exit_block,
 | 
| +                           HBasicBlock* body_exit,
 | 
| +                           HBasicBlock* break_block,
 | 
| +                           HBasicBlock* loop_entry,
 | 
| +                           HBasicBlock* loop_exit);
 | 
| +  HBasicBlock* CreateDoWhile(IterationStatement* statement,
 | 
| +                             HBasicBlock* body_entry,
 | 
| +                             HBasicBlock* go_back,
 | 
| +                             HBasicBlock* exit_block,
 | 
| +                             HBasicBlock* break_block);
 | 
| +  HBasicBlock* CreateEndless(IterationStatement* statement,
 | 
| +                             HBasicBlock* body_entry,
 | 
| +                             HBasicBlock* body_exit,
 | 
| +                             HBasicBlock* break_block);
 | 
| +  HBasicBlock* CreatePeeledWhile(IterationStatement* stmt,
 | 
| +                                 HBasicBlock* condition_entry,
 | 
| +                                 HBasicBlock* exit_block,
 | 
| +                                 HBasicBlock* body_exit,
 | 
| +                                 HBasicBlock* break_block);
 | 
| +  HBasicBlock* JoinContinue(IterationStatement* statement,
 | 
| +                            HBasicBlock* exit_block,
 | 
| +                            HBasicBlock* continue_block);
 | 
| +
 | 
|  
 | 
|    void AddToSubgraph(HSubgraph* graph, ZoneList<Statement*>* stmts);
 | 
|    void AddToSubgraph(HSubgraph* graph, Statement* stmt);
 | 
| 
 |