Index: src/mips/code-stubs-mips.cc |
diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc |
index 0126def617ac687ab309ecdc660bff5740dac941..d9bbb1a76b4b1c3deca007265bc7c42fe33a07aa 100644 |
--- a/src/mips/code-stubs-mips.cc |
+++ b/src/mips/code-stubs-mips.cc |
@@ -4280,73 +4280,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, t0 |
- // ----------------------------------- |
- |
- Label element_done; |
- Label double_elements; |
- Label smi_element; |
- Label slow_elements; |
- Label fast_elements; |
- |
- // Get array literal index, array literal and its map. |
- __ lw(t0, MemOperand(sp, 0 * kPointerSize)); |
- __ lw(a1, MemOperand(sp, 1 * kPointerSize)); |
- __ lw(a2, FieldMemOperand(a1, JSObject::kMapOffset)); |
- |
- __ CheckFastElements(a2, t1, &double_elements); |
- // Check for FAST_*_SMI_ELEMENTS or FAST_*_ELEMENTS elements |
- __ JumpIfSmi(a0, &smi_element); |
- __ CheckFastSmiElements(a2, t1, &fast_elements); |
- |
- // Store into the array literal requires a elements transition. Call into |
- // the runtime. |
- __ bind(&slow_elements); |
- // call. |
- __ Push(a1, a3, a0); |
- __ lw(t1, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); |
- __ lw(t1, FieldMemOperand(t1, JSFunction::kLiteralsOffset)); |
- __ Push(t1, t0); |
- __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 1); |
- |
- // Array literal has ElementsKind of FAST_*_ELEMENTS and value is an object. |
- __ bind(&fast_elements); |
- __ lw(t1, FieldMemOperand(a1, JSObject::kElementsOffset)); |
- __ sll(t2, a3, kPointerSizeLog2 - kSmiTagSize); |
- __ Addu(t2, t1, t2); |
- __ Addu(t2, t2, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); |
- __ sw(a0, MemOperand(t2, 0)); |
- // Update the write barrier for the array store. |
- __ RecordWrite(t1, t2, 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); |
- __ lw(t1, FieldMemOperand(a1, JSObject::kElementsOffset)); |
- __ sll(t2, a3, kPointerSizeLog2 - kSmiTagSize); |
- __ Addu(t2, t1, t2); |
- __ sw(a0, FieldMemOperand(t2, FixedArray::kHeaderSize)); |
- __ Ret(USE_DELAY_SLOT); |
- __ mov(v0, a0); |
- |
- // Array literal has ElementsKind of FAST_*_DOUBLE_ELEMENTS. |
- __ bind(&double_elements); |
- __ lw(t1, FieldMemOperand(a1, JSObject::kElementsOffset)); |
- __ StoreNumberToDoubleElements(a0, a3, t1, t3, t5, a2, &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); |