| Index: src/x64/interface-descriptors-x64.cc
|
| diff --git a/src/x64/interface-descriptors-x64.cc b/src/x64/interface-descriptors-x64.cc
|
| index 0b17b162fb076afbce541ceaad80c18d238bf341..ba4a909ebd0e3b267d33fd5b6cd519abcefd6b85 100644
|
| --- a/src/x64/interface-descriptors-x64.cc
|
| +++ b/src/x64/interface-descriptors-x64.cc
|
| @@ -186,12 +186,11 @@ void CallConstructDescriptor::InitializePlatformSpecific(
|
| CallInterfaceDescriptorData* data) {
|
| // rax : number of arguments
|
| // rbx : feedback vector
|
| - // rcx : new target (for IsSuperConstructorCall)
|
| // rdx : slot in feedback vector (Smi, for RecordCallTarget)
|
| // rdi : constructor function
|
| // TODO(turbofan): So far we don't gather type feedback and hence skip the
|
| // slot parameter, but ArrayConstructStub needs the vector to be undefined.
|
| - Register registers[] = {rax, rdi, rcx, rbx};
|
| + Register registers[] = {rax, rdi, rbx};
|
| data->InitializePlatformSpecific(arraysize(registers), registers);
|
| }
|
|
|
| @@ -205,6 +204,16 @@ void CallTrampolineDescriptor::InitializePlatformSpecific(
|
| }
|
|
|
|
|
| +void ConstructTrampolineDescriptor::InitializePlatformSpecific(
|
| + CallInterfaceDescriptorData* data) {
|
| + // rax : number of arguments
|
| + // rdx : the new target
|
| + // rdi : the target to call
|
| + Register registers[] = {rdi, rdx, rax};
|
| + data->InitializePlatformSpecific(arraysize(registers), registers);
|
| +}
|
| +
|
| +
|
| void RegExpConstructResultDescriptor::InitializePlatformSpecific(
|
| CallInterfaceDescriptorData* data) {
|
| Register registers[] = {rcx, rbx, rax};
|
|
|