Remove flags for spread calls and arrays

These features shipped in M46 without issue.

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

Cr-Commit-Position: refs/heads/master@{#31635}
This commit is contained in:
adamk 2015-10-28 08:57:01 -07:00 committed by Commit bot
parent 161a0462fb
commit a4689fc21f
19 changed files with 13 additions and 65 deletions

View File

@ -231,6 +231,7 @@ action("js2c") {
"src/js/templates.js",
"src/js/harmony-array.js",
"src/js/harmony-typedarray.js",
"src/js/spread.js",
"src/debug/mirrors.js",
"src/debug/debug.js",
"src/debug/liveedit.js",
@ -312,7 +313,6 @@ action("js2c_experimental") {
"src/js/harmony-tostring.js",
"src/js/harmony-regexp.js",
"src/js/harmony-reflect.js",
"src/js/harmony-spread.js",
"src/js/harmony-object-observe.js",
"src/js/harmony-sharedarraybuffer.js",
"src/js/harmony-simd.js"

View File

@ -2155,10 +2155,8 @@ EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_sloppy_function)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_sloppy_let)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_rest_parameters)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_default_parameters)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_spread_calls)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_destructuring)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_object_observe)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_spread_arrays)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_new_target)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_concat_spreadable)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_regexps)
@ -2629,12 +2627,9 @@ bool Genesis::InstallExperimentalNatives() {
static const char* harmony_default_parameters_natives[] = {nullptr};
static const char* harmony_reflect_natives[] = {"native harmony-reflect.js",
nullptr};
static const char* harmony_spread_calls_natives[] = {
"native harmony-spread.js", nullptr};
static const char* harmony_destructuring_natives[] = {nullptr};
static const char* harmony_object_observe_natives[] = {
"native harmony-object-observe.js", nullptr};
static const char* harmony_spread_arrays_natives[] = {nullptr};
static const char* harmony_sharedarraybuffer_natives[] = {
"native harmony-sharedarraybuffer.js", "native harmony-atomics.js", NULL};
static const char* harmony_new_target_natives[] = {nullptr};

View File

@ -216,8 +216,6 @@ DEFINE_NEG_IMPLICATION(es_staging, legacy_const)
V(harmony_new_target, "harmony new.target") \
V(harmony_object_observe, "harmony Object.observe") \
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_concat_spreadable, "harmony isConcatSpreadable") \
V(harmony_completion, "harmony completion value semantics")

View File

