• Andreas Haas's avatar
    [wasm] Reimplement WebAssembly.instantiate without desugaring · 8a95da24
    Andreas Haas authored
    At the moment, WebAssembly.instantiate(bytes) is implemented by
    desugaring it to WebAssembly.compile(bytes).then(WebAssembly.instantiate).
    The problem is that the {then} in this snippet is observable. With this
    CL I introduce a CompilationResultResolver which allows to do the
    desugaring internally and thereby make the {then} unobservable.
    Unfortunately the result of WebAssembly.instantiate(bytes) is different
    than the result of WebAssembly.instantiate(module). Therefore I also
    introduced an InstantiationResultResolver for symmetry with
    WebAssembly.compile.
    
    R=mstarzinger@chromium.org
    Bug: chromium:837417
    
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: I2d98e03d65f2ada19041d5a9e2df5da91b24ccca
    Reviewed-on: https://chromium-review.googlesource.com/1059783
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53347}
    8a95da24
module-compiler.cc 147 KB