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_ARM | 7 #if V8_TARGET_ARCH_ARM |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 2529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2540 __ mov(r2, Operand::Zero()); | 2540 __ mov(r2, Operand::Zero()); |
2541 __ GetBuiltinFunction(r1, Builtins::CALL_NON_FUNCTION); | 2541 __ GetBuiltinFunction(r1, Builtins::CALL_NON_FUNCTION); |
2542 __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), | 2542 __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), |
2543 RelocInfo::CODE_TARGET); | 2543 RelocInfo::CODE_TARGET); |
2544 } | 2544 } |
2545 | 2545 |
2546 | 2546 |
2547 static void EmitWrapCase(MacroAssembler* masm, int argc, Label* cont) { | 2547 static void EmitWrapCase(MacroAssembler* masm, int argc, Label* cont) { |
2548 // Wrap the receiver and patch it back onto the stack. | 2548 // Wrap the receiver and patch it back onto the stack. |
2549 { FrameAndConstantPoolScope frame_scope(masm, StackFrame::INTERNAL); | 2549 { FrameAndConstantPoolScope frame_scope(masm, StackFrame::INTERNAL); |
2550 __ Push(r1, r3); | 2550 __ push(r1); |
2551 __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); | 2551 __ mov(r0, r3); |
| 2552 ToObjectStub stub(masm->isolate()); |
| 2553 __ CallStub(&stub); |
2552 __ pop(r1); | 2554 __ pop(r1); |
2553 } | 2555 } |
2554 __ str(r0, MemOperand(sp, argc * kPointerSize)); | 2556 __ str(r0, MemOperand(sp, argc * kPointerSize)); |
2555 __ jmp(cont); | 2557 __ jmp(cont); |
2556 } | 2558 } |
2557 | 2559 |
2558 | 2560 |
2559 static void CallFunctionNoFeedback(MacroAssembler* masm, | 2561 static void CallFunctionNoFeedback(MacroAssembler* masm, |
2560 int argc, bool needs_checks, | 2562 int argc, bool needs_checks, |
2561 bool call_as_method) { | 2563 bool call_as_method) { |
(...skipping 2962 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5524 MemOperand(fp, 6 * kPointerSize), NULL); | 5526 MemOperand(fp, 6 * kPointerSize), NULL); |
5525 } | 5527 } |
5526 | 5528 |
5527 | 5529 |
5528 #undef __ | 5530 #undef __ |
5529 | 5531 |
5530 } // namespace internal | 5532 } // namespace internal |
5531 } // namespace v8 | 5533 } // namespace v8 |
5532 | 5534 |
5533 #endif // V8_TARGET_ARCH_ARM | 5535 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |