Index: src/interface-descriptors.cc |
diff --git a/src/interface-descriptors.cc b/src/interface-descriptors.cc |
index 54b6943a7aead49e476d72467b262a4280a443c9..25b3d250fb9096de5e93ac196549e4ea5451de3f 100644 |
--- a/src/interface-descriptors.cc |
+++ b/src/interface-descriptors.cc |
@@ -370,6 +370,28 @@ void ArgumentsAccessNewDescriptor::InitializePlatformSpecific( |
} |
+Type::FunctionType* |
+RestParamAccessDescriptor::BuildCallInterfaceDescriptorFunctionType( |
+ Isolate* isolate, int paramater_count) { |
+ Zone* zone = isolate->interface_descriptor_zone(); |
+ Type::FunctionType* function = |
+ Type::FunctionType::New(AnyTagged(zone), Type::Undefined(), 4, zone); |
+ function->InitParameter(0, SmiType(zone)); |
+ function->InitParameter(1, ExternalPointer(zone)); |
+ function->InitParameter(2, SmiType(zone)); |
+ function->InitParameter(3, SmiType(zone)); |
+ return function; |
+} |
+ |
+ |
+void RestParamAccessDescriptor::InitializePlatformSpecific( |
+ CallInterfaceDescriptorData* data) { |
+ Register registers[] = {parameter_count(), parameter_pointer(), |
+ rest_parameter_index(), language_mode()}; |
+ data->InitializePlatformSpecific(arraysize(registers), registers); |
+} |
+ |
+ |
void ContextOnlyDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
data->InitializePlatformSpecific(0, nullptr); |