Index: src/runtime/runtime-array.cc |
diff --git a/src/runtime/runtime-array.cc b/src/runtime/runtime-array.cc |
index 519df7784bca7a1506229f1f2da7491830beb5c9..05c7d92283b1106f074265cafe5361e8bee8c5f8 100644 |
--- a/src/runtime/runtime-array.cc |
+++ b/src/runtime/runtime-array.cc |
@@ -391,6 +391,19 @@ RUNTIME_FUNCTION(Runtime_InternalArrayConstructor) { |
Handle<AllocationSite>::null(), caller_args); |
} |
+RUNTIME_FUNCTION(Runtime_ArraySingleArgumentConstructor) { |
+ HandleScope scope(isolate); |
+ CONVERT_ARG_HANDLE_CHECKED(JSFunction, constructor, 0); |
+ Object** argument_base = reinterpret_cast<Object**>(args[1]); |
+ CONVERT_SMI_ARG_CHECKED(argument_count, 2); |
+ CONVERT_ARG_HANDLE_CHECKED(Object, raw_site, 3); |
+ Handle<AllocationSite> casted_site = |
+ raw_site->IsUndefined() ? Handle<AllocationSite>::null() |
+ : Handle<AllocationSite>::cast(raw_site); |
+ Arguments constructor_args(argument_count, argument_base); |
+ return ArrayConstructorCommon(isolate, constructor, constructor, casted_site, |
+ &constructor_args); |
+} |
RUNTIME_FUNCTION(Runtime_NormalizeElements) { |
HandleScope scope(isolate); |