0

[wasm] Add Chrome flag for WebAssembly Memory64

Bug: 41480344
Change-Id: I1f2da9409c8762aa0cf3a95f5339c07d95c15efd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5530099
Commit-Queue: Avi Drissman <avi@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Auto-Submit: Deepti Gandluri <gdeepti@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1301632}
This commit is contained in:
Deepti
2024-05-15 22:50:53 +00:00
committed by Chromium LUCI CQ
parent 3d87dab48a
commit 1a413e033c
8 changed files with 30 additions and 0 deletions

@ -4037,6 +4037,9 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-webassembly-tiering", flag_descriptions::kEnableWasmTieringName,
flag_descriptions::kEnableWasmTieringDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWebAssemblyTiering)},
{"enable-webassembly-memory64", flag_descriptions::kEnableWasmMemory64Name,
flag_descriptions::kEnableWasmMemory64Description, kOsAll,
FEATURE_VALUE_TYPE(features::kWebAssemblyMemory64)},
{"enable-future-v8-vm-features", flag_descriptions::kV8VmFutureName,
flag_descriptions::kV8VmFutureDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kV8VmFuture)},

@ -4094,6 +4094,14 @@
// disabled and thus all code is compiled ahead of time.
"expiry_milestone": -1
},
{
"name": "enable-webassembly-memory64",
"owners": [ "clemensb@chromium.org", "sbc@chromium.org", "wasm-team@google.com" ],
// This flag is used by developers and partners to experiment with
// the WebAssembly Memory64 proposal which enables 64-bit indices
// on Wasm memory.
"expiry_milestone": 135
},
{
"name": "enable-webassembly-tiering",
"owners": [ "clemensb@chromium.org", "wasm-team@google.com" ],

@ -1636,6 +1636,10 @@ const char kEnableWasmGarbageCollectionDescription[] =
"Enables the experimental Garbage Collection (GC) extensions to "
"WebAssembly.";
const char kEnableWasmMemory64Name[] = "WebAssembly Memory64";
const char kEnableWasmMemory64Description[] =
"Enables 64-bit memory indices on WebAssembly operations";
const char kEnableWasmRelaxedSimdName[] = "WebAssembly Relaxed SIMD";
const char kEnableWasmRelaxedSimdDescription[] =
"Enables the use of WebAssembly vector operations with relaxed semantics";

@ -935,6 +935,9 @@ extern const char kEnableWasmGarbageCollectionDescription[];
extern const char kEnableWasmLazyCompilationName[];
extern const char kEnableWasmLazyCompilationDescription[];
extern const char kEnableWasmMemory64Name[];
extern const char kEnableWasmMemory64Description[];
extern const char kEnableWasmRelaxedSimdName[];
extern const char kEnableWasmRelaxedSimdDescription[];

@ -1074,6 +1074,11 @@ BASE_FEATURE(kWebAssemblyLazyCompilation,
"WebAssemblyLazyCompilation",
base::FEATURE_ENABLED_BY_DEFAULT);
// Enable WebAssembly Memory64.
BASE_FEATURE(kWebAssemblyMemory64,
"WebAssemblyMemory64",
base::FEATURE_DISABLED_BY_DEFAULT);
// Enable WebAssembly tiering (Liftoff -> TurboFan).
BASE_FEATURE(kWebAssemblyTiering,
"WebAssemblyTiering",

@ -227,6 +227,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAppSystemMediaControlsWin);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyBaseline);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnableExperimentalWebAssemblyJSPI);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyLazyCompilation);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyMemory64);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyTiering);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyTrapHandler);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebBluetooth);

@ -169,6 +169,10 @@ RenderProcessImpl::RenderProcessImpl()
"--wasm-lazy-compilation",
"--no-wasm-lazy-compilation");
SetV8FlagIfOverridden(features::kWebAssemblyMemory64,
"--experimental-wasm-memory64",
"--no-experimental-wasm-memory64");
SetV8FlagIfOverridden(features::kWebAssemblyTiering, "--wasm-tier-up",
"--no-wasm-tier-up");

@ -20798,6 +20798,7 @@ from previous Chrome versions.
<int value="-205975637" label="WebUIDarkMode:enabled"/>
<int value="-205401012" label="webrtc-hw-encoding:disabled"/>
<int value="-204978485" label="WallpaperFullScreenPreview:enabled"/>
<int value="-204371461" label="WebAssemblyMemory64:enabled"/>
<int value="-204355195" label="secondary-ui-md"/>
<int value="-203968600" label="SyncSupportSecondaryAccount:disabled"/>
<int value="-203058505" label="QueryTilesSegmentation:disabled"/>
@ -24811,6 +24812,7 @@ from previous Chrome versions.
<int value="1558757619"
label="AccessibilitySelectToSpeakPageMigration:enabled"/>
<int value="1559034872" label="AutofillPrefilledFields:enabled"/>
<int value="1559515245" label="WebAssemblyMemory64:disabled"/>
<int value="1560188739" label="reader-mode-heuristics"/>
<int value="1561281771" label="PriceTrackingIconColors:enabled"/>
<int value="1561833662" label="AndroidBrowserControlsInViz:disabled"/>