Index: src/interface-descriptors.cc |
diff --git a/src/interface-descriptors.cc b/src/interface-descriptors.cc |
index d14b1a101128c8a3f075643af0963eca937de2fc..bd59038960c0ae694fd4bff5fd8a30dbe293ece1 100644 |
--- a/src/interface-descriptors.cc |
+++ b/src/interface-descriptors.cc |
@@ -389,15 +389,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); |
} |
@@ -408,6 +409,10 @@ const Register BuiltinDescriptor::NewTargetRegister() { |
return kJavaScriptCallNewTargetRegister; |
} |
+const Register BuiltinDescriptor::TargetRegister() { |
+ return kJSFunctionRegister; |
+} |
+ |
void ArrayNoArgumentConstructorDescriptor::InitializePlatformIndependent( |
CallInterfaceDescriptorData* data) { |
// kFunction, kAllocationSite, kActualArgumentsCount, kFunctionParameter |