| Index: src/arm64/code-stubs-arm64.cc
|
| diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc
|
| index c34b41ad48bd19fca798df1d83c8d342d0bdf8ad..5039c27be3e1c7c27f5c155285e91d08f5fb694e 100644
|
| --- a/src/arm64/code-stubs-arm64.cc
|
| +++ b/src/arm64/code-stubs-arm64.cc
|
| @@ -4178,76 +4178,6 @@ void RecordWriteStub::Generate(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) {
|
| - // x0 value element value to store
|
| - // x3 index_smi element index as smi
|
| - // sp[0] array_index_smi array literal index in function as smi
|
| - // sp[1] array array literal
|
| -
|
| - Register value = x0;
|
| - Register index_smi = x3;
|
| -
|
| - Register array = x1;
|
| - Register array_map = x2;
|
| - Register array_index_smi = x4;
|
| - __ PeekPair(array_index_smi, array, 0);
|
| - __ Ldr(array_map, FieldMemOperand(array, JSObject::kMapOffset));
|
| -
|
| - Label double_elements, smi_element, fast_elements, slow_elements;
|
| - Register bitfield2 = x10;
|
| - __ Ldrb(bitfield2, FieldMemOperand(array_map, Map::kBitField2Offset));
|
| -
|
| - // Jump if array's ElementsKind is not FAST*_SMI_ELEMENTS, FAST_ELEMENTS or
|
| - // FAST_HOLEY_ELEMENTS.
|
| - STATIC_ASSERT(FAST_SMI_ELEMENTS == 0);
|
| - STATIC_ASSERT(FAST_HOLEY_SMI_ELEMENTS == 1);
|
| - STATIC_ASSERT(FAST_ELEMENTS == 2);
|
| - STATIC_ASSERT(FAST_HOLEY_ELEMENTS == 3);
|
| - __ Cmp(bitfield2, Map::kMaximumBitField2FastHoleyElementValue);
|
| - __ B(hi, &double_elements);
|
| -
|
| - __ JumpIfSmi(value, &smi_element);
|
| -
|
| - // Jump if array's ElementsKind is not FAST_ELEMENTS or FAST_HOLEY_ELEMENTS.
|
| - __ Tbnz(bitfield2, MaskToBit(FAST_ELEMENTS << Map::ElementsKindBits::kShift),
|
| - &fast_elements);
|
| -
|
| - // Store into the array literal requires an elements transition. Call into
|
| - // the runtime.
|
| - __ Bind(&slow_elements);
|
| - __ Push(array, index_smi, value);
|
| - __ Ldr(x10, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset));
|
| - __ Ldr(x11, FieldMemOperand(x10, JSFunction::kLiteralsOffset));
|
| - __ Push(x11, array_index_smi);
|
| - __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 1);
|
| -
|
| - // Array literal has ElementsKind of FAST_*_ELEMENTS and value is an object.
|
| - __ Bind(&fast_elements);
|
| - __ Ldr(x10, FieldMemOperand(array, JSObject::kElementsOffset));
|
| - __ Add(x11, x10, Operand::UntagSmiAndScale(index_smi, kPointerSizeLog2));
|
| - __ Add(x11, x11, FixedArray::kHeaderSize - kHeapObjectTag);
|
| - __ Str(value, MemOperand(x11));
|
| - // Update the write barrier for the array store.
|
| - __ RecordWrite(x10, x11, value, kLRHasNotBeenSaved, kDontSaveFPRegs,
|
| - EMIT_REMEMBERED_SET, OMIT_SMI_CHECK);
|
| - __ Ret();
|
| -
|
| - // Array literal has ElementsKind of FAST_*_SMI_ELEMENTS or FAST_*_ELEMENTS,
|
| - // and value is Smi.
|
| - __ Bind(&smi_element);
|
| - __ Ldr(x10, FieldMemOperand(array, JSObject::kElementsOffset));
|
| - __ Add(x11, x10, Operand::UntagSmiAndScale(index_smi, kPointerSizeLog2));
|
| - __ Str(value, FieldMemOperand(x11, FixedArray::kHeaderSize));
|
| - __ Ret();
|
| -
|
| - __ Bind(&double_elements);
|
| - __ Ldr(x10, FieldMemOperand(array, JSObject::kElementsOffset));
|
| - __ StoreNumberToDoubleElements(value, index_smi, x10, x11, d0,
|
| - &slow_elements);
|
| - __ Ret();
|
| -}
|
| -
|
| -
|
| void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
|
| CEntryStub ces(isolate(), 1, kSaveFPRegs);
|
| __ Call(ces.GetCode(), RelocInfo::CODE_TARGET);
|
|
|