| Index: src/interpreter/control-flow-builders.h | 
| diff --git a/src/interpreter/control-flow-builders.h b/src/interpreter/control-flow-builders.h | 
| index c92fab20991511b90c0596e8fa6bd8db830a2e32..3ef800c1cfe78a195f1d88b62f5e512f8ec86c54 100644 | 
| --- a/src/interpreter/control-flow-builders.h | 
| +++ b/src/interpreter/control-flow-builders.h | 
| @@ -49,11 +49,20 @@ class LoopBuilder : public ControlFlowBuilder { | 
| // patched when the corresponding SetContinueTarget/SetBreakTarget | 
| // is called. | 
| void Break() { EmitJump(&break_sites_); } | 
| +  void BreakIfTrue() { EmitJumpIfTrue(&break_sites_); } | 
| +  void BreakIfUndefined() { EmitJumpIfUndefined(&break_sites_); } | 
| +  void BreakIfNull() { EmitJumpIfNull(&break_sites_); } | 
| void Continue() { EmitJump(&continue_sites_); } | 
| +  void ContinueIfTrue() { EmitJumpIfTrue(&continue_sites_); } | 
| +  void ContinueIfUndefined() { EmitJumpIfUndefined(&continue_sites_); } | 
| +  void ContinueIfNull() { EmitJumpIfNull(&continue_sites_); } | 
|  | 
| private: | 
| void BindLabels(const BytecodeLabel& target, ZoneVector<BytecodeLabel>* site); | 
| void EmitJump(ZoneVector<BytecodeLabel>* labels); | 
| +  void EmitJumpIfTrue(ZoneVector<BytecodeLabel>* labels); | 
| +  void EmitJumpIfUndefined(ZoneVector<BytecodeLabel>* labels); | 
| +  void EmitJumpIfNull(ZoneVector<BytecodeLabel>* labels); | 
|  | 
| // Unbound labels that identify jumps for continue/break statements | 
| // in the code. | 
|  |