Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index 48620b2625caed1a19761e0508ea576f468477e4..9badb0bd1c9270212bad2faa2291abd9c8a64187 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -4077,14 +4077,11 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { |
if (instr->hydrogen()->NeedsWriteBarrierForMap()) { |
Register temp = ToRegister(instr->temp()); |
// Update the write barrier for the map field. |
- __ RecordWriteField(object, |
- HeapObject::kMapOffset, |
- scratch, |
- temp, |
- GetRAState(), |
- kSaveFPRegs, |
- OMIT_REMEMBERED_SET, |
- OMIT_SMI_CHECK); |
+ __ RecordWriteForMap(object, |
+ scratch, |
+ temp, |
+ GetRAState(), |
+ kSaveFPRegs); |
} |
} |
@@ -4102,7 +4099,8 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { |
GetRAState(), |
kSaveFPRegs, |
EMIT_REMEMBERED_SET, |
- instr->hydrogen()->SmiCheckForWriteBarrier()); |
+ instr->hydrogen()->SmiCheckForWriteBarrier(), |
+ instr->hydrogen()->PointersToHereCheckForValue()); |
} |
} else { |
__ lw(scratch, FieldMemOperand(object, JSObject::kPropertiesOffset)); |
@@ -4118,7 +4116,8 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { |
GetRAState(), |
kSaveFPRegs, |
EMIT_REMEMBERED_SET, |
- instr->hydrogen()->SmiCheckForWriteBarrier()); |
+ instr->hydrogen()->SmiCheckForWriteBarrier(), |
+ instr->hydrogen()->PointersToHereCheckForValue()); |
} |
} |
} |
@@ -4338,7 +4337,8 @@ void LCodeGen::DoStoreKeyedFixedArray(LStoreKeyed* instr) { |
GetRAState(), |
kSaveFPRegs, |
EMIT_REMEMBERED_SET, |
- check_needed); |
+ check_needed, |
+ instr->hydrogen()->PointersToHereCheckForValue()); |
} |
} |
@@ -4386,8 +4386,11 @@ void LCodeGen::DoTransitionElementsKind(LTransitionElementsKind* instr) { |
__ li(new_map_reg, Operand(to_map)); |
__ sw(new_map_reg, FieldMemOperand(object_reg, HeapObject::kMapOffset)); |
// Write barrier. |
- __ RecordWriteField(object_reg, HeapObject::kMapOffset, new_map_reg, |
- scratch, GetRAState(), kDontSaveFPRegs); |
+ __ RecordWriteForMap(object_reg, |
+ new_map_reg, |
+ scratch, |
+ GetRAState(), |
+ kDontSaveFPRegs); |
} else { |
ASSERT(object_reg.is(a0)); |
ASSERT(ToRegister(instr->context()).is(cp)); |