Index: src/code-stubs.cc |
diff --git a/src/code-stubs.cc b/src/code-stubs.cc |
index ad418d69cd33e0f061db20ac2347a6cf82e70467..cf0c2322c37753acbc7cd5d92911078ca2fc9822 100644 |
--- a/src/code-stubs.cc |
+++ b/src/code-stubs.cc |
@@ -647,4 +647,24 @@ bool ProfileEntryHookStub::SetFunctionEntryHook(FunctionEntryHook entry_hook) { |
} |
+static void InstallDescriptor(Isolate* isolate, HydrogenCodeStub* stub) { |
+ int major_key = stub->MajorKey(); |
+ CodeStubInterfaceDescriptor* descriptor = |
+ isolate->code_stub_interface_descriptor(major_key); |
+ if (descriptor->register_param_count_ < 0) { |
+ stub->InitializeInterfaceDescriptor(isolate, descriptor); |
+ } |
+} |
+ |
+ |
+void ArrayConstructorStubBase::InstallDescriptors(Isolate* isolate) { |
+ ArrayNoArgumentConstructorStub stub1(GetInitialFastElementsKind()); |
+ InstallDescriptor(isolate, &stub1); |
+ ArraySingleArgumentConstructorStub stub2(GetInitialFastElementsKind()); |
+ InstallDescriptor(isolate, &stub2); |
+ ArrayNArgumentsConstructorStub stub3(GetInitialFastElementsKind()); |
+ InstallDescriptor(isolate, &stub3); |
+} |
+ |
+ |
} } // namespace v8::internal |