| Index: src/arm64/interface-descriptors-arm64.cc
|
| diff --git a/src/arm64/interface-descriptors-arm64.cc b/src/arm64/interface-descriptors-arm64.cc
|
| index 5bc58d7bcdee84323374f02ec236b23e1e856488..53249e62b1089c2411c7be6b9791ffd83f6a0bdf 100644
|
| --- a/src/arm64/interface-descriptors-arm64.cc
|
| +++ b/src/arm64/interface-descriptors-arm64.cc
|
| @@ -176,6 +176,16 @@ void CallTrampolineDescriptor::InitializePlatformSpecific(
|
| data->InitializePlatformSpecific(arraysize(registers), registers);
|
| }
|
|
|
| +void CallVarargsDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // x0 : number of arguments (on the stack, not including receiver)
|
| + // x1 : the target to call
|
| + // x2 : arguments list (FixedArray)
|
| + // x4 : arguments list length (untagged)
|
| + Register registers[] = {x1, x0, x2, x4};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| void CallForwardVarargsDescriptor::InitializePlatformSpecific(
|
| CallInterfaceDescriptorData* data) {
|
| // x1: target
|
| @@ -185,6 +195,25 @@ void CallForwardVarargsDescriptor::InitializePlatformSpecific(
|
| data->InitializePlatformSpecific(arraysize(registers), registers);
|
| }
|
|
|
| +void CallWithArrayLikeDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // x1 : the target to call
|
| + // x2 : the arguments list
|
| + Register registers[] = {x1, x2};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| +void ConstructVarargsDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // x0 : number of arguments (on the stack, not including receiver)
|
| + // x1 : the target to call
|
| + // x3 : the new target
|
| + // x2 : arguments list (FixedArray)
|
| + // x4 : arguments list length (untagged)
|
| + Register registers[] = {x1, x3, x0, x2, x4};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| void ConstructForwardVarargsDescriptor::InitializePlatformSpecific(
|
| CallInterfaceDescriptorData* data) {
|
| // x3: new target
|
| @@ -195,6 +224,15 @@ void ConstructForwardVarargsDescriptor::InitializePlatformSpecific(
|
| data->InitializePlatformSpecific(arraysize(registers), registers);
|
| }
|
|
|
| +void ConstructWithArrayLikeDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // x1 : the target to call
|
| + // x3 : the new target
|
| + // x2 : the arguments list
|
| + Register registers[] = {x1, x3, x2};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| void ConstructStubDescriptor::InitializePlatformSpecific(
|
| CallInterfaceDescriptorData* data) {
|
| // x3: new target
|
|
|