OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 |
6 | 6 |
7 #include "src/arm64/frames-arm64.h" | 7 #include "src/arm64/frames-arm64.h" |
8 #include "src/codegen.h" | 8 #include "src/codegen.h" |
9 #include "src/debug/debug.h" | 9 #include "src/debug/debug.h" |
10 #include "src/deoptimizer.h" | 10 #include "src/deoptimizer.h" |
(...skipping 1665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1676 ExternalReference::get_date_field_function(masm->isolate()), 2); | 1676 ExternalReference::get_date_field_function(masm->isolate()), 2); |
1677 } | 1677 } |
1678 __ Ret(); | 1678 __ Ret(); |
1679 | 1679 |
1680 // 3. Raise a TypeError if the receiver is not a date. | 1680 // 3. Raise a TypeError if the receiver is not a date. |
1681 __ Bind(&receiver_not_date); | 1681 __ Bind(&receiver_not_date); |
1682 __ TailCallRuntime(Runtime::kThrowNotDateError); | 1682 __ TailCallRuntime(Runtime::kThrowNotDateError); |
1683 } | 1683 } |
1684 | 1684 |
1685 // static | 1685 // static |
1686 void Builtins::Generate_FunctionHasInstance(MacroAssembler* masm) { | |
1687 // ----------- S t a t e ------------- | |
1688 // -- x0 : argc | |
1689 // -- jssp[0] : first argument (left-hand side) | |
1690 // -- jssp[8] : receiver (right-hand side) | |
1691 // ----------------------------------- | |
1692 ASM_LOCATION("Builtins::Generate_FunctionHasInstance"); | |
1693 | |
1694 { | |
1695 FrameScope scope(masm, StackFrame::INTERNAL); | |
1696 __ Ldr(InstanceOfDescriptor::LeftRegister(), | |
1697 MemOperand(fp, 2 * kPointerSize)); // Load left-hand side. | |
1698 __ Ldr(InstanceOfDescriptor::RightRegister(), | |
1699 MemOperand(fp, 3 * kPointerSize)); // Load right-hand side. | |
1700 InstanceOfStub stub(masm->isolate(), true); | |
1701 __ CallStub(&stub); | |
1702 } | |
1703 | |
1704 // Pop the argument and the receiver. | |
1705 __ Drop(2); | |
1706 __ Ret(); | |
1707 } | |
1708 | |
1709 // static | |
1710 void Builtins::Generate_FunctionPrototypeApply(MacroAssembler* masm) { | 1686 void Builtins::Generate_FunctionPrototypeApply(MacroAssembler* masm) { |
1711 // ----------- S t a t e ------------- | 1687 // ----------- S t a t e ------------- |
1712 // -- x0 : argc | 1688 // -- x0 : argc |
1713 // -- jssp[0] : argArray (if argc == 2) | 1689 // -- jssp[0] : argArray (if argc == 2) |
1714 // -- jssp[8] : thisArg (if argc >= 1) | 1690 // -- jssp[8] : thisArg (if argc >= 1) |
1715 // -- jssp[16] : receiver | 1691 // -- jssp[16] : receiver |
1716 // ----------------------------------- | 1692 // ----------------------------------- |
1717 ASM_LOCATION("Builtins::Generate_FunctionPrototypeApply"); | 1693 ASM_LOCATION("Builtins::Generate_FunctionPrototypeApply"); |
1718 | 1694 |
1719 Register argc = x0; | 1695 Register argc = x0; |
(...skipping 1203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2923 } | 2899 } |
2924 } | 2900 } |
2925 | 2901 |
2926 | 2902 |
2927 #undef __ | 2903 #undef __ |
2928 | 2904 |
2929 } // namespace internal | 2905 } // namespace internal |
2930 } // namespace v8 | 2906 } // namespace v8 |
2931 | 2907 |
2932 #endif // V8_TARGET_ARCH_ARM | 2908 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |