Commit 8c663eea authored by littledan's avatar littledan Committed by Commit bot

Stage RegExp subclassing

This patch stages the first part of RegExp subclassing--defining
Symbol.{match,replace,search,split}, but keeping their original
definitions which are restricted to a RegExp receiver and do not
call out to the core 'exec' method. This is being staged separately
because the two sets of extension points are separate features with
separate functionality. The amount of behavior which is held behind
the flag is very small, just exposing the symbols as properties of
Symbol--the behavior that the String methods call out to these Symbol
properties has already been shipping unflagged.

R=yangguo@chromium.org
BUG=v8:4305,v8:4343,v8:4344,v8:4345
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#33534}
parent 639288e1
......@@ -205,14 +205,14 @@ DEFINE_IMPLICATION(es_staging, move_object_start)
V(harmony_sharedarraybuffer, "harmony sharedarraybuffer") \
V(harmony_simd, "harmony simd") \
V(harmony_do_expressions, "harmony do-expressions") \
V(harmony_regexp_subclass, "harmony regexp subclassing") \
V(harmony_tailcalls, "harmony tail calls") \
V(harmony_species, "harmony Symbol.species") \
V(harmony_object_values_entries, "harmony Object.values / Object.entries")
// Features that are complete (but still behind --harmony/es-staging flag).
#define HARMONY_STAGED(V) \
V(harmony_regexp_lookbehind, "harmony regexp lookbehind")
V(harmony_regexp_lookbehind, "harmony regexp lookbehind") \
V(harmony_regexp_subclass, "harmony regexp subclassing")
// Features that are shipping (turned on by default, but internal flag remains).
#define HARMONY_SHIPPING(V) \
......
......@@ -106,15 +106,6 @@
'built-ins/WeakMap/iterator-items-are-not-object-close-iterator': [FAIL],
'built-ins/WeakSet/iterator-close-after-add-failure': [FAIL],
# https://code.google.com/p/v8/issues/detail?id=4119
'built-ins/RegExp/call_with_non_regexp_same_constructor': [FAIL],
'built-ins/RegExp/from-regexp-like-short-circuit': [FAIL],
'built-ins/RegExp/from-regexp-like': [FAIL],
'built-ins/RegExp/from-regexp-like-flag-override': [FAIL],
'built-ins/RegExp/from-regexp-like-get-source-err': [FAIL],
'built-ins/RegExp/from-regexp-like-get-flags-err': [FAIL],
'built-ins/RegExp/from-regexp-like-get-ctor-err': [FAIL],
# https://code.google.com/p/v8/issues/detail?id=4348
'built-ins/String/prototype/Symbol.iterator/this-val-non-obj-coercible': [FAIL],
......@@ -312,33 +303,19 @@
# happens to be thrown for some other reason (e.g,
# built-ins/RegExp/prototype/Symbol.match/builtin-failure-set-lastindex-err)
'built-ins/RegExp/prototype/Symbol.match/*': [SKIP],
'built-ins/Symbol/match/prop-desc': [FAIL],
'built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-regexp-test': [FAIL],
'built-ins/String/prototype/includes/return-abrupt-from-searchstring-regexp-test': [FAIL],
'built-ins/String/prototype/startsWith/return-abrupt-from-searchstring-regexp-test': [FAIL],
'built-ins/String/prototype/match/cstm-matcher-get-err': [FAIL],
'built-ins/String/prototype/match/invoke-builtin-match': [FAIL],
'built-ins/String/prototype/match/cstm-matcher-invocation': [FAIL],
# https://code.google.com/p/v8/issues/detail?id=4343
'built-ins/RegExp/prototype/Symbol.replace/*': [SKIP],
'built-ins/Symbol/replace/prop-desc': [FAIL],
'built-ins/String/prototype/replace/cstm-replace-get-err': [FAIL],
'built-ins/String/prototype/replace/cstm-replace-invocation': [FAIL],
# https://code.google.com/p/v8/issues/detail?id=4344
'built-ins/RegExp/prototype/Symbol.search/*': [SKIP],
'built-ins/Symbol/search/prop-desc': [FAIL],
'built-ins/String/prototype/search/cstm-search-get-err': [FAIL],
'built-ins/String/prototype/search/invoke-builtin-search-searcher-undef': [FAIL],
'built-ins/String/prototype/search/cstm-search-invocation': [FAIL],
'built-ins/String/prototype/search/invoke-builtin-search': [FAIL],
# https://code.google.com/p/v8/issues/detail?id=4345
'built-ins/RegExp/prototype/Symbol.split/*': [SKIP],
'built-ins/Symbol/split/prop-desc': [FAIL],
'built-ins/String/prototype/split/cstm-split-invocation': [FAIL],
'built-ins/String/prototype/split/cstm-split-get-err': [FAIL],
# https://code.google.com/p/v8/issues/detail?id=4346
'built-ins/RegExp/prototype/flags/u': [FAIL],
......@@ -486,9 +463,6 @@
'built-ins/Array/prototype/indexOf/15.4.4.14-5-9': [FAIL],
'built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-9': [FAIL],
# https://github.com/tc39/test262/issues/436
'built-ins/RegExp/call_with_regexp_match_falsy': [FAIL],
############################ SKIPPED TESTS #############################
# These tests take a looong time to run.
......
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