Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1021)

Unified Diff: src/hydrogen.h

Issue 192513002: Checking for stack height equality between full codegen and hydrogen. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rebase Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/full-codegen.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
}
« no previous file with comments | « src/full-codegen.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698