| Index: src/interface-descriptors.h
|
| diff --git a/src/interface-descriptors.h b/src/interface-descriptors.h
|
| index e97a600fbe24635620719e2be6e6b29824069ec7..102fb853b68bda2a2ae561eeca3173caf1991752 100644
|
| --- a/src/interface-descriptors.h
|
| +++ b/src/interface-descriptors.h
|
| @@ -324,6 +324,15 @@ class StoreDescriptor : public CallInterfaceDescriptor {
|
| static const Register NameRegister();
|
| static const Register ValueRegister();
|
| static const Register SlotRegister();
|
| +
|
| +#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X87
|
| + static const bool kPassLastArgsOnStack = true;
|
| +#else
|
| + static const bool kPassLastArgsOnStack = false;
|
| +#endif
|
| +
|
| + // Pass value and slot through the stack.
|
| + static const int kStackArgumentsCount = kPassLastArgsOnStack ? 2 : 0;
|
| };
|
|
|
| class StoreTransitionDescriptor : public StoreDescriptor {
|
| @@ -336,7 +345,8 @@ class StoreTransitionDescriptor : public StoreDescriptor {
|
| static const Register SlotRegister();
|
| static const Register VectorRegister();
|
|
|
| - static bool PassVectorAndSlotOnStack();
|
| + // Pass value, slot and vector through the stack.
|
| + static const int kStackArgumentsCount = kPassLastArgsOnStack ? 3 : 0;
|
| };
|
|
|
| class StoreWithVectorDescriptor : public StoreDescriptor {
|
| @@ -346,6 +356,9 @@ class StoreWithVectorDescriptor : public StoreDescriptor {
|
| StoreDescriptor)
|
|
|
| static const Register VectorRegister();
|
| +
|
| + // Pass value, slot and vector through the stack.
|
| + static const int kStackArgumentsCount = kPassLastArgsOnStack ? 3 : 0;
|
| };
|
|
|
| class LoadWithVectorDescriptor : public LoadDescriptor {
|
|
|