commit b3fb209a4bc086c3805621484fedd2d956b64ed5
parent 9a6db133a95008484e6cb0721ccbcc59ecc26196
Author: Daniel Minor <dminor@mozilla.com>
Date: Wed, 15 Oct 2025 17:38:02 +0000
Bug 1903322 - Remove prefs for duplicate named capture groups and pattern modifiers; r=mgaudet
This also removes some leftover code from RegExp.Escape.
Differential Revision: https://phabricator.services.mozilla.com/D268591
Diffstat:
4 files changed, 0 insertions(+), 52 deletions(-)
diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp
@@ -4540,16 +4540,6 @@ JS_PUBLIC_API void JS_SetGlobalJitCompilerOption(JSContext* cx,
case JSJITCOMPILER_WASM_JIT_OPTIMIZING:
JS::ContextOptionsRef(cx).setWasmIon(!!value);
break;
- case JSJITCOMPILER_REGEXP_DUPLICATE_NAMED_GROUPS:
- jit::JitOptions.js_regexp_duplicate_named_groups = !!value;
- break;
-
-#ifdef NIGHTLY_BUILD
- case JSJITCOMPILER_REGEXP_MODIFIERS:
- jit::JitOptions.js_regexp_modifiers = !!value;
- break;
-#endif
-
#ifdef DEBUG
case JSJITCOMPILER_FULL_DEBUG_CHECKS:
jit::JitOptions.fullDebugChecks = !!value;
diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp
@@ -12840,11 +12840,6 @@ bool InitOptionParser(OptionParser& op) {
"Disable Symbols As WeakMap keys") ||
!op.addBoolOption('\0', "enable-uint8array-base64",
"Enable Uint8Array base64/hex methods") ||
- !op.addBoolOption('\0', "enable-regexp-duplicate-named-groups",
- "Enable Duplicate Named Capture Groups") ||
- !op.addBoolOption('\0', "enable-regexp-modifiers",
- "Enable Pattern Modifiers") ||
- !op.addBoolOption('\0', "enable-regexp-escape", "Enable RegExp.escape") ||
!op.addBoolOption('\0', "enable-top-level-await",
"Enable top-level await") ||
!op.addStringOption('\0', "shared-memory", "on/off",
@@ -13234,12 +13229,6 @@ bool SetGlobalOptionsPreJSInit(const OptionParser& op) {
if (op.getBoolOption("enable-shadow-realms")) {
JS::Prefs::set_experimental_shadow_realms(true);
}
- if (op.getBoolOption("enable-regexp-duplicate-named-groups")) {
- JS::Prefs::setAtStartup_experimental_regexp_duplicate_named_groups(true);
- }
- if (op.getBoolOption("enable-regexp-modifiers")) {
- JS::Prefs::setAtStartup_experimental_regexp_modifiers(true);
- }
if (op.getBoolOption("enable-uint8array-base64")) {
JS::Prefs::setAtStartup_experimental_uint8array_base64(true);
}
@@ -14163,14 +14152,6 @@ bool SetContextJITOptions(JSContext* cx, const OptionParser& op) {
# endif
#endif
- if (op.getBoolOption("enable-regexp-duplicate-named-groups")) {
- jit::JitOptions.js_regexp_duplicate_named_groups = true;
- }
-
- if (op.getBoolOption("enable-regexp-modifiers")) {
- jit::JitOptions.js_regexp_modifiers = true;
- }
-
return true;
}
diff --git a/js/xpconnect/src/XPCJSContext.cpp b/js/xpconnect/src/XPCJSContext.cpp
@@ -1019,15 +1019,6 @@ static void ReloadPrefsCallback(const char* pref, void* aXpccx) {
auto& contextOptions = JS::ContextOptionsRef(cx);
SetPrefableContextOptions(contextOptions);
- JS_SetGlobalJitCompilerOption(
- cx, JSJITCOMPILER_REGEXP_DUPLICATE_NAMED_GROUPS,
- StaticPrefs::
- javascript_options_experimental_regexp_duplicate_named_groups());
-
- JS_SetGlobalJitCompilerOption(
- cx, JSJITCOMPILER_REGEXP_MODIFIERS,
- StaticPrefs::javascript_options_experimental_regexp_modifiers());
-
// Set options not shared with workers.
contextOptions
.setThrowOnDebuggeeWouldRun(Preferences::GetBool(
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
@@ -8933,20 +8933,6 @@
# Non-startup pref because the WPT test harness sets prefs after startup.
set_spidermonkey_pref: always
-# Experimental support for Duplicate Named Capture Groups in JavaScript.
-- name: javascript.options.experimental.regexp_duplicate_named_groups
- type: bool
- value: true
- mirror: always
- set_spidermonkey_pref: startup
-
-# Experimental support for Pattern Modifiers in JavaScript.
-- name: javascript.options.experimental.regexp_modifiers
- type: bool
- value: true
- mirror: always
- set_spidermonkey_pref: startup
-
# Experimental support for Uint8Array base64/hex in JavaScript.
- name: javascript.options.experimental.uint8array_base64
type: bool