| 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 #if V8_TARGET_ARCH_ARM | 5 #if V8_TARGET_ARCH_ARM |
| 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 2914 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2925 __ ldr(r1, MemOperand(fp, parameter_count_offset)); | 2925 __ ldr(r1, MemOperand(fp, parameter_count_offset)); |
| 2926 if (function_mode() == JS_FUNCTION_STUB_MODE) { | 2926 if (function_mode() == JS_FUNCTION_STUB_MODE) { |
| 2927 __ add(r1, r1, Operand(1)); | 2927 __ add(r1, r1, Operand(1)); |
| 2928 } | 2928 } |
| 2929 masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE); | 2929 masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE); |
| 2930 __ mov(r1, Operand(r1, LSL, kPointerSizeLog2)); | 2930 __ mov(r1, Operand(r1, LSL, kPointerSizeLog2)); |
| 2931 __ add(sp, sp, r1); | 2931 __ add(sp, sp, r1); |
| 2932 __ Ret(); | 2932 __ Ret(); |
| 2933 } | 2933 } |
| 2934 | 2934 |
| 2935 void CallICTrampolineStub::Generate(MacroAssembler* masm) { | |
| 2936 __ EmitLoadTypeFeedbackVector(r2); | |
| 2937 CallICStub stub(isolate(), state()); | |
| 2938 __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET); | |
| 2939 } | |
| 2940 | |
| 2941 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) { | 2935 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) { |
| 2942 if (masm->isolate()->function_entry_hook() != NULL) { | 2936 if (masm->isolate()->function_entry_hook() != NULL) { |
| 2943 ProfileEntryHookStub stub(masm->isolate()); | 2937 ProfileEntryHookStub stub(masm->isolate()); |
| 2944 PredictableCodeSizeScope predictable(masm); | 2938 PredictableCodeSizeScope predictable(masm); |
| 2945 predictable.ExpectSize(masm->CallStubSize(&stub) + | 2939 predictable.ExpectSize(masm->CallStubSize(&stub) + |
| 2946 2 * Assembler::kInstrSize); | 2940 2 * Assembler::kInstrSize); |
| 2947 __ push(lr); | 2941 __ push(lr); |
| 2948 __ CallStub(&stub); | 2942 __ CallStub(&stub); |
| 2949 __ pop(lr); | 2943 __ pop(lr); |
| 2950 } | 2944 } |
| (...skipping 1142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4093 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, | 4087 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, |
| 4094 kStackUnwindSpace, NULL, return_value_operand, NULL); | 4088 kStackUnwindSpace, NULL, return_value_operand, NULL); |
| 4095 } | 4089 } |
| 4096 | 4090 |
| 4097 #undef __ | 4091 #undef __ |
| 4098 | 4092 |
| 4099 } // namespace internal | 4093 } // namespace internal |
| 4100 } // namespace v8 | 4094 } // namespace v8 |
| 4101 | 4095 |
| 4102 #endif // V8_TARGET_ARCH_ARM | 4096 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |