Index: src/ast.h |
=================================================================== |
--- src/ast.h (revision 7281) |
+++ src/ast.h (working copy) |
@@ -985,11 +985,13 @@ |
int literal_index, |
bool is_simple, |
bool fast_elements, |
- int depth) |
+ int depth, |
+ bool has_function) |
: MaterializedLiteral(literal_index, is_simple, depth), |
constant_properties_(constant_properties), |
properties_(properties), |
- fast_elements_(fast_elements) {} |
+ fast_elements_(fast_elements), |
+ has_function_(has_function) {} |
DECLARE_NODE_TYPE(ObjectLiteral) |
@@ -1000,16 +1002,24 @@ |
bool fast_elements() const { return fast_elements_; } |
+ bool has_function() { return has_function_; } |
// 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(); |
+ enum Flags { |
+ kNoFlags = 0, |
+ kFastElements = 1, |
+ kHasFunction = 1 << 1 |
+ }; |
+ |
private: |
Handle<FixedArray> constant_properties_; |
ZoneList<Property*>* properties_; |
bool fast_elements_; |
+ bool has_function_; |
}; |