| Index: src/hydrogen.h
|
| diff --git a/src/hydrogen.h b/src/hydrogen.h
|
| index 17cb7d1aa156edfc660f1e0ce1236d054d536d35..2f280bd1adab8e6bcf622900588d0c8dbdfa60fd 100644
|
| --- a/src/hydrogen.h
|
| +++ b/src/hydrogen.h
|
| @@ -109,17 +109,14 @@ class HBasicBlock V8_FINAL : public ZoneObject {
|
|
|
| bool HasParentLoopHeader() const { return parent_loop_header_ != NULL; }
|
|
|
| - void SetJoinId(BailoutId ast_id);
|
| + void SetJoinId(BailoutId ast_id, int stack_checker_offset = 0);
|
|
|
| int PredecessorIndexOf(HBasicBlock* predecessor) const;
|
| HPhi* AddNewPhi(int merged_index);
|
| HSimulate* AddNewSimulate(BailoutId ast_id,
|
| HSourcePosition position,
|
| - RemovableSimulate removable = FIXED_SIMULATE) {
|
| - HSimulate* instr = CreateSimulate(ast_id, removable);
|
| - AddInstruction(instr, position);
|
| - return instr;
|
| - }
|
| + RemovableSimulate removable = FIXED_SIMULATE,
|
| + int arguments_offset = 0);
|
| void AssignCommonDominator(HBasicBlock* other);
|
| void AssignLoopSuccessorDominators();
|
|
|
| @@ -165,7 +162,8 @@ class HBasicBlock V8_FINAL : public ZoneObject {
|
| protected:
|
| friend class HGraphBuilder;
|
|
|
| - HSimulate* CreateSimulate(BailoutId ast_id, RemovableSimulate removable);
|
| + HSimulate* CreateSimulate(BailoutId ast_id, RemovableSimulate removable,
|
| + int arguments_offset);
|
| void Finish(HControlInstruction* last, HSourcePosition position);
|
| void FinishExit(HControlInstruction* instruction, HSourcePosition position);
|
| void Goto(HBasicBlock* block,
|
| @@ -703,6 +701,10 @@ class HEnvironment V8_FINAL : public ZoneObject {
|
|
|
| Zone* zone() const { return zone_; }
|
|
|
| + void VerifyStackHeight(BailoutId ast_id,
|
| + int hydrogen_id,
|
| + int stack_height_offset = 0);
|
| +
|
| private:
|
| HEnvironment(const HEnvironment* other, Zone* zone);
|
|
|
| @@ -1293,7 +1295,8 @@ class HGraphBuilder {
|
| return AddInstructionTyped(New<I>(p1, p2, p3, p4, p5, p6, p7, p8));
|
| }
|
|
|
| - void AddSimulate(BailoutId id, RemovableSimulate removable = FIXED_SIMULATE);
|
| + void AddSimulate(BailoutId id, RemovableSimulate removable = FIXED_SIMULATE,
|
| + int arguments_offset = 0);
|
|
|
| protected:
|
| virtual bool BuildGraph() = 0;
|
| @@ -1888,7 +1891,7 @@ template<>
|
| inline HSimulate* HGraphBuilder::Add<HSimulate>(
|
| BailoutId id,
|
| RemovableSimulate removable) {
|
| - HSimulate* instr = current_block()->CreateSimulate(id, removable);
|
| + HSimulate* instr = current_block()->CreateSimulate(id, removable, 0);
|
| AddInstruction(instr);
|
| return instr;
|
| }
|
|
|