| 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);
|
|
|