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_; |