| Index: src/arm/macro-assembler-arm.cc
|
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
|
| index d44c3be644e5833ce0eb4a362557783748de451d..1c96341fd9ecd44d28770f692661fac5869e0cce 100644
|
| --- a/src/arm/macro-assembler-arm.cc
|
| +++ b/src/arm/macro-assembler-arm.cc
|
| @@ -452,9 +452,9 @@ void MacroAssembler::InNewSpace(Register object,
|
| Condition cond,
|
| Label* branch) {
|
| DCHECK(cond == eq || cond == ne);
|
| - and_(scratch, object, Operand(ExternalReference::new_space_mask(isolate())));
|
| - cmp(scratch, Operand(ExternalReference::new_space_start(isolate())));
|
| - b(cond, branch);
|
| + const int mask =
|
| + (1 << MemoryChunk::IN_FROM_SPACE) | (1 << MemoryChunk::IN_TO_SPACE);
|
| + CheckPageFlag(object, scratch, mask, cond, branch);
|
| }
|
|
|
|
|
| @@ -3312,6 +3312,7 @@ void MacroAssembler::CheckPageFlag(
|
| int mask,
|
| Condition cc,
|
| Label* condition_met) {
|
| + DCHECK(cc == eq || cc == ne);
|
| Bfc(scratch, object, 0, kPageSizeBits);
|
| ldr(scratch, MemOperand(scratch, MemoryChunk::kFlagsOffset));
|
| tst(scratch, Operand(mask));
|
|
|