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 |