Index: src/x64/interface-descriptors-x64.cc |
diff --git a/src/x64/interface-descriptors-x64.cc b/src/x64/interface-descriptors-x64.cc |
index 6ef9dc14b807f4a16db4583d2f438c9da17caa22..7602403508739cdcce27f420bda349b3ec32f742 100644 |
--- a/src/x64/interface-descriptors-x64.cc |
+++ b/src/x64/interface-descriptors-x64.cc |
@@ -66,21 +66,21 @@ const Register GrowArrayElementsDescriptor::KeyRegister() { return rbx; } |
void FastNewClosureDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rbx}; |
+ Register registers[] = {rbx}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void FastNewContextDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rdi}; |
+ Register registers[] = {rdi}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void TypeofDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rbx}; |
+ Register registers[] = {rbx}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
@@ -88,70 +88,70 @@ void TypeofDescriptor::InitializePlatformSpecific( |
void ToNumberDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
// ToNumberStub invokes a function, and therefore needs a context. |
- Register registers[] = {rsi, rax}; |
+ Register registers[] = {rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void NumberToStringDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rax}; |
+ Register registers[] = {rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void FastCloneShallowArrayDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rax, rbx, rcx}; |
+ Register registers[] = {rax, rbx, rcx}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void FastCloneShallowObjectDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rax, rbx, rcx, rdx}; |
+ Register registers[] = {rax, rbx, rcx, rdx}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void CreateAllocationSiteDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rbx, rdx}; |
+ Register registers[] = {rbx, rdx}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void CreateWeakCellDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rbx, rdx, rdi}; |
+ Register registers[] = {rbx, rdx, rdi}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void StoreArrayLiteralElementDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rcx, rax}; |
+ Register registers[] = {rcx, rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void CallFunctionDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rdi}; |
+ Register registers[] = {rdi}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void CallFunctionWithFeedbackDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rdi, rdx}; |
+ Register registers[] = {rdi, rdx}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void CallFunctionWithFeedbackAndVectorDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rdi, rdx, rbx}; |
+ Register registers[] = {rdi, rdx, rbx}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
@@ -165,31 +165,28 @@ void CallConstructDescriptor::InitializePlatformSpecific( |
// 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[] = {rsi, rax, rdi, rbx}; |
+ Register registers[] = {rax, rdi, rbx}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void RegExpConstructResultDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rcx, rbx, rax}; |
+ Register registers[] = {rcx, rbx, rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void TransitionElementsKindDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rax, rbx}; |
+ Register registers[] = {rax, rbx}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void AllocateHeapNumberDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- // register state |
- // rsi -- context |
- Register registers[] = {rsi}; |
- data->InitializePlatformSpecific(arraysize(registers), registers, nullptr); |
+ data->InitializePlatformSpecific(0, nullptr, nullptr); |
} |
@@ -199,7 +196,7 @@ void ArrayConstructorConstantArgCountDescriptor::InitializePlatformSpecific( |
// rax -- number of arguments |
// rdi -- function |
// rbx -- allocation site with elements kind |
- Register registers[] = {rsi, rdi, rbx}; |
+ Register registers[] = {rdi, rbx}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
@@ -207,7 +204,7 @@ void ArrayConstructorConstantArgCountDescriptor::InitializePlatformSpecific( |
void ArrayConstructorDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
// stack param count needs (constructor pointer, and single argument) |
- Register registers[] = {rsi, rdi, rbx, rax}; |
+ Register registers[] = {rdi, rbx, rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
@@ -215,10 +212,9 @@ void ArrayConstructorDescriptor::InitializePlatformSpecific( |
void InternalArrayConstructorConstantArgCountDescriptor:: |
InitializePlatformSpecific(CallInterfaceDescriptorData* data) { |
// register state |
- // rsi -- context |
// rax -- number of arguments |
// rdi -- constructor function |
- Register registers[] = {rsi, rdi}; |
+ Register registers[] = {rdi}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
@@ -226,49 +222,49 @@ void InternalArrayConstructorConstantArgCountDescriptor:: |
void InternalArrayConstructorDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
// stack param count needs (constructor pointer, and single argument) |
- Register registers[] = {rsi, rdi, rax}; |
+ Register registers[] = {rdi, rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void CompareDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rdx, rax}; |
+ Register registers[] = {rdx, rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void CompareNilDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rax}; |
+ Register registers[] = {rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void ToBooleanDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rax}; |
+ Register registers[] = {rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void BinaryOpDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rdx, rax}; |
+ Register registers[] = {rdx, rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void BinaryOpWithAllocationSiteDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rcx, rdx, rax}; |
+ Register registers[] = {rcx, rdx, rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
void StringAddDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {rsi, rdx, rax}; |
+ Register registers[] = {rdx, rax}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |
@@ -276,7 +272,6 @@ void StringAddDescriptor::InitializePlatformSpecific( |
void KeyedDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
Register registers[] = { |
- rsi, // context |
rcx, // key |
}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
@@ -286,7 +281,6 @@ void KeyedDescriptor::InitializePlatformSpecific( |
void NamedDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
Register registers[] = { |
- rsi, // context |
rcx, // name |
}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
@@ -296,7 +290,6 @@ void NamedDescriptor::InitializePlatformSpecific( |
void CallHandlerDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
Register registers[] = { |
- rsi, // context |
rdx, // receiver |
}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
@@ -306,7 +299,6 @@ void CallHandlerDescriptor::InitializePlatformSpecific( |
void ArgumentAdaptorDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
Register registers[] = { |
- rsi, // context |
rdi, // JSFunction |
rax, // actual number of arguments |
rbx, // expected number of arguments |
@@ -318,7 +310,6 @@ void ArgumentAdaptorDescriptor::InitializePlatformSpecific( |
void ApiFunctionDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
Register registers[] = { |
- rsi, // context |
rdi, // callee |
rbx, // call_data |
rcx, // holder |
@@ -332,7 +323,6 @@ void ApiFunctionDescriptor::InitializePlatformSpecific( |
void ApiAccessorDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
Register registers[] = { |
- rsi, // context |
rdi, // callee |
rbx, // call_data |
rcx, // holder |
@@ -345,7 +335,6 @@ void ApiAccessorDescriptor::InitializePlatformSpecific( |
void MathRoundVariantDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
Register registers[] = { |
- rsi, // context |
rdi, // math rounding function |
rdx, // vector slot id |
}; |