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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
8 | 8 |
9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
10 #include "src/debug.h" | 10 #include "src/debug.h" |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 // Initial map for the builtin Array functions should be maps. | 119 // Initial map for the builtin Array functions should be maps. |
120 __ Ldr(x10, FieldMemOperand(x1, JSFunction::kPrototypeOrInitialMapOffset)); | 120 __ Ldr(x10, FieldMemOperand(x1, JSFunction::kPrototypeOrInitialMapOffset)); |
121 __ Tst(x10, kSmiTagMask); | 121 __ Tst(x10, kSmiTagMask); |
122 __ Assert(ne, kUnexpectedInitialMapForArrayFunction); | 122 __ Assert(ne, kUnexpectedInitialMapForArrayFunction); |
123 __ CompareObjectType(x10, x11, x12, MAP_TYPE); | 123 __ CompareObjectType(x10, x11, x12, MAP_TYPE); |
124 __ Assert(eq, kUnexpectedInitialMapForArrayFunction); | 124 __ Assert(eq, kUnexpectedInitialMapForArrayFunction); |
125 } | 125 } |
126 | 126 |
127 // Run the native code for the Array function called as a normal function. | 127 // Run the native code for the Array function called as a normal function. |
128 __ LoadRoot(x2, Heap::kUndefinedValueRootIndex); | 128 __ LoadRoot(x2, Heap::kUndefinedValueRootIndex); |
129 __ Mov(x3, x1); | |
130 ArrayConstructorStub stub(masm->isolate()); | 129 ArrayConstructorStub stub(masm->isolate()); |
131 __ TailCallStub(&stub); | 130 __ TailCallStub(&stub); |
132 } | 131 } |
133 | 132 |
134 | 133 |
135 void Builtins::Generate_StringConstructCode(MacroAssembler* masm) { | 134 void Builtins::Generate_StringConstructCode(MacroAssembler* masm) { |
136 // ----------- S t a t e ------------- | 135 // ----------- S t a t e ------------- |
137 // -- x0 : number of arguments | 136 // -- x0 : number of arguments |
138 // -- x1 : constructor function | 137 // -- x1 : constructor function |
139 // -- lr : return address | 138 // -- lr : return address |
(...skipping 1529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1669 __ Unreachable(); | 1668 __ Unreachable(); |
1670 } | 1669 } |
1671 } | 1670 } |
1672 | 1671 |
1673 | 1672 |
1674 #undef __ | 1673 #undef __ |
1675 | 1674 |
1676 } } // namespace v8::internal | 1675 } } // namespace v8::internal |
1677 | 1676 |
1678 #endif // V8_TARGET_ARCH_ARM | 1677 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |