| Index: src/s390/macro-assembler-s390.cc
|
| diff --git a/src/s390/macro-assembler-s390.cc b/src/s390/macro-assembler-s390.cc
|
| index c0f234d3ef28e99dc6ffd8dc72bb32b12846c782..b514f45f46d7e708e3406538373ad468f09e1ef6 100644
|
| --- a/src/s390/macro-assembler-s390.cc
|
| +++ b/src/s390/macro-assembler-s390.cc
|
| @@ -3558,27 +3558,25 @@ void MacroAssembler::TestJSArrayForAllocationMemento(Register receiver_reg,
|
| ExternalReference::new_space_allocation_top_address(isolate());
|
| const int kMementoMapOffset = JSArray::kSize - kHeapObjectTag;
|
| const int kMementoEndOffset = kMementoMapOffset + AllocationMemento::kSize;
|
| - Register mask = scratch2_reg;
|
|
|
| - DCHECK(!AreAliased(receiver_reg, scratch_reg, mask));
|
| + DCHECK(!AreAliased(receiver_reg, scratch_reg));
|
|
|
| // Bail out if the object is not in new space.
|
| JumpIfNotInNewSpace(receiver_reg, scratch_reg, no_memento_found);
|
|
|
| DCHECK((~Page::kPageAlignmentMask & 0xffff) == 0);
|
| - LoadImmP(mask, Operand((~Page::kPageAlignmentMask >> 16)));
|
| AddP(scratch_reg, receiver_reg, Operand(kMementoEndOffset));
|
|
|
| // If the object is in new space, we need to check whether it is on the same
|
| // page as the current top.
|
| XorP(r0, scratch_reg, Operand(new_space_allocation_top));
|
| - AndP(r0, r0, mask);
|
| + AndP(r0, r0, Operand(~Page::kPageAlignmentMask));
|
| beq(&top_check, Label::kNear);
|
| // The object is on a different page than allocation top. Bail out if the
|
| // object sits on the page boundary as no memento can follow and we cannot
|
| // touch the memory following it.
|
| XorP(r0, scratch_reg, receiver_reg);
|
| - AndP(r0, r0, mask);
|
| + AndP(r0, r0, Operand(~Page::kPageAlignmentMask));
|
| bne(no_memento_found);
|
| // Continue with the actual map check.
|
| b(&map_check, Label::kNear);
|
|
|