OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #if V8_TARGET_ARCH_PPC | 5 #if V8_TARGET_ARCH_PPC |
6 | 6 |
7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" |
8 #include "src/api-arguments.h" | 8 #include "src/api-arguments.h" |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 3578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3589 } | 3589 } |
3590 masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE); | 3590 masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE); |
3591 __ slwi(r4, r4, Operand(kPointerSizeLog2)); | 3591 __ slwi(r4, r4, Operand(kPointerSizeLog2)); |
3592 __ add(sp, sp, r4); | 3592 __ add(sp, sp, r4); |
3593 __ Ret(); | 3593 __ Ret(); |
3594 } | 3594 } |
3595 | 3595 |
3596 | 3596 |
3597 void LoadICTrampolineStub::Generate(MacroAssembler* masm) { | 3597 void LoadICTrampolineStub::Generate(MacroAssembler* masm) { |
3598 __ EmitLoadTypeFeedbackVector(LoadWithVectorDescriptor::VectorRegister()); | 3598 __ EmitLoadTypeFeedbackVector(LoadWithVectorDescriptor::VectorRegister()); |
3599 LoadICStub stub(isolate(), state()); | 3599 LoadICStub stub(isolate()); |
3600 stub.GenerateForTrampoline(masm); | 3600 stub.GenerateForTrampoline(masm); |
3601 } | 3601 } |
3602 | 3602 |
3603 | 3603 |
3604 void KeyedLoadICTrampolineStub::Generate(MacroAssembler* masm) { | 3604 void KeyedLoadICTrampolineStub::Generate(MacroAssembler* masm) { |
3605 __ EmitLoadTypeFeedbackVector(LoadWithVectorDescriptor::VectorRegister()); | 3605 __ EmitLoadTypeFeedbackVector(LoadWithVectorDescriptor::VectorRegister()); |
3606 KeyedLoadICStub stub(isolate(), state()); | 3606 KeyedLoadICStub stub(isolate()); |
3607 stub.GenerateForTrampoline(masm); | 3607 stub.GenerateForTrampoline(masm); |
3608 } | 3608 } |
3609 | 3609 |
3610 | 3610 |
3611 void CallICTrampolineStub::Generate(MacroAssembler* masm) { | 3611 void CallICTrampolineStub::Generate(MacroAssembler* masm) { |
3612 __ EmitLoadTypeFeedbackVector(r5); | 3612 __ EmitLoadTypeFeedbackVector(r5); |
3613 CallICStub stub(isolate(), state()); | 3613 CallICStub stub(isolate(), state()); |
3614 __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET); | 3614 __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET); |
3615 } | 3615 } |
3616 | 3616 |
(...skipping 1969 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5586 fp, (PropertyCallbackArguments::kReturnValueOffset + 3) * kPointerSize); | 5586 fp, (PropertyCallbackArguments::kReturnValueOffset + 3) * kPointerSize); |
5587 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, | 5587 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, |
5588 kStackUnwindSpace, NULL, return_value_operand, NULL); | 5588 kStackUnwindSpace, NULL, return_value_operand, NULL); |
5589 } | 5589 } |
5590 | 5590 |
5591 #undef __ | 5591 #undef __ |
5592 } // namespace internal | 5592 } // namespace internal |
5593 } // namespace v8 | 5593 } // namespace v8 |
5594 | 5594 |
5595 #endif // V8_TARGET_ARCH_PPC | 5595 #endif // V8_TARGET_ARCH_PPC |
OLD | NEW |