Index: src/ast.h |
diff --git a/src/ast.h b/src/ast.h |
index 805a4065324233b1bb16c0446ed1fa9fe4d24401..27d82cb34139c5efaed5786a6ca58bbea30c86f3 100644 |
--- a/src/ast.h |
+++ b/src/ast.h |
@@ -383,6 +383,7 @@ class IterationStatement: public BreakableStatement { |
// Bailout support. |
int OsrEntryId() const { return osr_entry_id_; } |
virtual int ContinueId() const = 0; |
+ virtual int StackCheckId() const = 0; |
// Code generation |
Label* continue_target() { return &continue_target_; } |
@@ -421,6 +422,7 @@ class DoWhileStatement: public IterationStatement { |
// Bailout support. |
virtual int ContinueId() const { return continue_id_; } |
+ virtual int StackCheckId() const { return back_edge_id_; } |
int BackEdgeId() const { return back_edge_id_; } |
virtual bool IsInlineable() const; |
@@ -455,6 +457,7 @@ class WhileStatement: public IterationStatement { |
// Bailout support. |
virtual int ContinueId() const { return EntryId(); } |
+ virtual int StackCheckId() const { return body_id_; } |
int BodyId() const { return body_id_; } |
private: |
@@ -494,6 +497,7 @@ class ForStatement: public IterationStatement { |
// Bailout support. |
virtual int ContinueId() const { return continue_id_; } |
+ virtual int StackCheckId() const { return body_id_; } |
int BodyId() const { return body_id_; } |
bool is_fast_smi_loop() { return loop_variable_ != NULL; } |
@@ -532,6 +536,7 @@ class ForInStatement: public IterationStatement { |
// Bailout support. |
int AssignmentId() const { return assignment_id_; } |
virtual int ContinueId() const { return EntryId(); } |
+ virtual int StackCheckId() const { return EntryId(); } |
private: |
Expression* each_; |