Index: src/compiler/ppc/code-generator-ppc.cc |
diff --git a/src/compiler/ppc/code-generator-ppc.cc b/src/compiler/ppc/code-generator-ppc.cc |
index cf3716b6795e9c74f8ccf89037e32aeba06a0fa1..7fc6dd9d077688686cc31807749bd2624116ee28 100644 |
--- a/src/compiler/ppc/code-generator-ppc.cc |
+++ b/src/compiler/ppc/code-generator-ppc.cc |
@@ -192,6 +192,9 @@ class OutOfLineRecordWrite final : public OutOfLineCode { |
__ CheckPageFlag(value_, scratch0_, |
MemoryChunk::kPointersToHereAreInterestingMask, eq, |
exit()); |
+ RememberedSetAction const remembered_set_action = |
+ mode_ > RecordWriteMode::kValueIsMap ? EMIT_REMEMBERED_SET |
+ : OMIT_REMEMBERED_SET; |
SaveFPRegsMode const save_fp_mode = |
frame()->DidAllocateDoubleRegisters() ? kSaveFPRegs : kDontSaveFPRegs; |
if (!frame()->needs_frame()) { |
@@ -200,7 +203,7 @@ class OutOfLineRecordWrite final : public OutOfLineCode { |
__ Push(scratch1_); |
} |
RecordWriteStub stub(isolate(), object_, scratch0_, scratch1_, |
- EMIT_REMEMBERED_SET, save_fp_mode); |
+ remembered_set_action, save_fp_mode); |
if (offset_.is(no_reg)) { |
__ addi(scratch1_, object_, Operand(offset_immediate_)); |
} else { |