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); |