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/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 3918 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3929 // Pre-decrement x11 with kPointerSize on each iteration. | 3929 // Pre-decrement x11 with kPointerSize on each iteration. |
3930 // Pre-decrement in order to skip receiver. | 3930 // Pre-decrement in order to skip receiver. |
3931 __ Ldr(x10, MemOperand(x11, -kPointerSize, PreIndex)); | 3931 __ Ldr(x10, MemOperand(x11, -kPointerSize, PreIndex)); |
3932 __ Push(x10); | 3932 __ Push(x10); |
3933 __ Sub(x1, x1, Operand(1)); | 3933 __ Sub(x1, x1, Operand(1)); |
3934 __ Cbnz(x1, &loop); | 3934 __ Cbnz(x1, &loop); |
3935 } | 3935 } |
3936 | 3936 |
3937 __ bind(&args_set_up); | 3937 __ bind(&args_set_up); |
3938 __ Peek(x1, Operand(x0, LSL, kPointerSizeLog2)); | 3938 __ Peek(x1, Operand(x0, LSL, kPointerSizeLog2)); |
| 3939 __ LoadRoot(x2, Heap::kUndefinedValueRootIndex); |
3939 | 3940 |
3940 CallConstructStub stub(isolate(), SUPER_CONSTRUCTOR_CALL); | 3941 CallConstructStub stub(isolate(), SUPER_CONSTRUCTOR_CALL); |
3941 __ Call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); | 3942 __ Call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); |
3942 | 3943 |
3943 __ Drop(1); | 3944 __ Drop(1); |
3944 | 3945 |
3945 context()->Plug(result_register()); | 3946 context()->Plug(result_register()); |
3946 } | 3947 } |
3947 | 3948 |
3948 | 3949 |
(...skipping 1530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5479 return previous_; | 5480 return previous_; |
5480 } | 5481 } |
5481 | 5482 |
5482 | 5483 |
5483 #undef __ | 5484 #undef __ |
5484 | 5485 |
5485 | 5486 |
5486 } } // namespace v8::internal | 5487 } } // namespace v8::internal |
5487 | 5488 |
5488 #endif // V8_TARGET_ARCH_ARM64 | 5489 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |