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}
This commit is contained in:
parent
639288e1ad
commit
8c663eea0c
@ -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")
|
||||
#define HARMONY_STAGED(V) \
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user