OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_MIPS64 | 7 #if V8_TARGET_ARCH_MIPS64 |
8 | 8 |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 4529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4540 __ ld(a5, FieldMemOperand(a1, JSObject::kElementsOffset)); | 4540 __ ld(a5, FieldMemOperand(a1, JSObject::kElementsOffset)); |
4541 __ SmiScale(a6, a3, kPointerSizeLog2); | 4541 __ SmiScale(a6, a3, kPointerSizeLog2); |
4542 __ Daddu(a6, a5, a6); | 4542 __ Daddu(a6, a5, a6); |
4543 __ sd(a0, FieldMemOperand(a6, FixedArray::kHeaderSize)); | 4543 __ sd(a0, FieldMemOperand(a6, FixedArray::kHeaderSize)); |
4544 __ Ret(USE_DELAY_SLOT); | 4544 __ Ret(USE_DELAY_SLOT); |
4545 __ mov(v0, a0); | 4545 __ mov(v0, a0); |
4546 | 4546 |
4547 // Array literal has ElementsKind of FAST_*_DOUBLE_ELEMENTS. | 4547 // Array literal has ElementsKind of FAST_*_DOUBLE_ELEMENTS. |
4548 __ bind(&double_elements); | 4548 __ bind(&double_elements); |
4549 __ ld(a5, FieldMemOperand(a1, JSObject::kElementsOffset)); | 4549 __ ld(a5, FieldMemOperand(a1, JSObject::kElementsOffset)); |
4550 __ StoreNumberToDoubleElements(a0, a3, a5, a7, t1, a2, &slow_elements); | 4550 __ StoreNumberToDoubleElements(a0, a3, a5, a7, t1, &slow_elements); |
4551 __ Ret(USE_DELAY_SLOT); | 4551 __ Ret(USE_DELAY_SLOT); |
4552 __ mov(v0, a0); | 4552 __ mov(v0, a0); |
4553 } | 4553 } |
4554 | 4554 |
4555 | 4555 |
4556 void StubFailureTrampolineStub::Generate(MacroAssembler* masm) { | 4556 void StubFailureTrampolineStub::Generate(MacroAssembler* masm) { |
4557 CEntryStub ces(isolate(), 1, kSaveFPRegs); | 4557 CEntryStub ces(isolate(), 1, kSaveFPRegs); |
4558 __ Call(ces.GetCode(), RelocInfo::CODE_TARGET); | 4558 __ Call(ces.GetCode(), RelocInfo::CODE_TARGET); |
4559 int parameter_count_offset = | 4559 int parameter_count_offset = |
4560 StubFailureTrampolineFrame::kCallerStackParameterCountFrameOffset; | 4560 StubFailureTrampolineFrame::kCallerStackParameterCountFrameOffset; |
(...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5257 kStackUnwindSpace, kInvalidStackOffset, | 5257 kStackUnwindSpace, kInvalidStackOffset, |
5258 MemOperand(fp, 6 * kPointerSize), NULL); | 5258 MemOperand(fp, 6 * kPointerSize), NULL); |
5259 } | 5259 } |
5260 | 5260 |
5261 | 5261 |
5262 #undef __ | 5262 #undef __ |
5263 | 5263 |
5264 } } // namespace v8::internal | 5264 } } // namespace v8::internal |
5265 | 5265 |
5266 #endif // V8_TARGET_ARCH_MIPS64 | 5266 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |