| Index: src/compiler/ast-graph-builder.cc
|
| diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc
|
| index ec2af52ec4d5b605c335b2d4a15a56fa73359920..d8d60f3388f89a05ac4380f58d720701ddf22ed4 100644
|
| --- a/src/compiler/ast-graph-builder.cc
|
| +++ b/src/compiler/ast-graph-builder.cc
|
| @@ -1844,12 +1844,16 @@ void AstGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) {
|
| }
|
| case ObjectLiteral::Property::GETTER:
|
| if (property->emit_store()) {
|
| - accessor_table.lookup(key)->second->getter = property;
|
| + AccessorTable::Iterator it = accessor_table.lookup(key);
|
| + it->second->bailout_id = expr->GetIdForPropertySet(property_index);
|
| + it->second->getter = property;
|
| }
|
| break;
|
| case ObjectLiteral::Property::SETTER:
|
| if (property->emit_store()) {
|
| - accessor_table.lookup(key)->second->setter = property;
|
| + AccessorTable::Iterator it = accessor_table.lookup(key);
|
| + it->second->bailout_id = expr->GetIdForPropertySet(property_index);
|
| + it->second->setter = property;
|
| }
|
| break;
|
| }
|
| @@ -1870,8 +1874,7 @@ void AstGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) {
|
| const Operator* op =
|
| javascript()->CallRuntime(Runtime::kDefineAccessorPropertyUnchecked);
|
| Node* call = NewNode(op, literal, name, getter, setter, attr);
|
| - // This should not lazy deopt on a new literal.
|
| - PrepareFrameState(call, BailoutId::None());
|
| + PrepareFrameState(call, it->second->bailout_id);
|
| }
|
|
|
| // Object literals have two parts. The "static" part on the left contains no
|
|
|