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/codegen.h" | 7 #include "src/codegen.h" |
8 #include "src/debug/debug.h" | 8 #include "src/debug/debug.h" |
9 #include "src/deoptimizer.h" | 9 #include "src/deoptimizer.h" |
10 #include "src/full-codegen/full-codegen.h" | 10 #include "src/full-codegen/full-codegen.h" |
(...skipping 1010 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1021 // -- r3 : new target | 1021 // -- r3 : new target |
1022 // -- r1 : constructor to call | 1022 // -- r1 : constructor to call |
1023 // -- r2 : address of the first argument | 1023 // -- r2 : address of the first argument |
1024 // ----------------------------------- | 1024 // ----------------------------------- |
1025 | 1025 |
1026 // Find the address of the last argument. | 1026 // Find the address of the last argument. |
1027 __ mov(r4, Operand(r0, LSL, kPointerSizeLog2)); | 1027 __ mov(r4, Operand(r0, LSL, kPointerSizeLog2)); |
1028 __ sub(r4, r2, r4); | 1028 __ sub(r4, r2, r4); |
1029 | 1029 |
1030 // Push a slot for the receiver to be constructed. | 1030 // Push a slot for the receiver to be constructed. |
1031 __ push(r0); | 1031 __ mov(ip, Operand::Zero()); |
| 1032 __ push(ip); |
1032 | 1033 |
1033 // Push the arguments. | 1034 // Push the arguments. |
1034 Generate_InterpreterPushArgs(masm, r2, r4, r5); | 1035 Generate_InterpreterPushArgs(masm, r2, r4, r5); |
1035 | 1036 |
1036 // Call the constructor with r0, r1, and r3 unmodified. | 1037 // Call the constructor with r0, r1, and r3 unmodified. |
1037 __ Jump(masm->isolate()->builtins()->Construct(), RelocInfo::CODE_TARGET); | 1038 __ Jump(masm->isolate()->builtins()->Construct(), RelocInfo::CODE_TARGET); |
1038 } | 1039 } |
1039 | 1040 |
1040 | 1041 |
1041 static void Generate_InterpreterNotifyDeoptimizedHelper( | 1042 static void Generate_InterpreterNotifyDeoptimizedHelper( |
(...skipping 1389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2431 } | 2432 } |
2432 } | 2433 } |
2433 | 2434 |
2434 | 2435 |
2435 #undef __ | 2436 #undef __ |
2436 | 2437 |
2437 } // namespace internal | 2438 } // namespace internal |
2438 } // namespace v8 | 2439 } // namespace v8 |
2439 | 2440 |
2440 #endif // V8_TARGET_ARCH_ARM | 2441 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |