summaryrefslogtreecommitdiff
path: root/deps/v8/src/ast.h
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2010-11-01 14:10:35 -0700
committerRyan Dahl <ry@tinyclouds.org>2010-11-01 14:10:35 -0700
commitea78d995e06c3cd9037021d0deb59b1688548b83 (patch)
tree9dcd896973eeffe9ac993ad3eec784879a879029 /deps/v8/src/ast.h
parentfd725efa8f98c3a4d70165a6bcb4a3085621509e (diff)
downloadnode-new-ea78d995e06c3cd9037021d0deb59b1688548b83.tar.gz
Upgrade V8 to 2.5.3
Diffstat (limited to 'deps/v8/src/ast.h')
-rw-r--r--deps/v8/src/ast.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/deps/v8/src/ast.h b/deps/v8/src/ast.h
index a01e48daeb..04c2977570 100644
--- a/deps/v8/src/ast.h
+++ b/deps/v8/src/ast.h
@@ -832,10 +832,14 @@ class ObjectLiteral: public MaterializedLiteral {
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 @@ class ObjectLiteral: public MaterializedLiteral {
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_;