| Index: src/interface-descriptors.h
|
| diff --git a/src/interface-descriptors.h b/src/interface-descriptors.h
|
| index a016797623a4331fdec2acab881d2899898f84ba..d85ca36cad9443459b492a8fa9e7c25e26d11783 100644
|
| --- a/src/interface-descriptors.h
|
| +++ b/src/interface-descriptors.h
|
| @@ -17,6 +17,7 @@ class PlatformInterfaceDescriptor;
|
| V(Load) \
|
| V(Store) \
|
| V(StoreTransition) \
|
| + V(VectorStoreTransition) \
|
| V(VectorStoreICTrampoline) \
|
| V(VectorStoreIC) \
|
| V(Instanceof) \
|
| @@ -263,7 +264,29 @@ class StoreTransitionDescriptor : public StoreDescriptor {
|
| kParameterCount
|
| };
|
|
|
| - // MapRegister() is no_reg on ia32, instead it's on the stack.
|
| + static const Register MapRegister();
|
| +};
|
| +
|
| +
|
| +class VectorStoreTransitionDescriptor : public StoreDescriptor {
|
| + public:
|
| + DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(VectorStoreTransitionDescriptor,
|
| + StoreDescriptor)
|
| +
|
| + // Extends StoreDescriptor with Map parameter.
|
| + enum ParameterIndices {
|
| + kReceiverIndex,
|
| + kNameIndex,
|
| + kValueIndex,
|
| + kSlotIndex,
|
| + kVectorIndex,
|
| + kMapIndex,
|
| + kParameterCount
|
| + };
|
| +
|
| + // These registers are no_reg for ia32, using the stack instead.
|
| + static const Register SlotRegister();
|
| + static const Register VectorRegister();
|
| static const Register MapRegister();
|
| };
|
|
|
|
|