• Andreas Haas's avatar
    [wasm] Call AsyncInstantiate directly when instantiating a module object · 49712d8a
    Andreas Haas authored
    WebAssembly.instantiate is polymorphic, it can either take a module
    object as parameter, or a buffer source which should be compiled first.
    To share code between the two implementations, the module object was
    first passed to a promise (i.e. which is the result of compilation).
    However, passing the module object to a promise has a side effect if
    the module object has a then function. To avoid this side effect I
    remove this code sharing and call AsyncInstantiate directly in case
    the parameter is a module object.
    
    R=mstarzinger@chromium.org
    
    Bug: chromium:836141
    Change-Id: I67b76d0d7761c5aeb2cf1deda45b6842e494eed4
    Reviewed-on: https://chromium-review.googlesource.com/1025774Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#52755}
    49712d8a
wasm-js.cc 49.8 KB