00282d7d10
This CL is the first step towards the 'static API': https://github.com/WebAssembly/js-promise-integration/pull/1/files The limitation of the previous API is that the stack-switching wrappers are tied to a particular suspender. Since a suspender cannot be re-entered until the corresponding computation has completed, this prevents creating multiple concurrent instances of the same export. Multiple APIs have been proposed and are still under discussion to solve that, but the core idea is the same: the suspender should become a runtime argument of the export and the import. This CL implements that. For now, the suspender is still explicit everywhere: it is created in JS and passed to the export, and forwarded to the JS import. Eventually, the suspender may be completely hidden from JS: it would be materialized by the export wrapper, and "swallowed" by the import wrapper, as proposed in the PR above. R=ahaas@chromium.org Bug: v8:12191 Change-Id: Ic425a3fd920c7ad03874c636cd835d31c0e04994 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3748655 Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#81633} |
||
---|---|---|
.. | ||
benchmarks | ||
bigint | ||
cctest | ||
common | ||
debugger | ||
debugging | ||
fuzzer | ||
fuzzilli | ||
inspector | ||
intl | ||
js-perf-test | ||
memory | ||
message | ||
mjsunit | ||
mkgrokdump | ||
mozilla | ||
test262 | ||
torque | ||
unittests | ||
wasm-api-tests | ||
wasm-js | ||
wasm-spec-tests | ||
webkit | ||
BUILD.gn | ||
OWNERS |