Index: src/interface-descriptors.cc |
diff --git a/src/interface-descriptors.cc b/src/interface-descriptors.cc |
index da9eb2991fc8cd7ace2ad255d516500a7a18eb4e..780b9f6e2a42c697053c37f6c512609d1e8b0c36 100644 |
--- a/src/interface-descriptors.cc |
+++ b/src/interface-descriptors.cc |
@@ -100,6 +100,15 @@ void StoreDescriptor::InitializePlatformSpecific( |
} |
+void StoreTransitionDescriptor::InitializePlatformSpecific( |
+ CallInterfaceDescriptorData* data) { |
+ Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), |
+ MapRegister()}; |
+ |
+ data->InitializePlatformSpecific(arraysize(registers), registers); |
+} |
+ |
+ |
Type::FunctionType* |
StoreTransitionDescriptor::BuildCallInterfaceDescriptorFunctionType( |
Isolate* isolate, int paramater_count) { |
@@ -198,6 +207,21 @@ void LoadWithVectorDescriptor::InitializePlatformSpecific( |
Type::FunctionType* |
+VectorStoreTransitionDescriptor::BuildCallInterfaceDescriptorFunctionType( |
+ Isolate* isolate, int paramater_count) { |
+ Type::FunctionType* function = Type::FunctionType::New( |
+ AnyTagged(), Type::Undefined(), 6, isolate->interface_descriptor_zone()); |
+ function->InitParameter(0, AnyTagged()); // receiver |
+ function->InitParameter(1, AnyTagged()); // name |
+ function->InitParameter(2, AnyTagged()); // value |
+ function->InitParameter(3, SmiType()); // slot |
+ function->InitParameter(4, AnyTagged()); // vector |
+ function->InitParameter(5, AnyTagged()); // map |
+ return function; |
+} |
+ |
+ |
+Type::FunctionType* |
VectorStoreICDescriptor::BuildCallInterfaceDescriptorFunctionType( |
Isolate* isolate, int paramater_count) { |
Type::FunctionType* function = Type::FunctionType::New( |