Chromium Code Reviews| Index: src/ast.h |
| diff --git a/src/ast.h b/src/ast.h |
| index 7040ff78350bcfdc524114752ca33e559b0f1199..1c78adb6aa0f1d87bca6d061249444d683b56cf9 100644 |
| --- a/src/ast.h |
| +++ b/src/ast.h |
| @@ -1507,6 +1507,9 @@ class ObjectLiteral FINAL : public MaterializedLiteral { |
| int ComputeFlags(bool disable_mementos = false) const { |
| int flags = fast_elements() ? kFastElements : kNoFlags; |
| flags |= has_function() ? kHasFunction : kNoFlags; |
| + if (depth() == 1 && !has_elements() && !may_store_doubles()) { |
| + flags |= kShallowProperties; |
|
mvstanton
2015/04/21 12:59:14
Could you also push this flag into FullCodeGenerat
Michael Starzinger
2015/04/21 13:48:36
Done.
|
| + } |
| if (disable_mementos) { |
| flags |= kDisableMementos; |
| } |
| @@ -1517,7 +1520,8 @@ class ObjectLiteral FINAL : public MaterializedLiteral { |
| kNoFlags = 0, |
| kFastElements = 1, |
| kHasFunction = 1 << 1, |
| - kDisableMementos = 1 << 2 |
| + kShallowProperties = 1 << 2, |
| + kDisableMementos = 1 << 3 |
| }; |
| struct Accessors: public ZoneObject { |