Repository navigation
Conversation
theduke
force-pushed
the
split/napi-04-asmjs
branch
from
October 22, 2026 07:55
edafbc4 to
b10da16
Compare
This was referenced Oct 22, 2026
theduke
force-pushed
the
split/napi-04-asmjs
branch
from
October 22, 2026 08:00
b10da16 to
a16ae5d
Compare
theduke
force-pushed
the
split/napi-04-asmjs
branch
from
October 22, 2026 08:20
a16ae5d to
e77702f
Compare
theduke
marked this pull request as ready for review
October 22, 2026 08:26
syrusakbary
requested changes
Oct 22, 2026
| "--js-explicit-resource-management " | ||
| "--js-float16array"; | ||
| "--js-float16array " | ||
| "--no-validate-asm"; |
Member
There was a problem hiding this comment.
This would prevent to use optimized Wasm when needed for asm.js.
What we need to --no-validate-asm if and only if wasm is not supported. If Wasm is supported, then we shouldn't add this flag
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.
Removing the WebAssembly global and refusing WebAssembly code generation did not cover V8's asm.js validator. A
use asmscript could enter V8's translated-Wasm compiler and allocate code outside the guest allocator and embedder policy.Add
--no-validate-asmto the provider's default flags. asm.js executes as ordinary JavaScript through the normal JS compilation tiers. This closes the bypass without adding an API or enabling WebAssembly.Older Emscripten asm.js bundles may lose numeric-workload performance; their JavaScript results remain unchanged. The regression inspects the running caller frame to distinguish ordinary JavaScript from translated Wasm.
Stack and provenance
#93 → #94 → #95 → #96 → #97 → #98 → #99 → #100 → #101
Part 4 of the audited split of #84, reconstructed on current main
eac0a13fa65a4d6103864d875ed76ab7efb1816e. Review againstsplit/napi-03-guest-accounting; predecessor branches are required. Original PR #84 remains unchanged. The stack preserves newer main host-JS behavior and deliberately excludes the unused frozen 0.0.1 ABI adapter.Validation
v8_host_control::asm_js_runs_as_plain_javascriptand default V8 flag assertions.The integrated standalone host-control run completed 20 of 21 cases successfully, including the unchanged asm.js probe. The sole failure was finite-budget shared-message detachment on the older public SDK; the same message case passed on the intended Edge SDK. Final branch CI remains pending. No further local tests were run after the user requested they stop.
Latest-main rebase
Rebased the dependency stack onto
eac0a13fa65a4d6103864d875ed76ab7efb1816eafter main merged PR #92. This preserves unsigned guest IDs, pointers and lengths, bounded result/argv writes, host-JS buffer failure cleanup and the high-pointer/high-ID regressions. Conflicts received independent native and host-JS source review. All historical local results above predate this rebase; no local tests or builds were run for it, as requested. Updated-head validation belongs to CI and may be pending. This PR keeps its prerequisite branch as its base to preserve the focused diff.