Index: src/arm/code-stubs-arm.cc |
=================================================================== |
--- src/arm/code-stubs-arm.cc (revision 12583) |
+++ src/arm/code-stubs-arm.cc (working copy) |
@@ -7431,6 +7431,16 @@ |
Label need_incremental; |
Label need_incremental_pop_scratch; |
+ __ and_(regs_.scratch0(), regs_.object(), Operand(~Page::kPageAlignmentMask)); |
+ __ ldr(regs_.scratch1(), |
+ MemOperand(regs_.scratch0(), |
+ MemoryChunk::kWriteBarrierCounterOffset)); |
+ __ sub(regs_.scratch1(), Immediate(1), SetCC); |
+ __ str(regs_.scratch1(), |
+ MemOperand(regs_.scratch0(), |
+ MemoryChunk::kWriteBarrierCounterOffset)); |
+ __ b(mi, &need_incremental); |
+ |
// 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); |