[webkit-changes] [WebKit/WebKit] 1ef50e: [JSC] `RegExp.prototype`'s `@@match` and `@@replac...
SUZUKI Sosuke
noreply at github.com
Fri Feb 21 05:24:15 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1ef50e669e8a90eb51fa4ffd1e0c9f0356189ea1
https://github.com/WebKit/WebKit/commit/1ef50e669e8a90eb51fa4ffd1e0c9f0356189ea1
Author: Sosuke Suzuki <aosukeke at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M JSTests/es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.match].js
M JSTests/es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.replace].js
M JSTests/stress/regexp-match-proxy.js
A JSTests/stress/regexp-prototype-symbol-match-flags-effects.js
A JSTests/stress/regexp-prototype-symbol-replace-flags-effects.js
M JSTests/stress/regexp-replace-proxy.js
M JSTests/test262/expectations.yaml
M Source/JavaScriptCore/builtins/RegExpPrototype.js
M Source/JavaScriptCore/builtins/StringPrototype.js
M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
M Source/JavaScriptCore/runtime/JSGlobalObject.h
M Source/JavaScriptCore/runtime/JSGlobalObjectInlines.h
Log Message:
-----------
[JSC] `RegExp.prototype`'s `@@match` and `@@replace` should use `flags` getter only
https://bugs.webkit.org/show_bug.cgi?id=248605
Reviewed by Yusuke Suzuki.
This patch implements recent spec change [1], aligning RegExp.prototype's
@@match / @@replace with @@split / @@matchAll to use only "flags" getter to
check for flags, which is observable.
This patch is based on the PR by Alexey Shvayka[2]. Also according to
the PR, no performance regressions.
[1]: https://github.com/tc39/ecma262/pull/2791
[2]: https://github.com/WebKit/WebKit/pull/7281
* JSTests/test262/expectations.yaml:
* Source/JavaScriptCore/builtins/RegExpPrototype.js:
(linkTimeConstant.hasObservableSideEffectsForRegExpMatch):
(linkTimeConstant.matchSlow):
(overriddenName.string_appeared_here.replace):
* Source/JavaScriptCore/builtins/StringPrototype.js:
(linkTimeConstant.hasObservableSideEffectsForStringReplace):
Canonical link: https://commits.webkit.org/290785@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list