[wasm] Handle rejected input promise in WebAssembly.compileStreaming
In the implementation of WebAssembly.compileStreaming and WebAssembly.instantiateStreaming, we did not handle the case where the input, which is a Promise, gets rejected. When this Promise got rejected, the Promise returned by compileStreaming remained pending forever. With this CL, the rejection object of the input Promise gets forwarded to the result Promise. I also extended the --wasm-test-streaming flag to provide WebAssembly.compileStreaming and WebAssembly.instantiateStreaming in d8. The difference to the Chrome versions of these function is that d8 does not know about Response objects. That's why in d8 compileStreaming and instantiateStreaming expect a Promise to an ArrayBuffer or a TypedArray and not to a Response object. Cq-Include-Trybots: luci.chromium.try:linux-blink-rel Bug: chromium:943487 Change-Id: I77f789e9ae5d50ae9c9bc92bf27dbfe338fe0f13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535817Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#60427}
Showing
Please
register
or
sign in
to comment