Chromium Code Reviews| Index: src/ast.h |
| diff --git a/src/ast.h b/src/ast.h |
| index 628391c5bedcd4844ea4c59d7fb8cd376d4763ac..a65993379678df670ae2a1cad7b00d4248a67a47 100644 |
| --- a/src/ast.h |
| +++ b/src/ast.h |
| @@ -1154,12 +1154,17 @@ class VariableProxy: public Expression { |
| bool IsArguments() { return var_ != NULL && var_->is_arguments(); } |
| + bool IsLValue() { |
| + return is_lvalue_; |
| + } |
| + |
| Handle<String> name() const { return name_; } |
| Variable* var() const { return var_; } |
| bool is_this() const { return is_this_; } |
| int position() const { return position_; } |
| void MarkAsTrivial() { is_trivial_ = true; } |
| + void MarkAsLValue() { is_lvalue_ = true; } |
| // Bind this proxy to the variable var. |
| void BindTo(Variable* var); |
| @@ -1169,6 +1174,9 @@ class VariableProxy: public Expression { |
| Variable* var_; // resolved variable, or NULL |
| bool is_this_; |
| bool is_trivial_; |
| + // True if this variable proxy is being used in an assignment |
| + // or with a increment/decrement operator. |
| + bool is_lvalue_; |
|
fschneider
2011/12/05 13:30:05
Please make sure the instance size (sizeof) for Va
Steven
2011/12/05 14:41:10
Still 28 bytes on arm, ia32 and 40 bytes on x64.
|
| int position_; |
| VariableProxy(Isolate* isolate, |