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 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 }; | 428 }; |
429 data->InitializePlatformSpecific(arraysize(registers), registers); | 429 data->InitializePlatformSpecific(arraysize(registers), registers); |
430 } | 430 } |
431 | 431 |
432 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific( | 432 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific( |
433 CallInterfaceDescriptorData* data) { | 433 CallInterfaceDescriptorData* data) { |
434 Register registers[] = { | 434 Register registers[] = { |
435 x0, // argument count (not including receiver) | 435 x0, // argument count (not including receiver) |
436 x3, // new target | 436 x3, // new target |
437 x1, // constructor to call | 437 x1, // constructor to call |
438 x2 // address of the first argument | 438 x2, // allocation site feedback if available, undefined otherwise |
| 439 x4 // address of the first argument |
439 }; | 440 }; |
440 data->InitializePlatformSpecific(arraysize(registers), registers); | 441 data->InitializePlatformSpecific(arraysize(registers), registers); |
441 } | 442 } |
442 | 443 |
443 void InterpreterCEntryDescriptor::InitializePlatformSpecific( | 444 void InterpreterCEntryDescriptor::InitializePlatformSpecific( |
444 CallInterfaceDescriptorData* data) { | 445 CallInterfaceDescriptorData* data) { |
445 Register registers[] = { | 446 Register registers[] = { |
446 x0, // argument count (argc) | 447 x0, // argument count (argc) |
447 x11, // address of first argument (argv) | 448 x11, // address of first argument (argv) |
448 x1 // the runtime function to call | 449 x1 // the runtime function to call |
449 }; | 450 }; |
450 data->InitializePlatformSpecific(arraysize(registers), registers); | 451 data->InitializePlatformSpecific(arraysize(registers), registers); |
451 } | 452 } |
452 | 453 |
453 void ResumeGeneratorDescriptor::InitializePlatformSpecific( | 454 void ResumeGeneratorDescriptor::InitializePlatformSpecific( |
454 CallInterfaceDescriptorData* data) { | 455 CallInterfaceDescriptorData* data) { |
455 Register registers[] = { | 456 Register registers[] = { |
456 x0, // the value to pass to the generator | 457 x0, // the value to pass to the generator |
457 x1, // the JSGeneratorObject to resume | 458 x1, // the JSGeneratorObject to resume |
458 x2 // the resume mode (tagged) | 459 x2 // the resume mode (tagged) |
459 }; | 460 }; |
460 data->InitializePlatformSpecific(arraysize(registers), registers); | 461 data->InitializePlatformSpecific(arraysize(registers), registers); |
461 } | 462 } |
462 | 463 |
463 } // namespace internal | 464 } // namespace internal |
464 } // namespace v8 | 465 } // namespace v8 |
465 | 466 |
466 #endif // V8_TARGET_ARCH_ARM64 | 467 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |