Index: src/mips64/code-stubs-mips64.cc |
diff --git a/src/mips64/code-stubs-mips64.cc b/src/mips64/code-stubs-mips64.cc |
index d7f8ea2803091d390da356f0ce3d67486071ca51..874d1bf144f7bfe87181656706715b6283576f78 100644 |
--- a/src/mips64/code-stubs-mips64.cc |
+++ b/src/mips64/code-stubs-mips64.cc |
@@ -4312,73 +4312,6 @@ void RecordWriteStub::CheckNeedsToInformIncrementalMarker( |
} |
-void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) { |
- // ----------- S t a t e ------------- |
- // -- a0 : element value to store |
- // -- a3 : element index as smi |
- // -- sp[0] : array literal index in function as smi |
- // -- sp[4] : array literal |
- // clobbers a1, a2, a4 |
- // ----------------------------------- |
- |
- Label element_done; |
- Label double_elements; |
- Label smi_element; |
- Label slow_elements; |
- Label fast_elements; |
- |
- // Get array literal index, array literal and its map. |
- __ ld(a4, MemOperand(sp, 0 * kPointerSize)); |
- __ ld(a1, MemOperand(sp, 1 * kPointerSize)); |
- __ ld(a2, FieldMemOperand(a1, JSObject::kMapOffset)); |
- |
- __ CheckFastElements(a2, a5, &double_elements); |
- // Check for FAST_*_SMI_ELEMENTS or FAST_*_ELEMENTS elements |
- __ JumpIfSmi(a0, &smi_element); |
- __ CheckFastSmiElements(a2, a5, &fast_elements); |
- |
- // Store into the array literal requires a elements transition. Call into |
- // the runtime. |
- __ bind(&slow_elements); |
- // call. |
- __ Push(a1, a3, a0); |
- __ ld(a5, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); |
- __ ld(a5, FieldMemOperand(a5, JSFunction::kLiteralsOffset)); |
- __ Push(a5, a4); |
- __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 1); |
- |
- // Array literal has ElementsKind of FAST_*_ELEMENTS and value is an object. |
- __ bind(&fast_elements); |
- __ ld(a5, FieldMemOperand(a1, JSObject::kElementsOffset)); |
- __ SmiScale(a6, a3, kPointerSizeLog2); |
- __ Daddu(a6, a5, a6); |
- __ Daddu(a6, a6, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); |
- __ sd(a0, MemOperand(a6, 0)); |
- // Update the write barrier for the array store. |
- __ RecordWrite(a5, a6, a0, kRAHasNotBeenSaved, kDontSaveFPRegs, |
- EMIT_REMEMBERED_SET, OMIT_SMI_CHECK); |
- __ Ret(USE_DELAY_SLOT); |
- __ mov(v0, a0); |
- |
- // Array literal has ElementsKind of FAST_*_SMI_ELEMENTS or FAST_*_ELEMENTS, |
- // and value is Smi. |
- __ bind(&smi_element); |
- __ ld(a5, FieldMemOperand(a1, JSObject::kElementsOffset)); |
- __ SmiScale(a6, a3, kPointerSizeLog2); |
- __ Daddu(a6, a5, a6); |
- __ sd(a0, FieldMemOperand(a6, FixedArray::kHeaderSize)); |
- __ Ret(USE_DELAY_SLOT); |
- __ mov(v0, a0); |
- |
- // Array literal has ElementsKind of FAST_*_DOUBLE_ELEMENTS. |
- __ bind(&double_elements); |
- __ ld(a5, FieldMemOperand(a1, JSObject::kElementsOffset)); |
- __ StoreNumberToDoubleElements(a0, a3, a5, a7, t1, &slow_elements); |
- __ Ret(USE_DELAY_SLOT); |
- __ mov(v0, a0); |
-} |
- |
- |
void StubFailureTrampolineStub::Generate(MacroAssembler* masm) { |
CEntryStub ces(isolate(), 1, kSaveFPRegs); |
__ Call(ces.GetCode(), RelocInfo::CODE_TARGET); |