| Index: src/arm/macro-assembler-arm.cc
|
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
|
| index 4d86e225693aa49a0a44a492ce94770a44febfb9..0aac220a66e64553308af9561bceb9d198f92119 100644
|
| --- a/src/arm/macro-assembler-arm.cc
|
| +++ b/src/arm/macro-assembler-arm.cc
|
| @@ -439,10 +439,11 @@ void MacroAssembler::RecordWriteField(
|
| // of the object, so so offset must be a multiple of kPointerSize.
|
| ASSERT(IsAligned(offset, kPointerSize));
|
|
|
| - add(dst, object, Operand(offset));
|
| + add(dst, object, Operand(offset - kHeapObjectTag));
|
| if (emit_debug_code()) {
|
| Label ok;
|
| - JumpIfNotSmi(dst, &ok);
|
| + tst(dst, Operand((1 << kPointerSizeLog2) - 1));
|
| + b(eq, &ok);
|
| stop("Unaligned cell in write barrier");
|
| bind(&ok);
|
| }
|
|
|