74c381221c
BUG=v8:3018 R= LOG=N Review URL: https://codereview.chromium.org/938443002 Cr-Commit-Position: refs/heads/master@{#27714}
34 lines
728 B
JavaScript
34 lines
728 B
JavaScript
// Copyright 2015 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
'use strict';
|
|
|
|
function SpreadArguments() {
|
|
var count = %_ArgumentsLength();
|
|
var args = new InternalArray();
|
|
|
|
for (var i = 0; i < count; ++i) {
|
|
var array = %_Arguments(i);
|
|
var length = array.length;
|
|
for (var j = 0; j < length; ++j) {
|
|
args.push(array[j]);
|
|
}
|
|
}
|
|
|
|
return args;
|
|
}
|
|
|
|
|
|
function SpreadIterable(collection) {
|
|
if (IS_NULL_OR_UNDEFINED(collection)) {
|
|
throw MakeTypeError("not_iterable", [collection]);
|
|
}
|
|
|
|
var args = new InternalArray();
|
|
for (var value of collection) {
|
|
args.push(value);
|
|
}
|
|
return args;
|
|
}
|