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/arm64/interface-descriptors-arm64.h" | 5 #include "src/arm64/interface-descriptors-arm64.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
8 | 8 |
9 #include "src/interface-descriptors.h" | 9 #include "src/interface-descriptors.h" |
10 | 10 |
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
442 CallInterfaceDescriptorData* data) { | 442 CallInterfaceDescriptorData* data) { |
443 Register registers[] = { | 443 Register registers[] = { |
444 x0, // argument count (not including receiver) | 444 x0, // argument count (not including receiver) |
445 x2, // address of first argument | 445 x2, // address of first argument |
446 x1 // the target callable to be call | 446 x1 // the target callable to be call |
447 }; | 447 }; |
448 data->InitializePlatformSpecific(arraysize(registers), registers); | 448 data->InitializePlatformSpecific(arraysize(registers), registers); |
449 } | 449 } |
450 | 450 |
451 | 451 |
| 452 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific( |
| 453 CallInterfaceDescriptorData* data) { |
| 454 Register registers[] = { |
| 455 x0, // argument count (not including receiver) |
| 456 x3, // original constructor |
| 457 x1, // constructor to call |
| 458 x2 // address of the first argument |
| 459 }; |
| 460 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 461 } |
| 462 |
| 463 |
452 void InterpreterCEntryDescriptor::InitializePlatformSpecific( | 464 void InterpreterCEntryDescriptor::InitializePlatformSpecific( |
453 CallInterfaceDescriptorData* data) { | 465 CallInterfaceDescriptorData* data) { |
454 Register registers[] = { | 466 Register registers[] = { |
455 x0, // argument count (argc) | 467 x0, // argument count (argc) |
456 x11, // address of first argument (argv) | 468 x11, // address of first argument (argv) |
457 x1 // the runtime function to call | 469 x1 // the runtime function to call |
458 }; | 470 }; |
459 data->InitializePlatformSpecific(arraysize(registers), registers); | 471 data->InitializePlatformSpecific(arraysize(registers), registers); |
460 } | 472 } |
461 | 473 |
462 | 474 |
463 } // namespace internal | 475 } // namespace internal |
464 } // namespace v8 | 476 } // namespace v8 |
465 | 477 |
466 #endif // V8_TARGET_ARCH_ARM64 | 478 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |