Index: src/arm/macro-assembler-arm.cc |
diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc |
index b76447438204b7ebe09a039a9d9eb15d1621c7bc..c5aba632c7a4efe1c6b19c49a2af86c57439e1c1 100644 |
--- a/src/arm/macro-assembler-arm.cc |
+++ b/src/arm/macro-assembler-arm.cc |
@@ -1883,85 +1883,6 @@ void MacroAssembler::GetNumberHash(Register t0, Register scratch) { |
bic(t0, t0, Operand(0xc0000000u)); |
} |
- |
-void MacroAssembler::LoadFromNumberDictionary(Label* miss, |
- Register elements, |
- Register key, |
- Register result, |
- Register t0, |
- Register t1, |
- Register t2) { |
- // Register use: |
- // |
- // elements - holds the slow-case elements of the receiver on entry. |
- // Unchanged unless 'result' is the same register. |
- // |
- // key - holds the smi key on entry. |
- // Unchanged unless 'result' is the same register. |
- // |
- // result - holds the result on exit if the load succeeded. |
- // Allowed to be the same as 'key' or 'result'. |
- // Unchanged on bailout so 'key' or 'result' can be used |
- // in further computation. |
- // |
- // Scratch registers: |
- // |
- // t0 - holds the untagged key on entry and holds the hash once computed. |
- // |
- // t1 - used to hold the capacity mask of the dictionary |
- // |
- // t2 - used for the index into the dictionary. |
- Label done; |
- |
- GetNumberHash(t0, t1); |
- |
- // Compute the capacity mask. |
- ldr(t1, FieldMemOperand(elements, SeededNumberDictionary::kCapacityOffset)); |
- SmiUntag(t1); |
- sub(t1, t1, Operand(1)); |
- |
- // Generate an unrolled loop that performs a few probes before giving up. |
- for (int i = 0; i < kNumberDictionaryProbes; i++) { |
- // Use t2 for index calculations and keep the hash intact in t0. |
- mov(t2, t0); |
- // Compute the masked index: (hash + i + i * i) & mask. |
- if (i > 0) { |
- add(t2, t2, Operand(SeededNumberDictionary::GetProbeOffset(i))); |
- } |
- and_(t2, t2, Operand(t1)); |
- |
- // Scale the index by multiplying by the element size. |
- DCHECK(SeededNumberDictionary::kEntrySize == 3); |
- add(t2, t2, Operand(t2, LSL, 1)); // t2 = t2 * 3 |
- |
- // Check if the key is identical to the name. |
- add(t2, elements, Operand(t2, LSL, kPointerSizeLog2)); |
- ldr(ip, FieldMemOperand(t2, SeededNumberDictionary::kElementsStartOffset)); |
- cmp(key, Operand(ip)); |
- if (i != kNumberDictionaryProbes - 1) { |
- b(eq, &done); |
- } else { |
- b(ne, miss); |
- } |
- } |
- |
- bind(&done); |
- // Check that the value is a field property. |
- // t2: elements + (index * kPointerSize) |
- const int kDetailsOffset = |
- SeededNumberDictionary::kElementsStartOffset + 2 * kPointerSize; |
- ldr(t1, FieldMemOperand(t2, kDetailsOffset)); |
- DCHECK_EQ(DATA, 0); |
- tst(t1, Operand(Smi::FromInt(PropertyDetails::TypeField::kMask))); |
- b(ne, miss); |
- |
- // Get the value at the masked, scaled index and return. |
- const int kValueOffset = |
- SeededNumberDictionary::kElementsStartOffset + kPointerSize; |
- ldr(result, FieldMemOperand(t2, kValueOffset)); |
-} |
- |
- |
void MacroAssembler::Allocate(int object_size, |
Register result, |
Register scratch1, |
@@ -2418,20 +2339,6 @@ void MacroAssembler::CompareRoot(Register obj, |
cmp(obj, ip); |
} |
- |
-void MacroAssembler::CheckFastElements(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); |
- ldrb(scratch, FieldMemOperand(map, Map::kBitField2Offset)); |
- cmp(scratch, Operand(Map::kMaximumBitField2FastHoleyElementValue)); |
- b(hi, fail); |
-} |
- |
- |
void MacroAssembler::CheckFastObjectElements(Register map, |
Register scratch, |
Label* fail) { |