Merge V8 5.2.361.47 DO NOT MERGE
https://chromium.googlesource.com/v8/v8/+/5.2.361.47
FPIIM-449
Change-Id: Ibec421b85a9b88cb3a432ada642e469fe7e78346
(cherry picked from commit bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8)
diff --git a/src/interpreter/control-flow-builders.h b/src/interpreter/control-flow-builders.h
index e4d376b..8778b26 100644
--- a/src/interpreter/control-flow-builders.h
+++ b/src/interpreter/control-flow-builders.h
@@ -87,27 +87,22 @@
continue_sites_(builder->zone()) {}
~LoopBuilder();
- void LoopHeader();
- void Condition() { builder()->Bind(&condition_); }
- void Next() { builder()->Bind(&next_); }
+ void LoopHeader(ZoneVector<BytecodeLabel>* additional_labels);
void JumpToHeader() { builder()->Jump(&loop_header_); }
void JumpToHeaderIfTrue() { builder()->JumpIfTrue(&loop_header_); }
+ void SetContinueTarget();
void EndLoop();
// This method is called when visiting continue statements in the AST.
- // Inserts a jump to a unbound label that is patched when the corresponding
- // SetContinueTarget is called.
+ // Inserts a jump to an unbound label that is patched when SetContinueTarget
+ // is called.
void Continue() { EmitJump(&continue_sites_); }
void ContinueIfTrue() { EmitJumpIfTrue(&continue_sites_); }
void ContinueIfUndefined() { EmitJumpIfUndefined(&continue_sites_); }
void ContinueIfNull() { EmitJumpIfNull(&continue_sites_); }
private:
- void SetContinueTarget(const BytecodeLabel& continue_target);
-
BytecodeLabel loop_header_;
- BytecodeLabel condition_;
- BytecodeLabel next_;
BytecodeLabel loop_end_;
// Unbound labels that identify jumps for continue statements in the code.