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 a9433c5d6ac0159e15c77b1d612b5473b142e058..a5e5aa07dc4e1e9b8d99d25dbc500e0814bc6918 100644 |
--- a/src/full-codegen/ppc/full-codegen-ppc.cc |
+++ b/src/full-codegen/ppc/full-codegen-ppc.cc |
@@ -1433,12 +1433,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; |
} |
@@ -1456,6 +1460,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 |