Index: src/s390/macro-assembler-s390.cc |
diff --git a/src/s390/macro-assembler-s390.cc b/src/s390/macro-assembler-s390.cc |
index fbf82ccbc539d38e4bc545205bf5984a28830e61..78622d7d1d7b469eaff6d1c98f5558ffc8f74b26 100644 |
--- a/src/s390/macro-assembler-s390.cc |
+++ b/src/s390/macro-assembler-s390.cc |
@@ -1956,62 +1956,10 @@ void MacroAssembler::CompareRoot(Register obj, Heap::RootListIndex index) { |
CmpP(obj, MemOperand(kRootRegister, index << kPointerSizeLog2)); |
} |
-void MacroAssembler::CheckFastObjectElements(Register map, Register scratch, |
- Label* fail) { |
- STATIC_ASSERT(FAST_SMI_ELEMENTS == 0); |
- STATIC_ASSERT(FAST_HOLEY_SMI_ELEMENTS == 1); |
- STATIC_ASSERT(FAST_ELEMENTS == 2); |
- STATIC_ASSERT(FAST_HOLEY_ELEMENTS == 3); |
- CmpLogicalByte(FieldMemOperand(map, Map::kBitField2Offset), |
- Operand(Map::kMaximumBitField2FastHoleySmiElementValue)); |
- ble(fail); |
- CmpLogicalByte(FieldMemOperand(map, Map::kBitField2Offset), |
- Operand(Map::kMaximumBitField2FastHoleyElementValue)); |
- bgt(fail); |
-} |
- |
-void MacroAssembler::CheckFastSmiElements(Register map, Register scratch, |
- Label* fail) { |
- STATIC_ASSERT(FAST_SMI_ELEMENTS == 0); |
- STATIC_ASSERT(FAST_HOLEY_SMI_ELEMENTS == 1); |
- CmpLogicalByte(FieldMemOperand(map, Map::kBitField2Offset), |
- Operand(Map::kMaximumBitField2FastHoleySmiElementValue)); |
- bgt(fail); |
-} |
- |
void MacroAssembler::SmiToDouble(DoubleRegister value, Register smi) { |
SmiUntag(ip, smi); |
ConvertIntToDouble(ip, value); |
} |
-void MacroAssembler::StoreNumberToDoubleElements( |
- Register value_reg, Register key_reg, Register elements_reg, |
- Register scratch1, DoubleRegister double_scratch, Label* fail, |
- int elements_offset) { |
- DCHECK(!AreAliased(value_reg, key_reg, elements_reg, scratch1)); |
- Label smi_value, store; |
- |
- // Handle smi values specially. |
- JumpIfSmi(value_reg, &smi_value); |
- |
- // Ensure that the object is a heap number |
- CheckMap(value_reg, scratch1, isolate()->factory()->heap_number_map(), fail, |
- DONT_DO_SMI_CHECK); |
- |
- LoadDouble(double_scratch, |
- FieldMemOperand(value_reg, HeapNumber::kValueOffset)); |
- // Force a canonical NaN. |
- CanonicalizeNaN(double_scratch); |
- b(&store); |
- |
- bind(&smi_value); |
- SmiToDouble(double_scratch, value_reg); |
- |
- bind(&store); |
- SmiToDoubleArrayOffset(scratch1, key_reg); |
- StoreDouble(double_scratch, |
- FieldMemOperand(elements_reg, scratch1, |
- FixedDoubleArray::kHeaderSize - elements_offset)); |
-} |
void MacroAssembler::CompareMap(Register obj, Register scratch, Handle<Map> map, |
Label* early_success) { |
@@ -2491,23 +2439,6 @@ void MacroAssembler::LoadContext(Register dst, int context_chain_length) { |
} |
} |
-void MacroAssembler::LoadTransitionedArrayMapConditional( |
- ElementsKind expected_kind, ElementsKind transitioned_kind, |
- Register map_in_out, Register scratch, Label* no_map_match) { |
- DCHECK(IsFastElementsKind(expected_kind)); |
- DCHECK(IsFastElementsKind(transitioned_kind)); |
- |
- // Check that the function's map is the same as the expected cached map. |
- LoadP(scratch, NativeContextMemOperand()); |
- LoadP(ip, ContextMemOperand(scratch, Context::ArrayMapIndex(expected_kind))); |
- CmpP(map_in_out, ip); |
- bne(no_map_match); |
- |
- // Use the transitioned cached map. |
- LoadP(map_in_out, |
- ContextMemOperand(scratch, Context::ArrayMapIndex(transitioned_kind))); |
-} |
- |
void MacroAssembler::LoadNativeContextSlot(int index, Register dst) { |
LoadP(dst, NativeContextMemOperand()); |
LoadP(dst, ContextMemOperand(dst, index)); |
@@ -2592,25 +2523,6 @@ void MacroAssembler::UntagAndJumpIfSmi(Register dst, Register src, |
beq(smi_case); |
} |
-void MacroAssembler::UntagAndJumpIfNotSmi(Register dst, Register src, |
- Label* non_smi_case) { |
- STATIC_ASSERT(kSmiTag == 0); |
- STATIC_ASSERT(kSmiTagSize == 1); |
- |
- // We can more optimally use TestIfSmi if dst != src |
- // otherwise, the UnTag operation will kill the CC and we cannot |
- // test the Tag bit. |
- if (src.code() != dst.code()) { |
- SmiUntag(dst, src); |
- TestIfSmi(src); |
- } else { |
- TestBit(src, 0, r0); |
- SmiUntag(dst, src); |
- LoadAndTestRR(r0, r0); |
- } |
- bne(non_smi_case); |
-} |
- |
void MacroAssembler::JumpIfEitherSmi(Register reg1, Register reg2, |
Label* on_either_smi) { |
STATIC_ASSERT(kSmiTag == 0); |
@@ -3413,42 +3325,6 @@ Register GetRegisterThatIsNotOneOf(Register reg1, Register reg2, Register reg3, |
return no_reg; |
} |
-void MacroAssembler::JumpIfDictionaryInPrototypeChain(Register object, |
- Register scratch0, |
- Register scratch1, |
- Label* found) { |
- DCHECK(!scratch1.is(scratch0)); |
- Register current = scratch0; |
- Label loop_again, end; |
- |
- // scratch contained elements pointer. |
- LoadRR(current, object); |
- LoadP(current, FieldMemOperand(current, HeapObject::kMapOffset)); |
- LoadP(current, FieldMemOperand(current, Map::kPrototypeOffset)); |
- CompareRoot(current, Heap::kNullValueRootIndex); |
- beq(&end); |
- |
- // Loop based on the map going up the prototype chain. |
- bind(&loop_again); |
- LoadP(current, FieldMemOperand(current, HeapObject::kMapOffset)); |
- |
- STATIC_ASSERT(JS_PROXY_TYPE < JS_OBJECT_TYPE); |
- STATIC_ASSERT(JS_VALUE_TYPE < JS_OBJECT_TYPE); |
- LoadlB(scratch1, FieldMemOperand(current, Map::kInstanceTypeOffset)); |
- CmpP(scratch1, Operand(JS_OBJECT_TYPE)); |
- blt(found); |
- |
- LoadlB(scratch1, FieldMemOperand(current, Map::kBitField2Offset)); |
- DecodeField<Map::ElementsKindBits>(scratch1); |
- CmpP(scratch1, Operand(DICTIONARY_ELEMENTS)); |
- beq(found); |
- LoadP(current, FieldMemOperand(current, Map::kPrototypeOffset)); |
- CompareRoot(current, Heap::kNullValueRootIndex); |
- bne(&loop_again); |
- |
- bind(&end); |
-} |
- |
void MacroAssembler::mov(Register dst, const Operand& src) { |
if (src.rmode_ != kRelocInfo_NONEPTR) { |
// some form of relocation needed |