v8/test
Thibaud Michaud 00282d7d10 [wasm] Take suspender as parameter for stack-switching
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}
2022-07-11 11:11:32 +00:00
..
benchmarks Mark benchmarks/kraken/audio-dft as slow under slow variants 2022-06-15 23:10:02 +00:00
bigint [bigint][test] Parse command-line integer parameters robustly 2022-05-30 15:21:36 +00:00
cctest Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
common Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
debugger [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
debugging [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
fuzzer [wasm] Limit module size in streaming decoder 2022-07-08 09:43:41 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector Fix BigInt BiDi format 2022-07-08 13:28:30 +00:00
intl Fix unreachable code under --harmony-intl-number-format-v3 2022-06-22 02:57:57 +00:00
js-perf-test [compiler] Inline Array.prototype.at in JSCallReducer 2022-05-25 10:01:03 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message [api] add v8::Module::GetStalledTopLevelAwaitMessage() 2022-06-10 16:46:57 +00:00
mjsunit [wasm] Take suspender as parameter for stack-switching 2022-07-11 11:11:32 +00:00
mkgrokdump [sandbox] Turn V8_SANDBOX into V8_ENABLE_SANDBOX 2022-05-13 16:23:23 +00:00
mozilla [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
test262 [test262] Roll test262 2022-07-08 20:28:50 +00:00
torque Reland "Reland "[Torque] Generalize Torque literals to larger size"" 2022-02-04 09:40:24 +00:00
unittests [wasm][test] Replace struct.new_with_rtt with struct.new 2022-07-08 09:24:40 +00:00
wasm-api-tests [wasm][c-api] Add handle scope to fix wasm_module_validate 2022-06-09 16:46:23 +00:00
wasm-js [wasm] Update spec tests 2022-06-15 11:38:32 +00:00
wasm-spec-tests Reland "[sandbox] Also enable the sandbox outside of Chromium builds" 2022-06-21 13:32:26 +00:00
webkit [test] Disable failing MSVC test 2021-12-01 15:51:59 +00:00
BUILD.gn [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
OWNERS