| Index: src/ast/ast.h
|
| diff --git a/src/ast/ast.h b/src/ast/ast.h
|
| index 1bbe28d6f82ac7dc9a6dac26056f19d74291fd1c..27cc667eb11991750796920c77ea7dfe31e5fa9c 100644
|
| --- a/src/ast/ast.h
|
| +++ b/src/ast/ast.h
|
| @@ -1533,11 +1533,18 @@ class ObjectLiteral final : public MaterializedLiteral {
|
| BailoutId CreateLiteralId() const { return BailoutId(local_id(0)); }
|
|
|
| // Return an AST id for a property that is used in simulate instructions.
|
| - BailoutId GetIdForProperty(int i) { return BailoutId(local_id(i + 1)); }
|
| + BailoutId GetIdForPropertyName(int i) {
|
| + return BailoutId(local_id(2 * i + 1));
|
| + }
|
| + BailoutId GetIdForPropertySet(int i) {
|
| + return BailoutId(local_id(2 * i + 2));
|
| + }
|
|
|
| // Unlike other AST nodes, this number of bailout IDs allocated for an
|
| // ObjectLiteral can vary, so num_ids() is not a static method.
|
| - int num_ids() const { return parent_num_ids() + 1 + properties()->length(); }
|
| + int num_ids() const {
|
| + return parent_num_ids() + 1 + 2 * properties()->length();
|
| + }
|
|
|
| // Object literals need one feedback slot for each non-trivial value, as well
|
| // as some slots for home objects.
|
|
|