• Andreas Haas's avatar
    [wasm] Handle rejected input promise in WebAssembly.compileStreaming · 8cbcae37
    Andreas Haas authored
    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: 's avatarBen Titzer <titzer@chromium.org>
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60427}
    8cbcae37
wasm-js.cc 81.5 KB