Index: src/code-stubs.cc |
diff --git a/src/code-stubs.cc b/src/code-stubs.cc |
index d77f37ead2cef0615de00d3df14e4d5b3ad5dea5..2d66bf3095bdb7b02482f1de6997c3d8cd81bbe0 100644 |
--- a/src/code-stubs.cc |
+++ b/src/code-stubs.cc |
@@ -664,6 +664,35 @@ void InstanceofStub::InitializeInterfaceDescriptor( |
} |
+static void InitializeVectorLoadStub(CodeStubInterfaceDescriptor* descriptor, |
+ CodeStub::Major major, |
+ Address deoptimization_handler) { |
+ DCHECK(FLAG_vector_ics); |
+ Register registers[] = {InterfaceDescriptor::ContextRegister(), |
+ FullVectorLoadConvention::ReceiverRegister(), |
+ FullVectorLoadConvention::NameRegister(), |
+ FullVectorLoadConvention::SlotRegister(), |
+ FullVectorLoadConvention::VectorRegister()}; |
+ descriptor->Initialize(major, arraysize(registers), registers, |
+ deoptimization_handler); |
+} |
+ |
+ |
+void VectorLoadStub::InitializeInterfaceDescriptor( |
+ CodeStubInterfaceDescriptor* descriptor) { |
+ InitializeVectorLoadStub(descriptor, MajorKey(), |
+ FUNCTION_ADDR(VectorLoadIC_MissFromStubFailure)); |
+} |
+ |
+ |
+void VectorKeyedLoadStub::InitializeInterfaceDescriptor( |
+ CodeStubInterfaceDescriptor* descriptor) { |
+ InitializeVectorLoadStub( |
+ descriptor, MajorKey(), |
+ FUNCTION_ADDR(VectorKeyedLoadIC_MissFromStubFailure)); |
+} |
+ |
+ |
void LoadDictionaryElementPlatformStub::Generate(MacroAssembler* masm) { |
ElementHandlerCompiler::GenerateLoadDictionaryElement(masm); |
} |