| 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(
|
|
|