[WIP] only install WASM trap handler when there's enough virtual memory #60788
+95
−19
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.
Idea was suggested by @deepak1556 IIRC - instead of relying on some flag to decide whether we should install the WASM trap handler, just detect how much virtual memory is accessible and if there's not enough, don't use trap-handler-based bound checks which requires a 8-16GB virtual memory cage currently to allocate any wasm memory.
It's overall less brittle if it's mostly implemented in the upstream because the cage size might change and there might potentially be other requirements (kernel versions or hardware capabilities?) that V8 would know the best about. Going to see if this can be upstreamed or do we have to keep it on the embedder's side.
Upstream CL: https://chromium-review.googlesource.com/c/v8/v8/+/7182060