| Index: src/ast.h
|
| ===================================================================
|
| --- src/ast.h (revision 5712)
|
| +++ src/ast.h (working copy)
|
| @@ -832,10 +832,14 @@
|
|
|
| bool IsCompileTimeValue();
|
|
|
| + void set_emit_store(bool emit_store);
|
| + bool emit_store();
|
| +
|
| private:
|
| Literal* key_;
|
| Expression* value_;
|
| Kind kind_;
|
| + bool emit_store_;
|
| };
|
|
|
| ObjectLiteral(Handle<FixedArray> constant_properties,
|
| @@ -858,6 +862,12 @@
|
|
|
| bool fast_elements() const { return fast_elements_; }
|
|
|
| +
|
| + // Mark all computed expressions that are bound to a key that
|
| + // is shadowed by a later occurrence of the same key. For the
|
| + // marked expressions, no store code is emitted.
|
| + void CalculateEmitStore();
|
| +
|
| private:
|
| Handle<FixedArray> constant_properties_;
|
| ZoneList<Property*>* properties_;
|
|
|