| Index: src/compiler/ast-graph-builder.cc
|
| diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc
|
| index da395edba8f061125dd5cea814d8cc54f30015db..a3318c7a9b87ee8ce4f678b5c610297cccd779a1 100644
|
| --- a/src/compiler/ast-graph-builder.cc
|
| +++ b/src/compiler/ast-graph-builder.cc
|
| @@ -1809,12 +1809,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;
|
| }
|
| @@ -1835,8 +1839,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
|
|
|