| Index: src/full-codegen/ppc/full-codegen-ppc.cc
|
| diff --git a/src/full-codegen/ppc/full-codegen-ppc.cc b/src/full-codegen/ppc/full-codegen-ppc.cc
|
| index 5f7ffb96a05c6b26b2bd1004a694cd671b21adca..1f47983775a2f784e865e8b75fb0216f8d276c09 100644
|
| --- a/src/full-codegen/ppc/full-codegen-ppc.cc
|
| +++ b/src/full-codegen/ppc/full-codegen-ppc.cc
|
| @@ -1440,12 +1440,16 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| break;
|
| 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;
|
| }
|
| @@ -1463,6 +1467,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| __ LoadSmiLiteral(r3, Smi::FromInt(NONE));
|
| PushOperand(r3);
|
| CallRuntimeWithOperands(Runtime::kDefineAccessorPropertyUnchecked);
|
| + PrepareForBailoutForId(it->second->bailout_id, BailoutState::NO_REGISTERS);
|
| }
|
|
|
| // Object literals have two parts. The "static" part on the left contains no
|
|
|