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