@ -920,9 +920,7 @@ Parser::Parser(ParseInfo* info)
set_allow_harmony_sloppy_let(FLAG_harmony_sloppy_let);
set_allow_harmony_rest_parameters(FLAG_harmony_rest_parameters);
set_allow_harmony_default_parameters(FLAG_harmony_default_parameters);
set_allow_harmony_spread_calls(FLAG_harmony_spread_calls);
set_allow_harmony_destructuring(FLAG_harmony_destructuring);
set_allow_harmony_spread_arrays(FLAG_harmony_spread_arrays);
set_allow_harmony_new_target(FLAG_harmony_new_target);
set_allow_strong_mode(FLAG_strong_mode);
set_allow_legacy_const(FLAG_legacy_const);
@ -4812,9 +4810,7 @@ PreParser::PreParseResult Parser::ParseLazyFunctionBodyWithPreParser(
SET_ALLOW(harmony_sloppy_let);
SET_ALLOW(harmony_rest_parameters);
SET_ALLOW(harmony_default_parameters);
SET_ALLOW(harmony_spread_calls);
SET_ALLOW(harmony_destructuring);
SET_ALLOW(harmony_spread_arrays);
SET_ALLOW(harmony_new_target);
SET_ALLOW(strong_mode);
SET_ALLOW(harmony_do_expressions);

View File

@ -113,9 +113,7 @@ class ParserBase : public Traits {
allow_harmony_sloppy_let_(false),
allow_harmony_rest_parameters_(false),
allow_harmony_default_parameters_(false),
allow_harmony_spread_calls_(false),
allow_harmony_destructuring_(false),
allow_harmony_spread_arrays_(false),
allow_harmony_new_target_(false),
allow_strong_mode_(false),
allow_legacy_const_(true),
@ -132,9 +130,7 @@ class ParserBase : public Traits {
ALLOW_ACCESSORS(harmony_sloppy_let);
ALLOW_ACCESSORS(harmony_rest_parameters);
ALLOW_ACCESSORS(harmony_default_parameters);
ALLOW_ACCESSORS(harmony_spread_calls);
ALLOW_ACCESSORS(harmony_destructuring);
ALLOW_ACCESSORS(harmony_spread_arrays);
ALLOW_ACCESSORS(harmony_new_target);
ALLOW_ACCESSORS(strong_mode);
ALLOW_ACCESSORS(legacy_const);
@ -841,9 +837,7 @@ class ParserBase : public Traits {
bool allow_harmony_sloppy_let_;
bool allow_harmony_rest_parameters_;
bool allow_harmony_default_parameters_;
bool allow_harmony_spread_calls_;
bool allow_harmony_destructuring_;
bool allow_harmony_spread_arrays_;
bool allow_harmony_new_target_;
bool allow_strong_mode_;
bool allow_legacy_const_;
@ -2523,9 +2517,6 @@ typename ParserBase<Traits>::ExpressionT ParserBase<Traits>::ParseArrayLiteral(
}
elem = this->GetLiteralTheHole(peek_position(), factory());
} else if (peek() == Token::ELLIPSIS) {
if (!allow_harmony_spread_arrays()) {
ExpressionUnexpectedToken(classifier);
}
int start_pos = peek_position();
Consume(Token::ELLIPSIS);
ExpressionT argument =
@ -2869,10 +2860,8 @@ typename Traits::Type::ExpressionList ParserBase<Traits>::ParseArguments(
bool was_unspread = false;
int unspread_sequences_count = 0;
while (!done) {
bool is_spread =
allow_harmony_spread_calls() && (peek() == Token::ELLIPSIS);
int start_pos = peek_position();
if (is_spread) Consume(Token::ELLIPSIS);
bool is_spread = Check(Token::ELLIPSIS);
ExpressionT argument = this->ParseAssignmentExpression(
true, classifier, CHECK_OK_CUSTOM(NullExpressionList));

View File

@ -1498,9 +1498,7 @@ enum ParserFlag {
kAllowHarmonyRestParameters,
kAllowHarmonySloppy,
kAllowHarmonySloppyLet,
kAllowHarmonySpreadCalls,
kAllowHarmonyDestructuring,
kAllowHarmonySpreadArrays,
kAllowHarmonyNewTarget,
kAllowStrongMode,
kNoLegacyConst
@ -1522,14 +1520,10 @@ void SetParserFlags(i::ParserBase<Traits>* parser,
flags.Contains(kAllowHarmonyDefaultParameters));
parser->set_allow_harmony_rest_parameters(
flags.Contains(kAllowHarmonyRestParameters));
parser->set_allow_harmony_spread_calls(
flags.Contains(kAllowHarmonySpreadCalls));
parser->set_allow_harmony_sloppy(flags.Contains(kAllowHarmonySloppy));
parser->set_allow_harmony_sloppy_let(flags.Contains(kAllowHarmonySloppyLet));
parser->set_allow_harmony_destructuring(
flags.Contains(kAllowHarmonyDestructuring));
parser->set_allow_harmony_spread_arrays(
flags.Contains(kAllowHarmonySpreadArrays));
parser->set_allow_harmony_new_target(flags.Contains(kAllowHarmonyNewTarget));
parser->set_allow_strong_mode(flags.Contains(kAllowStrongMode));
parser->set_allow_legacy_const(!flags.Contains(kNoLegacyConst));
@ -5358,10 +5352,7 @@ TEST(SpreadCall) {
"...[0, 1, 2], 3, 4, 5, 6, ...'7', 8, 9",
"...[0, 1, 2], 3, 4, 5, 6, ...'7', 8, 9, ...[10]", NULL};
static const ParserFlag always_flags[] = {kAllowHarmonySpreadCalls};
RunParserSyncTest(context_data, data, kSuccess, NULL, 0, always_flags,
arraysize(always_flags));
RunParserSyncTest(context_data, data, kSuccess);
}
@ -5372,10 +5363,7 @@ TEST(SpreadCallErrors) {
const char* data[] = {"(...[1, 2, 3])", "......[1,2,3]", NULL};
static const ParserFlag always_flags[] = {kAllowHarmonySpreadCalls};
RunParserSyncTest(context_data, data, kError, NULL, 0, always_flags,
arraysize(always_flags));
RunParserSyncTest(context_data, data, kError);
}
@ -6931,8 +6919,6 @@ TEST(DefaultParametersYieldInInitializers) {
TEST(SpreadArray) {
i::FLAG_harmony_spread_arrays = true;
const char* context_data[][2] = {
{"'use strict';", ""}, {"", ""}, {NULL, NULL}};
@ -6950,15 +6936,11 @@ TEST(SpreadArray) {
"[, , ...a]",
NULL};
// clang-format on
static const ParserFlag always_flags[] = {kAllowHarmonySpreadArrays};
RunParserSyncTest(context_data, data, kSuccess, NULL, 0, always_flags,
arraysize(always_flags));
RunParserSyncTest(context_data, data, kSuccess);
}
TEST(SpreadArrayError) {
i::FLAG_harmony_spread_arrays = true;
const char* context_data[][2] = {
{"'use strict';", ""}, {"", ""}, {NULL, NULL}};
@ -6971,9 +6953,7 @@ TEST(SpreadArrayError) {
"[ (...a)]",
NULL};
// clang-format on
static const ParserFlag always_flags[] = {kAllowHarmonySpreadArrays};
RunParserSyncTest(context_data, data, kError, NULL, 0, always_flags,
arraysize(always_flags));
RunParserSyncTest(context_data, data, kError);
}

View File

@ -26,7 +26,6 @@
"path": ["SpreadCalls"],
"main": "run.js",
"resources": ["spreadcalls.js"],
"flags": ["--harmony-spread_calls"],
"run_count": 5,
"units": "score",
"results_regexp": "^%s\\-SpreadCalls\\(Score\\): (.+)$",

View File

@ -1,8 +1,6 @@
// 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.
//
// Flags: --harmony-spread-arrays
var arr = [1, 2, ...[3]];
assertEquals([1, 2, 3], arr);

View File

@ -1,8 +1,6 @@
// 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.
//
// Flags: --harmony-spread-arrays
var arr = [1, 2, 3];
assertEquals({arr: [1, 2, 3]}, {arr: [...arr]});

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony-spread-arrays --allow-natives-syntax
// Flags: --allow-natives-syntax
(function TestBasics() {
var a = [1, 2];

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony-spread-calls --harmony-sloppy --harmony-rest-parameters
// Flags: --harmony-sloppy --harmony-rest-parameters
(function testConstructClassStrict() {

View File

@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony-spread-calls
(function testNonConstructorStrict() {
"use strict";
assertThrows(function() {

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony-spread-calls --harmony-sloppy --harmony-rest-parameters
// Flags: --harmony-sloppy --harmony-rest-parameters
(function testCallSuperPropertyStrict() {
"use strict";

View File

@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony-spread-calls
(function testSpreadCallsStrict() {
"use strict"
function countArgs() { return arguments.length; }

View File

@ -3,8 +3,7 @@
// found in the LICENSE file.
// Flags: --allow-natives-syntax
// Flags: --harmony-spread-calls --harmony-destructuring
// Flags: --harmony-rest-parameters --harmony-sloppy
// Flags: --harmony-destructuring --harmony-rest-parameters --harmony-sloppy
(function TestSuperNamedLoads() {
function Base() { }

View File

@ -3,7 +3,7 @@
// found in the LICENSE file.
// Flags: --strong-mode --harmony-reflect
// Flags: --harmony-spread-calls --harmony-rest-parameters --allow-natives-syntax
// Flags: --harmony-rest-parameters --allow-natives-syntax
'use strict';

View File

@ -4,7 +4,7 @@
// Flags: --strong-mode --allow-natives-syntax
// Flags: --harmony-rest-parameters
// Flags: --harmony-destructuring --harmony-spread-arrays
// Flags: --harmony-destructuring
'use strict';

View File

@ -1848,6 +1848,7 @@
'../../src/js/array-iterator.js',
'../../src/js/string-iterator.js',
'../../src/js/templates.js',
'../../src/js/spread.js',
'../../src/js/harmony-array.js',
'../../src/js/harmony-typedarray.js',
'../../src/debug/mirrors.js',
@ -1865,7 +1866,6 @@
'../../src/js/harmony-tostring.js',
'../../src/js/harmony-regexp.js',
'../../src/js/harmony-reflect.js',
'../../src/js/harmony-spread.js',
'../../src/js/harmony-object-observe.js',
'../../src/js/harmony-sharedarraybuffer.js',
'../../src/js/harmony-simd.js',