| Index: src/mips/code-stubs-mips.cc
|
| diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc
|
| index 0b551fbed5243594f9498364fb52b2448a82d55a..73b37a05d3339cc1173122d8598bc294f1e0e86e 100644
|
| --- a/src/mips/code-stubs-mips.cc
|
| +++ b/src/mips/code-stubs-mips.cc
|
| @@ -7633,6 +7633,16 @@ void RecordWriteStub::CheckNeedsToInformIncrementalMarker(
|
| Label need_incremental;
|
| Label need_incremental_pop_scratch;
|
|
|
| + __ And(regs_.scratch0(), regs_.object(), Operand(~Page::kPageAlignmentMask));
|
| + __ lw(regs_.scratch1(),
|
| + MemOperand(regs_.scratch0(),
|
| + MemoryChunk::kWriteBarrierCounterOffset));
|
| + __ Subu(regs_.scratch1(), regs_.scratch1(), Operand(1));
|
| + __ sw(regs_.scratch1(),
|
| + MemOperand(regs_.scratch0(),
|
| + MemoryChunk::kWriteBarrierCounterOffset));
|
| + __ Branch(&need_incremental, lt, regs_.scratch1(), Operand(zero_reg));
|
| +
|
| // Let's look at the color of the object: If it is not black we don't have
|
| // to inform the incremental marker.
|
| __ JumpIfBlack(regs_.object(), regs_.scratch0(), regs_.scratch1(), &on_black);
|
|
|