Commit b8ddc84e authored by Joshua Litt's avatar Joshua Litt Committed by Commit Bot

[harmony-numeric-separator] remove flag

now that we are shipping this by default, we can remove the flag.

Change-Id: I298691df3eec934a5add1aa2a2748a0f3a884ab6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1726452
Commit-Queue: Joshua Litt <joshualitt@chromium.org>
Reviewed-by: 's avatarSathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63026}
parent c75db59a
......@@ -240,7 +240,6 @@ DEFINE_IMPLICATION(harmony_import_meta, harmony_dynamic_import)
V(harmony_sharedarraybuffer, "harmony sharedarraybuffer") \
V(harmony_import_meta, "harmony import.meta property") \
V(harmony_dynamic_import, "harmony dynamic import") \
V(harmony_numeric_separator, "harmony numeric separator between digits") \
V(harmony_promise_all_settled, "harmony Promise.allSettled")
#ifdef V8_INTL_SUPPORT
......
......@@ -4259,7 +4259,6 @@ EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_namespace_exports)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_private_methods)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_dynamic_import)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_import_meta)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_numeric_separator)
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_regexp_sequence)
#ifdef V8_INTL_SUPPORT
......
......@@ -62,7 +62,6 @@ ParseInfo::ParseInfo(Isolate* isolate, AccountingAllocator* zone_allocator)
set_allow_natives_syntax(FLAG_allow_natives_syntax);
set_allow_harmony_dynamic_import(FLAG_harmony_dynamic_import);
set_allow_harmony_import_meta(FLAG_harmony_import_meta);
set_allow_harmony_numeric_separator(FLAG_harmony_numeric_separator);
set_allow_harmony_private_methods(FLAG_harmony_private_methods);
}
......
......@@ -105,8 +105,6 @@ class V8_EXPORT_PRIVATE ParseInfo {
set_allow_harmony_dynamic_import)
FLAG_ACCESSOR(kAllowHarmonyImportMeta, allow_harmony_import_meta,
set_allow_harmony_import_meta)
FLAG_ACCESSOR(kAllowHarmonyNumericSeparator, allow_harmony_numeric_separator,
set_allow_harmony_numeric_separator)
FLAG_ACCESSOR(kAllowHarmonyPrivateMethods, allow_harmony_private_methods,
set_allow_harmony_private_methods)
FLAG_ACCESSOR(kIsOneshotIIFE, is_oneshot_iife, set_is_oneshot_iife)
......@@ -306,11 +304,10 @@ class V8_EXPORT_PRIVATE ParseInfo {
kAllowHarmonyStaticFields = 1 << 24,
kAllowHarmonyDynamicImport = 1 << 25,
kAllowHarmonyImportMeta = 1 << 26,
kAllowHarmonyNumericSeparator = 1 << 27,
kAllowHarmonyPrivateFields = 1 << 28,
kAllowHarmonyPrivateMethods = 1 << 29,
kIsOneshotIIFE = 1 << 30,
kCollectSourcePositions = 1 << 31,
kAllowHarmonyPrivateFields = 1 << 27,
kAllowHarmonyPrivateMethods = 1 << 28,
kIsOneshotIIFE = 1 << 29,
kCollectSourcePositions = 1 << 30,
};
//------------- Inputs to parsing and scope analysis -----------------------
......
......@@ -285,12 +285,6 @@ class ParserBase {
#undef ALLOW_ACCESSORS
V8_INLINE bool has_error() const { return scanner()->has_parser_error(); }
bool allow_harmony_numeric_separator() const {
return scanner()->allow_harmony_numeric_separator();
}
void set_allow_harmony_numeric_separator(bool allow) {
scanner()->set_allow_harmony_numeric_separator(allow);
}
uintptr_t stack_limit() const { return stack_limit_; }
......
......@@ -424,7 +424,6 @@ Parser::Parser(ParseInfo* info)
set_allow_natives(info->allow_natives_syntax());
set_allow_harmony_dynamic_import(info->allow_harmony_dynamic_import());
set_allow_harmony_import_meta(info->allow_harmony_import_meta());
set_allow_harmony_numeric_separator(info->allow_harmony_numeric_separator());
set_allow_harmony_private_methods(info->allow_harmony_private_methods());
for (int feature = 0; feature < v8::Isolate::kUseCounterFeatureCount;
++feature) {
......
......@@ -92,7 +92,6 @@ bool Scanner::BookmarkScope::HasBeenApplied() const {
Scanner::Scanner(Utf16CharacterStream* source, bool is_module)
: source_(source),
found_html_comment_(false),
allow_harmony_numeric_separator_(false),
is_module_(is_module),
octal_pos_(Location::invalid()),
octal_message_(MessageTemplate::kNone) {
......@@ -629,8 +628,6 @@ bool Scanner::ScanDigitsWithNumericSeparators(bool (*predicate)(uc32 ch),
}
bool Scanner::ScanDecimalDigits(bool allow_numeric_separator) {
allow_numeric_separator =
allow_harmony_numeric_separator() && allow_numeric_separator;
if (allow_numeric_separator) {
return ScanDigitsWithNumericSeparators(&IsDecimalDigit, false);
}
......@@ -670,8 +667,6 @@ bool Scanner::ScanDecimalAsSmiWithNumericSeparators(uint64_t* value) {
}
bool Scanner::ScanDecimalAsSmi(uint64_t* value, bool allow_numeric_separator) {
allow_numeric_separator =
allow_harmony_numeric_separator() && allow_numeric_separator;
if (allow_numeric_separator) {
return ScanDecimalAsSmiWithNumericSeparators(value);
}
......@@ -686,35 +681,11 @@ bool Scanner::ScanDecimalAsSmi(uint64_t* value, bool allow_numeric_separator) {
}
bool Scanner::ScanBinaryDigits() {
if (allow_harmony_numeric_separator()) {
return ScanDigitsWithNumericSeparators(&IsBinaryDigit, true);
}
// we must have at least one binary digit after 'b'/'B'
if (!IsBinaryDigit(c0_)) {
return false;
}
while (IsBinaryDigit(c0_)) {
AddLiteralCharAdvance();
}
return true;
return ScanDigitsWithNumericSeparators(&IsBinaryDigit, true);
}
bool Scanner::ScanOctalDigits() {
if (allow_harmony_numeric_separator()) {
return ScanDigitsWithNumericSeparators(&IsOctalDigit, true);
}
// we must have at least one octal digit after 'o'/'O'
if (!IsOctalDigit(c0_)) {
return false;
}
while (IsOctalDigit(c0_)) {
AddLiteralCharAdvance();
}
return true;
return ScanDigitsWithNumericSeparators(&IsOctalDigit, true);
}
bool Scanner::ScanImplicitOctalDigits(int start_pos,
......@@ -738,19 +709,7 @@ bool Scanner::ScanImplicitOctalDigits(int start_pos,
}
bool Scanner::ScanHexDigits() {
if (allow_harmony_numeric_separator()) {
return ScanDigitsWithNumericSeparators(&IsHexDigit, true);
}
// we must have at least one hex digit after 'x'/'X'
if (!IsHexDigit(c0_)) {
return false;
}
while (IsHexDigit(c0_)) {
AddLiteralCharAdvance();
}
return true;
return ScanDigitsWithNumericSeparators(&IsHexDigit, true);
}
bool Scanner::ScanSignedInteger() {
......@@ -771,7 +730,7 @@ Token::Value Scanner::ScanNumber(bool seen_period) {
if (seen_period) {
// we have already seen a decimal point of the float
AddLiteralChar('.');
if (allow_harmony_numeric_separator() && c0_ == '_') {
if (c0_ == '_') {
return Token::ILLEGAL;
}
// we know we have at least one digit
......@@ -805,7 +764,7 @@ Token::Value Scanner::ScanNumber(bool seen_period) {
}
} else if (IsNonOctalDecimalDigit(c0_)) {
kind = DECIMAL_WITH_LEADING_ZERO;
} else if (allow_harmony_numeric_separator() && c0_ == '_') {
} else if (c0_ == '_') {
ReportScannerError(Location(source_pos(), source_pos() + 1),
MessageTemplate::kZeroDigitNumericSeparator);
return Token::ILLEGAL;
......@@ -841,7 +800,7 @@ Token::Value Scanner::ScanNumber(bool seen_period) {
if (c0_ == '.') {
seen_period = true;
AddLiteralCharAdvance();
if (allow_harmony_numeric_separator() && c0_ == '_') {
if (c0_ == '_') {
return Token::ILLEGAL;
}
if (!ScanDecimalDigits(true)) return Token::ILLEGAL;
......
......@@ -406,13 +406,6 @@ class V8_EXPORT_PRIVATE Scanner {
bool FoundHtmlComment() const { return found_html_comment_; }
bool allow_harmony_numeric_separator() const {
return allow_harmony_numeric_separator_;
}
void set_allow_harmony_numeric_separator(bool allow) {
allow_harmony_numeric_separator_ = allow;
}
const Utf16CharacterStream* stream() const { return source_; }
// If the next characters in the stream are "#!", the line is skipped.
......@@ -720,9 +713,6 @@ class V8_EXPORT_PRIVATE Scanner {
// Whether this scanner encountered an HTML comment.
bool found_html_comment_;
// Harmony flags to allow ESNext features.
bool allow_harmony_numeric_separator_;
const bool is_module_;
// Values parsed from magic comments.
......
......@@ -1529,7 +1529,6 @@ enum ParserFlag {
kAllowHarmonyPrivateMethods,
kAllowHarmonyDynamicImport,
kAllowHarmonyImportMeta,
kAllowHarmonyNumericSeparator
};
enum ParserSyncTestResult {
......@@ -1543,8 +1542,6 @@ void SetGlobalFlags(base::EnumSet<ParserFlag> flags) {
i::FLAG_harmony_private_methods = flags.contains(kAllowHarmonyPrivateMethods);
i::FLAG_harmony_dynamic_import = flags.contains(kAllowHarmonyDynamicImport);
i::FLAG_harmony_import_meta = flags.contains(kAllowHarmonyImportMeta);
i::FLAG_harmony_numeric_separator =
flags.contains(kAllowHarmonyNumericSeparator);
}
void SetParserFlags(i::PreParser* parser, base::EnumSet<ParserFlag> flags) {
......@@ -1555,8 +1552,6 @@ void SetParserFlags(i::PreParser* parser, base::EnumSet<ParserFlag> flags) {
flags.contains(kAllowHarmonyDynamicImport));
parser->set_allow_harmony_import_meta(
flags.contains(kAllowHarmonyImportMeta));
parser->set_allow_harmony_numeric_separator(
flags.contains(kAllowHarmonyNumericSeparator));
}
void TestParserSyncWithFlags(i::Handle<i::String> source,
......@@ -1891,11 +1886,8 @@ TEST(NonOctalDecimalIntegerStrictError) {
const char* context_data[][2] = {{"\"use strict\";", ""}, {nullptr, nullptr}};
const char* statement_data[] = {"09", "09.1_2", nullptr};
static const ParserFlag flags[] = {kAllowHarmonyNumericSeparator};
RunParserSyncTest(context_data, statement_data, kError, nullptr, 0, flags, 1,
nullptr, 0, false, true, true);
RunParserSyncTest(context_data, statement_data, kError);
RunParserSyncTest(context_data, statement_data, kError, nullptr, 0, nullptr,
0, nullptr, 0, false, true);
}
TEST(NumericSeparator) {
......@@ -1909,11 +1901,7 @@ TEST(NumericSeparator) {
"1_0_0_0", "1_0e+1", "1_0e+1_0", "0xF_F_FF", "0o7_7_7", "0b0_1_0_1_0",
".3_2_1", "0.0_2_1", "1_0.0_1", ".0_1_2", nullptr};
static const ParserFlag flags[] = {kAllowHarmonyNumericSeparator};
RunParserSyncTest(context_data, statement_data, kSuccess, nullptr, 0, flags,
1);
RunParserSyncTest(context_data, statement_data, kError);
RunParserSyncTest(context_data, statement_data, kSuccess);
}
TEST(NumericSeparatorErrors) {
......@@ -1929,11 +1917,8 @@ TEST(NumericSeparatorErrors) {
"0b1__1", "0_b1", "0_b_1", "0o777_", "0o_777", "0o7__77",
"0.0_2_1_", "0.0__21", "0_.01", "0._01", nullptr};
static const ParserFlag flags[] = {kAllowHarmonyNumericSeparator};
RunParserSyncTest(context_data, statement_data, kError, nullptr, 0, flags, 1,
nullptr, 0, false, true, true);
RunParserSyncTest(context_data, statement_data, kError);
RunParserSyncTest(context_data, statement_data, kError, nullptr, 0, nullptr,
0, nullptr, 0, false, true);
}
TEST(NumericSeparatorImplicitOctalsErrors) {
......@@ -1947,11 +1932,8 @@ TEST(NumericSeparatorImplicitOctalsErrors) {
"0_7_7_7", "0_777", "07_7_7_",
"07__77", "0__777", nullptr};
static const ParserFlag flags[] = {kAllowHarmonyNumericSeparator};
RunParserSyncTest(context_data, statement_data, kError, nullptr, 0, flags, 1,
nullptr, 0, false, true, true);
RunParserSyncTest(context_data, statement_data, kError);
RunParserSyncTest(context_data, statement_data, kError, nullptr, 0, nullptr,
0, nullptr, 0, false, true);
}
TEST(NumericSeparatorNonOctalDecimalInteger) {
......@@ -1962,11 +1944,8 @@ TEST(NumericSeparatorNonOctalDecimalInteger) {
const char* context_data[][2] = {{"", ""}, {nullptr, nullptr}};
const char* statement_data[] = {"09.1_2", nullptr};
static const ParserFlag flags[] = {kAllowHarmonyNumericSeparator};
RunParserSyncTest(context_data, statement_data, kSuccess, nullptr, 0, flags,
1, nullptr, 0, false, true, true);
RunParserSyncTest(context_data, statement_data, kError);
RunParserSyncTest(context_data, statement_data, kSuccess, nullptr, 0, nullptr,
0, nullptr, 0, false, true);
}
TEST(NumericSeparatorNonOctalDecimalIntegerErrors) {
......@@ -1977,11 +1956,8 @@ TEST(NumericSeparatorNonOctalDecimalIntegerErrors) {
const char* context_data[][2] = {{"", ""}, {nullptr, nullptr}};
const char* statement_data[] = {"09_12", nullptr};
static const ParserFlag flags[] = {kAllowHarmonyNumericSeparator};
RunParserSyncTest(context_data, statement_data, kError, nullptr, 0, flags, 1,
nullptr, 0, false, true, true);
RunParserSyncTest(context_data, statement_data, kError);
RunParserSyncTest(context_data, statement_data, kError, nullptr, 0, nullptr,
0, nullptr, 0, false, true);
}
TEST(NumericSeparatorUnicodeEscapeSequencesErrors) {
......@@ -1994,9 +1970,6 @@ TEST(NumericSeparatorUnicodeEscapeSequencesErrors) {
// https://github.com/tc39/proposal-numeric-separator/issues/25
const char* statement_data[] = {"\\u{10_FFFF}", nullptr};
static const ParserFlag flags[] = {kAllowHarmonyNumericSeparator};
RunParserSyncTest(context_data, statement_data, kError, nullptr, 0, flags, 1);
RunParserSyncTest(context_data, statement_data, kError);
}
......
......@@ -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-numeric-separator
{
const basic = 1_0_0_0;
assertEquals(basic, 1000);
......
......@@ -44,7 +44,6 @@ from testrunner.outproc import test262
# TODO(littledan): move the flag mapping into the status file
FEATURE_FLAGS = {
'numeric-separator-literal': '--harmony-numeric-separator',
'Intl.DateTimeFormat-datetimestyle': '--harmony-intl-datetime-style',
'Intl.DateTimeFormat-formatRange': '--harmony-intl-date-format-range',
'Intl.NumberFormat-unified': '--harmony-intl-numberformat-unified',
......
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