Index: src/ast.h |
diff --git a/src/ast.h b/src/ast.h |
index 555c19ec987abe07365ae64e3ab7c41589269821..c33838e011823b6784c4908a273ad99855447194 100644 |
--- a/src/ast.h |
+++ b/src/ast.h |
@@ -575,11 +575,13 @@ class ForInStatement: public IterationStatement { |
Expression* enumerable() const { return enumerable_; } |
// Bailout support. |
+ int AssignmentId() const { return assignment_id_; } |
virtual int ContinueId() const { return EntryId(); } |
private: |
Expression* each_; |
Expression* enumerable_; |
+ int assignment_id_; |
}; |
@@ -1426,7 +1428,9 @@ class IncrementOperation: public Expression { |
class CountOperation: public Expression { |
public: |
CountOperation(bool is_prefix, IncrementOperation* increment, int pos) |
- : is_prefix_(is_prefix), increment_(increment), pos_(pos) { } |
+ : is_prefix_(is_prefix), increment_(increment), pos_(pos), |
+ assignment_id_(GetNextId()) { |
+ } |
DECLARE_NODE_TYPE(CountOperation) |
@@ -1446,10 +1450,14 @@ class CountOperation: public Expression { |
virtual bool IsInlineable() const; |
+ // Bailout support. |
+ int AssignmentId() const { return assignment_id_; } |
+ |
private: |
bool is_prefix_; |
IncrementOperation* increment_; |
int pos_; |
+ int assignment_id_; |
}; |
@@ -1579,7 +1587,8 @@ class Assignment: public Expression { |
} |
// Bailout support. |
- int compound_bailout_id() const { return compound_bailout_id_; } |
+ int CompoundLoadId() const { return compound_load_id_; } |
+ int AssignmentId() const { return assignment_id_; } |
private: |
Token::Value op_; |
@@ -1587,7 +1596,8 @@ class Assignment: public Expression { |
Expression* value_; |
int pos_; |
BinaryOperation* binary_operation_; |
- int compound_bailout_id_; |
+ int compound_load_id_; |
+ int assignment_id_; |
bool block_start_; |
bool block_end_; |