| Index: src/mips/interface-descriptors-mips.cc
|
| diff --git a/src/mips/interface-descriptors-mips.cc b/src/mips/interface-descriptors-mips.cc
|
| index 4eea1b38ab4b97b1a3a77ebe0a06c12edfc86144..ffc855c53ff1a1d348bf7eafc332eaf9294ec4f2 100644
|
| --- a/src/mips/interface-descriptors-mips.cc
|
| +++ b/src/mips/interface-descriptors-mips.cc
|
| @@ -155,6 +155,16 @@ void CallTrampolineDescriptor::InitializePlatformSpecific(
|
| data->InitializePlatformSpecific(arraysize(registers), registers);
|
| }
|
|
|
| +void CallVarargsDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // a0 : number of arguments (on the stack, not including receiver)
|
| + // a1 : the target to call
|
| + // a2 : arguments list (FixedArray)
|
| + // t0 : arguments list length (untagged)
|
| + Register registers[] = {a1, a0, a2, t0};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| void CallForwardVarargsDescriptor::InitializePlatformSpecific(
|
| CallInterfaceDescriptorData* data) {
|
| // a1: the target to call
|
| @@ -164,6 +174,25 @@ void CallForwardVarargsDescriptor::InitializePlatformSpecific(
|
| data->InitializePlatformSpecific(arraysize(registers), registers);
|
| }
|
|
|
| +void CallWithArrayLikeDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // a1 : the target to call
|
| + // a2 : the arguments list
|
| + Register registers[] = {a1, a2};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| +void ConstructVarargsDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // a0 : number of arguments (on the stack, not including receiver)
|
| + // a1 : the target to call
|
| + // a3 : the new target
|
| + // a2 : arguments list (FixedArray)
|
| + // t0 : arguments list length (untagged)
|
| + Register registers[] = {a1, a3, a0, a2, t0};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| void ConstructForwardVarargsDescriptor::InitializePlatformSpecific(
|
| CallInterfaceDescriptorData* data) {
|
| // a1: the target to call
|
| @@ -174,6 +203,15 @@ void ConstructForwardVarargsDescriptor::InitializePlatformSpecific(
|
| data->InitializePlatformSpecific(arraysize(registers), registers);
|
| }
|
|
|
| +void ConstructWithArrayLikeDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // a1 : the target to call
|
| + // a3 : the new target
|
| + // a2 : the arguments list
|
| + Register registers[] = {a1, a3, a2};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| void ConstructStubDescriptor::InitializePlatformSpecific(
|
| CallInterfaceDescriptorData* data) {
|
| // a1: target
|
|
|