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