Index: src/interface-descriptors.cc |
diff --git a/src/interface-descriptors.cc b/src/interface-descriptors.cc |
index 1a89aff5a3940fc9fae8b8174f65acdfb478948a..2a59e1d5eb0f9064e428930c05550649f5976ff0 100644 |
--- a/src/interface-descriptors.cc |
+++ b/src/interface-descriptors.cc |
@@ -134,15 +134,9 @@ void StoreDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), |
SlotRegister()}; |
- data->InitializePlatformSpecific(arraysize(registers), registers); |
-} |
-bool StoreTransitionDescriptor::PassVectorAndSlotOnStack() { |
-#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X87 |
- return true; |
-#else |
- return false; |
-#endif |
+ int len = arraysize(registers) - kStackArgumentsCount; |
+ data->InitializePlatformSpecific(len, registers); |
} |
void StoreTransitionDescriptor::InitializePlatformSpecific( |
@@ -151,11 +145,7 @@ void StoreTransitionDescriptor::InitializePlatformSpecific( |
ReceiverRegister(), NameRegister(), MapRegister(), |
ValueRegister(), SlotRegister(), VectorRegister(), |
}; |
- int len = arraysize(registers); |
- if (PassVectorAndSlotOnStack()) { |
- // Pass slot and vector on the stack. |
- len -= 2; |
- } |
+ int len = arraysize(registers) - kStackArgumentsCount; |
data->InitializePlatformSpecific(len, registers); |
} |
@@ -243,7 +233,8 @@ void StoreWithVectorDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), |
SlotRegister(), VectorRegister()}; |
- data->InitializePlatformSpecific(arraysize(registers), registers); |
+ int len = arraysize(registers) - kStackArgumentsCount; |
+ data->InitializePlatformSpecific(len, registers); |
} |
void BinaryOpWithVectorDescriptor::InitializePlatformIndependent( |