Index: src/interface-descriptors.cc |
diff --git a/src/interface-descriptors.cc b/src/interface-descriptors.cc |
index 0a257179496096bbc58534d789845b6935359d1c..b4690e1a4ebd65170ca3f29428a964b62bec34cb 100644 |
--- a/src/interface-descriptors.cc |
+++ b/src/interface-descriptors.cc |
@@ -390,15 +390,16 @@ void CallFunctionWithFeedbackAndVectorDescriptor::InitializePlatformIndependent( |
void BuiltinDescriptor::InitializePlatformIndependent( |
CallInterfaceDescriptorData* data) { |
- MachineType machine_types[] = {MachineType::AnyTagged(), |
- MachineType::Int32()}; |
+ MachineType machine_types[] = { |
+ MachineType::AnyTagged(), MachineType::AnyTagged(), MachineType::Int32()}; |
data->InitializePlatformIndependent(arraysize(machine_types), 0, |
machine_types); |
} |
void BuiltinDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {NewTargetRegister(), ArgumentsCountRegister()}; |
+ Register registers[] = {TargetRegister(), NewTargetRegister(), |
+ ArgumentsCountRegister()}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
@@ -409,6 +410,10 @@ const Register BuiltinDescriptor::NewTargetRegister() { |
return kJavaScriptCallNewTargetRegister; |
} |
+const Register BuiltinDescriptor::TargetRegister() { |
+ return kJSFunctionRegister; |
+} |
+ |
void ArrayNoArgumentConstructorDescriptor::InitializePlatformIndependent( |
CallInterfaceDescriptorData* data) { |
// kFunction, kAllocationSite, kActualArgumentsCount, kFunctionParameter |