Commit d3ef8f4b authored by neis's avatar neis Committed by Commit bot

[es6] Ship rest parameters.

R=rossberg
BUG=

Review URL: https://codereview.chromium.org/1371963002

Cr-Commit-Position: refs/heads/master@{#30970}
parent 91397ac7
...@@ -1861,7 +1861,7 @@ EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_sloppy_function) ...@@ -1861,7 +1861,7 @@ EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_sloppy_function)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_sloppy_let) EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_sloppy_let)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_rest_parameters) EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_rest_parameters)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_default_parameters) EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_default_parameters)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_spreadcalls) EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_spread_calls)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_destructuring) EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_destructuring)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_object_observe) EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_object_observe)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_spread_arrays) EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_spread_arrays)
...@@ -2565,7 +2565,7 @@ bool Genesis::InstallExperimentalNatives() { ...@@ -2565,7 +2565,7 @@ bool Genesis::InstallExperimentalNatives() {
static const char* harmony_default_parameters_natives[] = {nullptr}; static const char* harmony_default_parameters_natives[] = {nullptr};
static const char* harmony_reflect_natives[] = {"native harmony-reflect.js", static const char* harmony_reflect_natives[] = {"native harmony-reflect.js",
nullptr}; nullptr};
static const char* harmony_spreadcalls_natives[] = { static const char* harmony_spread_calls_natives[] = {
"native harmony-spread.js", nullptr}; "native harmony-spread.js", nullptr};
static const char* harmony_destructuring_natives[] = {nullptr}; static const char* harmony_destructuring_natives[] = {nullptr};
static const char* harmony_object_observe_natives[] = { static const char* harmony_object_observe_natives[] = {
......
...@@ -204,7 +204,6 @@ DEFINE_BOOL(legacy_const, true, "legacy semantics for const in sloppy mode") ...@@ -204,7 +204,6 @@ DEFINE_BOOL(legacy_const, true, "legacy semantics for const in sloppy mode")
#define HARMONY_STAGED(V) \ #define HARMONY_STAGED(V) \
V(harmony_tostring, "harmony toString") \ V(harmony_tostring, "harmony toString") \
V(harmony_concat_spreadable, "harmony isConcatSpreadable") \ V(harmony_concat_spreadable, "harmony isConcatSpreadable") \
V(harmony_rest_parameters, "harmony rest parameters") \
V(harmony_sloppy, "harmony features in sloppy mode") \ V(harmony_sloppy, "harmony features in sloppy mode") \
V(harmony_sloppy_function, "harmony sloppy function block scoping") \ V(harmony_sloppy_function, "harmony sloppy function block scoping") \
V(harmony_sloppy_let, "harmony let in sloppy mode") V(harmony_sloppy_let, "harmony let in sloppy mode")
...@@ -215,7 +214,8 @@ DEFINE_BOOL(legacy_const, true, "legacy semantics for const in sloppy mode") ...@@ -215,7 +214,8 @@ DEFINE_BOOL(legacy_const, true, "legacy semantics for const in sloppy mode")
V(harmony_array_includes, "harmony Array.prototype.includes") \ V(harmony_array_includes, "harmony Array.prototype.includes") \
V(harmony_new_target, "harmony new.target") \ V(harmony_new_target, "harmony new.target") \
V(harmony_object_observe, "harmony Object.observe") \ V(harmony_object_observe, "harmony Object.observe") \
V(harmony_spreadcalls, "harmony spread-calls") \ V(harmony_rest_parameters, "harmony rest parameters") \
V(harmony_spread_calls, "harmony spread-calls") \
V(harmony_spread_arrays, "harmony spread in array literals") V(harmony_spread_arrays, "harmony spread in array literals")
// Once a shipping feature has proved stable in the wild, it will be dropped // Once a shipping feature has proved stable in the wild, it will be dropped
......
...@@ -919,7 +919,7 @@ Parser::Parser(ParseInfo* info) ...@@ -919,7 +919,7 @@ Parser::Parser(ParseInfo* info)
set_allow_harmony_sloppy_let(FLAG_harmony_sloppy_let); set_allow_harmony_sloppy_let(FLAG_harmony_sloppy_let);
set_allow_harmony_rest_parameters(FLAG_harmony_rest_parameters); set_allow_harmony_rest_parameters(FLAG_harmony_rest_parameters);
set_allow_harmony_default_parameters(FLAG_harmony_default_parameters); set_allow_harmony_default_parameters(FLAG_harmony_default_parameters);
set_allow_harmony_spreadcalls(FLAG_harmony_spreadcalls); set_allow_harmony_spread_calls(FLAG_harmony_spread_calls);
set_allow_harmony_destructuring(FLAG_harmony_destructuring); set_allow_harmony_destructuring(FLAG_harmony_destructuring);
set_allow_harmony_spread_arrays(FLAG_harmony_spread_arrays); set_allow_harmony_spread_arrays(FLAG_harmony_spread_arrays);
set_allow_harmony_new_target(FLAG_harmony_new_target); set_allow_harmony_new_target(FLAG_harmony_new_target);
...@@ -4737,7 +4737,7 @@ PreParser::PreParseResult Parser::ParseLazyFunctionBodyWithPreParser( ...@@ -4737,7 +4737,7 @@ PreParser::PreParseResult Parser::ParseLazyFunctionBodyWithPreParser(
SET_ALLOW(harmony_sloppy_let); SET_ALLOW(harmony_sloppy_let);
SET_ALLOW(harmony_rest_parameters); SET_ALLOW(harmony_rest_parameters);
SET_ALLOW(harmony_default_parameters); SET_ALLOW(harmony_default_parameters);
SET_ALLOW(harmony_spreadcalls); SET_ALLOW(harmony_spread_calls);
SET_ALLOW(harmony_destructuring); SET_ALLOW(harmony_destructuring);
SET_ALLOW(harmony_spread_arrays); SET_ALLOW(harmony_spread_arrays);
SET_ALLOW(harmony_new_target); SET_ALLOW(harmony_new_target);
......
...@@ -113,7 +113,7 @@ class ParserBase : public Traits { ...@@ -113,7 +113,7 @@ class ParserBase : public Traits {
allow_harmony_sloppy_let_(false), allow_harmony_sloppy_let_(false),
allow_harmony_rest_parameters_(false), allow_harmony_rest_parameters_(false),
allow_harmony_default_parameters_(false), allow_harmony_default_parameters_(false),
allow_harmony_spreadcalls_(false), allow_harmony_spread_calls_(false),
allow_harmony_destructuring_(false), allow_harmony_destructuring_(false),
allow_harmony_spread_arrays_(false), allow_harmony_spread_arrays_(false),
allow_harmony_new_target_(false), allow_harmony_new_target_(false),
...@@ -132,7 +132,7 @@ class ParserBase : public Traits { ...@@ -132,7 +132,7 @@ class ParserBase : public Traits {
ALLOW_ACCESSORS(harmony_sloppy_let); ALLOW_ACCESSORS(harmony_sloppy_let);
ALLOW_ACCESSORS(harmony_rest_parameters); ALLOW_ACCESSORS(harmony_rest_parameters);
ALLOW_ACCESSORS(harmony_default_parameters); ALLOW_ACCESSORS(harmony_default_parameters);
ALLOW_ACCESSORS(harmony_spreadcalls); ALLOW_ACCESSORS(harmony_spread_calls);
ALLOW_ACCESSORS(harmony_destructuring); ALLOW_ACCESSORS(harmony_destructuring);
ALLOW_ACCESSORS(harmony_spread_arrays); ALLOW_ACCESSORS(harmony_spread_arrays);
ALLOW_ACCESSORS(harmony_new_target); ALLOW_ACCESSORS(harmony_new_target);
...@@ -833,7 +833,7 @@ class ParserBase : public Traits { ...@@ -833,7 +833,7 @@ class ParserBase : public Traits {
bool allow_harmony_sloppy_let_; bool allow_harmony_sloppy_let_;
bool allow_harmony_rest_parameters_; bool allow_harmony_rest_parameters_;
bool allow_harmony_default_parameters_; bool allow_harmony_default_parameters_;
bool allow_harmony_spreadcalls_; bool allow_harmony_spread_calls_;
bool allow_harmony_destructuring_; bool allow_harmony_destructuring_;
bool allow_harmony_spread_arrays_; bool allow_harmony_spread_arrays_;
bool allow_harmony_new_target_; bool allow_harmony_new_target_;
...@@ -2835,7 +2835,8 @@ typename Traits::Type::ExpressionList ParserBase<Traits>::ParseArguments( ...@@ -2835,7 +2835,8 @@ typename Traits::Type::ExpressionList ParserBase<Traits>::ParseArguments(
bool was_unspread = false; bool was_unspread = false;
int unspread_sequences_count = 0; int unspread_sequences_count = 0;
while (!done) { while (!done) {
bool is_spread = allow_harmony_spreadcalls() && (peek() == Token::ELLIPSIS); bool is_spread =
allow_harmony_spread_calls() && (peek() == Token::ELLIPSIS);
int start_pos = peek_position(); int start_pos = peek_position();
if (is_spread) Consume(Token::ELLIPSIS); if (is_spread) Consume(Token::ELLIPSIS);
......
...@@ -1528,7 +1528,7 @@ void SetParserFlags(i::ParserBase<Traits>* parser, ...@@ -1528,7 +1528,7 @@ void SetParserFlags(i::ParserBase<Traits>* parser,
flags.Contains(kAllowHarmonyDefaultParameters)); flags.Contains(kAllowHarmonyDefaultParameters));
parser->set_allow_harmony_rest_parameters( parser->set_allow_harmony_rest_parameters(
flags.Contains(kAllowHarmonyRestParameters)); flags.Contains(kAllowHarmonyRestParameters));
parser->set_allow_harmony_spreadcalls( parser->set_allow_harmony_spread_calls(
flags.Contains(kAllowHarmonySpreadCalls)); flags.Contains(kAllowHarmonySpreadCalls));
parser->set_allow_harmony_sloppy(flags.Contains(kAllowHarmonySloppy)); parser->set_allow_harmony_sloppy(flags.Contains(kAllowHarmonySloppy));
parser->set_allow_harmony_sloppy_let(flags.Contains(kAllowHarmonySloppyLet)); parser->set_allow_harmony_sloppy_let(flags.Contains(kAllowHarmonySloppyLet));
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
"path": ["SpreadCalls"], "path": ["SpreadCalls"],
"main": "run.js", "main": "run.js",
"resources": ["spreadcalls.js"], "resources": ["spreadcalls.js"],
"flags": ["--harmony-spreadcalls"], "flags": ["--harmony-spread_calls"],
"run_count": 5, "run_count": 5,
"units": "score", "units": "score",
"results_regexp": "^%s\\-SpreadCalls\\(Score\\): (.+)$", "results_regexp": "^%s\\-SpreadCalls\\(Score\\): (.+)$",
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --harmony-spreadcalls --harmony-sloppy --harmony-rest-parameters // Flags: --harmony-spread-calls --harmony-sloppy --harmony-rest-parameters
(function testConstructClassStrict() { (function testConstructClassStrict() {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --harmony-spreadcalls // Flags: --harmony-spread-calls
(function testNonConstructorStrict() { (function testNonConstructorStrict() {
"use strict"; "use strict";
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --harmony-spreadcalls --harmony-sloppy --harmony-rest-parameters // Flags: --harmony-spread-calls --harmony-sloppy --harmony-rest-parameters
(function testCallSuperPropertyStrict() { (function testCallSuperPropertyStrict() {
"use strict"; "use strict";
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --harmony-spreadcalls // Flags: --harmony-spread-calls
(function testSpreadCallsStrict() { (function testSpreadCallsStrict() {
"use strict" "use strict"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --harmony-arrow-functions --allow-natives-syntax // Flags: --harmony-arrow-functions --allow-natives-syntax
// Flags: --harmony-spreadcalls --harmony-destructuring // Flags: --harmony-spread-calls --harmony-destructuring
// Flags: --harmony-rest-parameters --harmony-sloppy // Flags: --harmony-rest-parameters --harmony-sloppy
(function TestSuperNamedLoads() { (function TestSuperNamedLoads() {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --strong-mode --harmony-arrow-functions --harmony-reflect // Flags: --strong-mode --harmony-arrow-functions --harmony-reflect
// Flags: --harmony-spreadcalls --harmony-rest-parameters --allow-natives-syntax // Flags: --harmony-spread-calls --harmony-rest-parameters --allow-natives-syntax
'use strict'; 'use strict';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment