Index: src/full-codegen/mips64/full-codegen-mips64.cc |
diff --git a/src/full-codegen/mips64/full-codegen-mips64.cc b/src/full-codegen/mips64/full-codegen-mips64.cc |
index 266e1adac6e8be794a65942549bab3ec4d6e7960..702e0f92f6d7b6041800a8b0f661b6491b0f056c 100644 |
--- a/src/full-codegen/mips64/full-codegen-mips64.cc |
+++ b/src/full-codegen/mips64/full-codegen-mips64.cc |
@@ -1466,12 +1466,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; |
} |
@@ -1490,6 +1494,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
__ li(a0, Operand(Smi::FromInt(NONE))); |
PushOperand(a0); |
CallRuntimeWithOperands(Runtime::kDefineAccessorPropertyUnchecked); |
+ PrepareForBailoutForId(it->second->bailout_id, BailoutState::NO_REGISTERS); |
} |
// Object literals have two parts. The "static" part on the left contains no |