Index: src/arm64/macro-assembler-arm64.cc |
diff --git a/src/arm64/macro-assembler-arm64.cc b/src/arm64/macro-assembler-arm64.cc |
index c58fe5e8fd627621deaac8124cfb3e0da309aaa2..b966341dfb92263ade38284861bf5569c6b30701 100644 |
--- a/src/arm64/macro-assembler-arm64.cc |
+++ b/src/arm64/macro-assembler-arm64.cc |
@@ -2203,65 +2203,6 @@ void MacroAssembler::InitializeFieldsWithFiller(Register current_address, |
Bind(&done); |
} |
- |
-void MacroAssembler::JumpIfEitherIsNotSequentialOneByteStrings( |
- Register first, Register second, Register scratch1, Register scratch2, |
- Label* failure, SmiCheckType smi_check) { |
- if (smi_check == DO_SMI_CHECK) { |
- JumpIfEitherSmi(first, second, failure); |
- } else if (emit_debug_code()) { |
- DCHECK(smi_check == DONT_DO_SMI_CHECK); |
- Label not_smi; |
- JumpIfEitherSmi(first, second, NULL, ¬_smi); |
- |
- // At least one input is a smi, but the flags indicated a smi check wasn't |
- // needed. |
- Abort(kUnexpectedSmi); |
- |
- Bind(¬_smi); |
- } |
- |
- // Test that both first and second are sequential one-byte strings. |
- Ldr(scratch1, FieldMemOperand(first, HeapObject::kMapOffset)); |
- Ldr(scratch2, FieldMemOperand(second, HeapObject::kMapOffset)); |
- Ldrb(scratch1, FieldMemOperand(scratch1, Map::kInstanceTypeOffset)); |
- Ldrb(scratch2, FieldMemOperand(scratch2, Map::kInstanceTypeOffset)); |
- |
- JumpIfEitherInstanceTypeIsNotSequentialOneByte(scratch1, scratch2, scratch1, |
- scratch2, failure); |
-} |
- |
- |
-void MacroAssembler::JumpIfEitherInstanceTypeIsNotSequentialOneByte( |
- Register first, Register second, Register scratch1, Register scratch2, |
- Label* failure) { |
- DCHECK(!AreAliased(scratch1, second)); |
- DCHECK(!AreAliased(scratch1, scratch2)); |
- const int kFlatOneByteStringMask = |
- kIsNotStringMask | kStringEncodingMask | kStringRepresentationMask; |
- const int kFlatOneByteStringTag = |
- kStringTag | kOneByteStringTag | kSeqStringTag; |
- And(scratch1, first, kFlatOneByteStringMask); |
- And(scratch2, second, kFlatOneByteStringMask); |
- Cmp(scratch1, kFlatOneByteStringTag); |
- Ccmp(scratch2, kFlatOneByteStringTag, NoFlag, eq); |
- B(ne, failure); |
-} |
- |
- |
-void MacroAssembler::JumpIfInstanceTypeIsNotSequentialOneByte(Register type, |
- Register scratch, |
- Label* failure) { |
- const int kFlatOneByteStringMask = |
- kIsNotStringMask | kStringEncodingMask | kStringRepresentationMask; |
- const int kFlatOneByteStringTag = |
- kStringTag | kOneByteStringTag | kSeqStringTag; |
- And(scratch, type, kFlatOneByteStringMask); |
- Cmp(scratch, kFlatOneByteStringTag); |
- B(ne, failure); |
-} |
- |
- |
void MacroAssembler::JumpIfBothInstanceTypesAreNotSequentialOneByte( |
Register first, Register second, Register scratch1, Register scratch2, |
Label* failure) { |
@@ -3208,114 +3149,6 @@ void MacroAssembler::FastAllocate(Register object_size, Register result, |
ObjectTag(result, result); |
} |
-void MacroAssembler::AllocateTwoByteString(Register result, |
- Register length, |
- Register scratch1, |
- Register scratch2, |
- Register scratch3, |
- Label* gc_required) { |
- DCHECK(!AreAliased(result, length, scratch1, scratch2, scratch3)); |
- // Calculate the number of bytes needed for the characters in the string while |
- // observing object alignment. |
- STATIC_ASSERT((SeqTwoByteString::kHeaderSize & kObjectAlignmentMask) == 0); |
- Add(scratch1, length, length); // Length in bytes, not chars. |
- Add(scratch1, scratch1, kObjectAlignmentMask + SeqTwoByteString::kHeaderSize); |
- Bic(scratch1, scratch1, kObjectAlignmentMask); |
- |
- // Allocate two-byte string in new space. |
- Allocate(scratch1, result, scratch2, scratch3, gc_required, |
- NO_ALLOCATION_FLAGS); |
- |
- // Set the map, length and hash field. |
- InitializeNewString(result, |
- length, |
- Heap::kStringMapRootIndex, |
- scratch1, |
- scratch2); |
-} |
- |
- |
-void MacroAssembler::AllocateOneByteString(Register result, Register length, |
- Register scratch1, Register scratch2, |
- Register scratch3, |
- Label* gc_required) { |
- DCHECK(!AreAliased(result, length, scratch1, scratch2, scratch3)); |
- // Calculate the number of bytes needed for the characters in the string while |
- // observing object alignment. |
- STATIC_ASSERT((SeqOneByteString::kHeaderSize & kObjectAlignmentMask) == 0); |
- STATIC_ASSERT(kCharSize == 1); |
- Add(scratch1, length, kObjectAlignmentMask + SeqOneByteString::kHeaderSize); |
- Bic(scratch1, scratch1, kObjectAlignmentMask); |
- |
- // Allocate one-byte string in new space. |
- Allocate(scratch1, result, scratch2, scratch3, gc_required, |
- NO_ALLOCATION_FLAGS); |
- |
- // Set the map, length and hash field. |
- InitializeNewString(result, length, Heap::kOneByteStringMapRootIndex, |
- scratch1, scratch2); |
-} |
- |
- |
-void MacroAssembler::AllocateTwoByteConsString(Register result, |
- Register length, |
- Register scratch1, |
- Register scratch2, |
- Label* gc_required) { |
- Allocate(ConsString::kSize, result, scratch1, scratch2, gc_required, |
- NO_ALLOCATION_FLAGS); |
- |
- InitializeNewString(result, |
- length, |
- Heap::kConsStringMapRootIndex, |
- scratch1, |
- scratch2); |
-} |
- |
- |
-void MacroAssembler::AllocateOneByteConsString(Register result, Register length, |
- Register scratch1, |
- Register scratch2, |
- Label* gc_required) { |
- Allocate(ConsString::kSize, result, scratch1, scratch2, gc_required, |
- NO_ALLOCATION_FLAGS); |
- |
- InitializeNewString(result, length, Heap::kConsOneByteStringMapRootIndex, |
- scratch1, scratch2); |
-} |
- |
- |
-void MacroAssembler::AllocateTwoByteSlicedString(Register result, |
- Register length, |
- Register scratch1, |
- Register scratch2, |
- Label* gc_required) { |
- DCHECK(!AreAliased(result, length, scratch1, scratch2)); |
- Allocate(SlicedString::kSize, result, scratch1, scratch2, gc_required, |
- NO_ALLOCATION_FLAGS); |
- |
- InitializeNewString(result, |
- length, |
- Heap::kSlicedStringMapRootIndex, |
- scratch1, |
- scratch2); |
-} |
- |
- |
-void MacroAssembler::AllocateOneByteSlicedString(Register result, |
- Register length, |
- Register scratch1, |
- Register scratch2, |
- Label* gc_required) { |
- DCHECK(!AreAliased(result, length, scratch1, scratch2)); |
- Allocate(SlicedString::kSize, result, scratch1, scratch2, gc_required, |
- NO_ALLOCATION_FLAGS); |
- |
- InitializeNewString(result, length, Heap::kSlicedOneByteStringMapRootIndex, |
- scratch1, scratch2); |
-} |
- |
- |
// Allocates a heap number or jumps to the need_gc label if the young space |
// is full and a scavenge is needed. |
void MacroAssembler::AllocateHeapNumber(Register result, |