| Index: src/s390/interface-descriptors-s390.cc
|
| diff --git a/src/s390/interface-descriptors-s390.cc b/src/s390/interface-descriptors-s390.cc
|
| index 028870a5788a52eea2ac01ab52e6e108b1429995..0b07c11c7753007e1b3801cb3a61400bb59833f9 100644
|
| --- a/src/s390/interface-descriptors-s390.cc
|
| +++ b/src/s390/interface-descriptors-s390.cc
|
| @@ -145,6 +145,16 @@ void CallTrampolineDescriptor::InitializePlatformSpecific(
|
| data->InitializePlatformSpecific(arraysize(registers), registers);
|
| }
|
|
|
| +void CallVarargsDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // r2 : number of arguments (on the stack, not including receiver)
|
| + // r3 : the target to call
|
| + // r4 : arguments list (FixedArray)
|
| + // r6 : arguments list length (untagged)
|
| + Register registers[] = {r3, r2, r4, r6};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| void CallForwardVarargsDescriptor::InitializePlatformSpecific(
|
| CallInterfaceDescriptorData* data) {
|
| // r2 : number of arguments
|
| @@ -154,6 +164,25 @@ void CallForwardVarargsDescriptor::InitializePlatformSpecific(
|
| data->InitializePlatformSpecific(arraysize(registers), registers);
|
| }
|
|
|
| +void CallWithArrayLikeDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // r3 : the target to call
|
| + // r4 : the arguments list
|
| + Register registers[] = {r3, r4};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| +void ConstructVarargsDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // r2 : number of arguments (on the stack, not including receiver)
|
| + // r3 : the target to call
|
| + // r5 : the new target
|
| + // r4 : arguments list (FixedArray)
|
| + // r6 : arguments list length (untagged)
|
| + Register registers[] = {r3, r5, r2, r4, r6};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| void ConstructForwardVarargsDescriptor::InitializePlatformSpecific(
|
| CallInterfaceDescriptorData* data) {
|
| // r2 : number of arguments
|
| @@ -164,6 +193,15 @@ void ConstructForwardVarargsDescriptor::InitializePlatformSpecific(
|
| data->InitializePlatformSpecific(arraysize(registers), registers);
|
| }
|
|
|
| +void ConstructWithArrayLikeDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // r3 : the target to call
|
| + // r5 : the new target
|
| + // r4 : the arguments list
|
| + Register registers[] = {r3, r5, r4};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| void ConstructStubDescriptor::InitializePlatformSpecific(
|
| CallInterfaceDescriptorData* data) {
|
| // r2 : number of arguments
|
|
|