[browser] atob polyfil for feature detection in V8#130142
Merged
Merged
Conversation
Contributor
|
Tagging subscribers to 'arch-wasm': @lewing, @pavelsavara |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adjusts the browser/wasm JavaScript loader’s polyfill initialization to add an atob fallback for shell (V8/d8) scenarios used during engine feature detection, and updates various V8 invocation scripts/comments to stop passing --experimental-wasm-exnref.
Changes:
- Split/rename polyfill initialization into “early” vs “loader” phases and add an
atobpolyfill for shell environments. - Remove
--experimental-wasm-exnreffrom V8/Node invocation in wasm sample and generated run-v8 script. - Update pipeline comments referencing the Helix V8 limitation.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/native/libs/Common/JavaScript/loader/run.ts | Renames the loader polyfill entrypoint call to initPolyfillsLoader(). |
| src/native/libs/Common/JavaScript/loader/polyfills.ts | Adds shell atob polyfill and renames polyfill init functions. |
| src/native/libs/Common/JavaScript/loader/dotnet.ts | Switches early polyfill initialization to initPolyfillsEarly(). |
| src/mono/sample/wasm/wasm.mk | Removes --experimental-wasm-exnref from sample run commands. |
| src/mono/sample/wasm/console-v8/Wasm.Console.V8.Sample.csproj | Removes --experimental-wasm-exnref from the V8 XHarness run command. |
| src/mono/browser/build/BrowserWasmApp.targets | Updates generated run-v8.sh to no longer pass --experimental-wasm-exnref. |
| eng/pipelines/runtime-linker-tests.yml | Updates comment wording about Helix V8 “exnref” support. |
| eng/pipelines/performance/runtime-wasm-perf.yml | Updates comment wording about V8 “exnref” support. |
| eng/pipelines/common/templates/wasm-runtime-tests.yml | Updates comment wording about V8 “exnref” support. |
This was referenced Jul 3, 2026
Open
lewing
approved these changes
Jul 6, 2026
Member
|
/ba-g untracked failures are unrelated |
exnref is no longer experimental in current V8 versions, so the flag is unrecognized and produces warnings. Remove it from all remaining runner templates, test execution targets, the Node sample, and docs. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
javiercn
approved these changes
Jul 10, 2026
Member
Author
|
/ba-g unrelated failures |
lewing
pushed a commit
that referenced
this pull request
Jul 11, 2026
…30511) Fixes #129849 ## Background The exnref migration (#129851) exposed CI failures on the WASM legs. #130142 fixed — `wasm-feature-detect`'s `exceptionsFinal()` used `atob`. ## Changes **Bump the Linux Helix WebAssembly image to an exnref-capable V8** - `ubuntu-26.04-helix-webassembly-amd64` → `@sha256:73db6e43…` (V8 **15.2.47**, verified locally by pulling the image and running `d8`). Previous pin baked V8 15.0.243. - Updated in `eng/pipelines/coreclr/templates/helix-queues-setup.yml` and `eng/pipelines/libraries/helix-queues-setup.yml`. - The Windows Helix digests and the azurelinux build container (V8 15.1.103) were already current, so they are unchanged. **Re-enable the CI legs disabled against this issue** - `eng/pipelines/common/templates/wasm-runtime-tests.yml` — removed `sendToHelix: false` (Mono runtime tests run on Helix again). - `eng/pipelines/runtime-linker-tests.yml` — removed `SkipTrimmingTestsRun=true` (trimming tests execute on V8 again). - `eng/pipelines/performance/runtime-wasm-perf.yml` — restored the original `pr:` trigger (was `pr: none`). - `eng/pipelines/runtime.yml` — re-enabled the CoreCLR `WasmTestOnV8` smoke scenario. **Harden the Chrome/V8 auto-updater** - `src/tasks/WasmBuildTasks/UpdateChromeVersions.cs` — add a minimum-version guard so a Chrome-milestone-derived V8 can no longer silently downgrade the pinned `*_V8Version` below the exnref floor (15.1.103), which had already reverted the pins once via the automated bump. When the recomputed value would drop below the floor, the existing version is kept (mirroring the existing CDN-unavailable fallback).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.