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(); |
}; |