• mtrofin's avatar
    [wasm] instantiate expressed in terms of compile · 7829af32
    mtrofin authored
    Today, the semantics of:
    
    WebAssembly.instantiate
    
    and
    
    WebAssembly.compile().then(new WebAssemblyInstance)
    
    are subtly different, to the point where attempting the proposed
    change uncovered bugs.
    
    In the future, it's possible that .instantiate actually have different
    semantics - if we pre-specialized to the provided ffi, for example.
    Right now that's not the case.
    
    This CL:
    - gets our implementation closer to what developers may write using
    the compile -> new Instance alternative, in particular wrt promise
    creation. By reusing code paths, we uncover more bugs, and keep
    maintenance cost lower.
    
    - it gives us the response-based WebAssembly.instantiate implicitly.
    Otherwise, we'd need that same implementation on the blink side. The
    negative is maintenance: imagine if the bugs I mentioned could only be
    found when running in Blink.
    
    BUG=chromium:697028
    
    Review-Url: https://codereview.chromium.org/2806073002
    Cr-Commit-Position: refs/heads/master@{#44592}
    7829af32
Name
Last commit
Last update
..
OWNERS Loading commit data...
decoder.h Loading commit data...
function-body-decoder-impl.h Loading commit data...
function-body-decoder.cc Loading commit data...
function-body-decoder.h Loading commit data...
leb-helper.h Loading commit data...
module-decoder.cc Loading commit data...
module-decoder.h Loading commit data...
signature-map.cc Loading commit data...
signature-map.h Loading commit data...
wasm-code-specialization.cc Loading commit data...
wasm-code-specialization.h Loading commit data...
wasm-debug.cc Loading commit data...
wasm-external-refs.cc Loading commit data...
wasm-external-refs.h Loading commit data...
wasm-interpreter.cc Loading commit data...
wasm-interpreter.h Loading commit data...
wasm-js.cc Loading commit data...
wasm-js.h Loading commit data...
wasm-limits.h Loading commit data...
wasm-macro-gen.h Loading commit data...
wasm-module-builder.cc Loading commit data...
wasm-module-builder.h Loading commit data...
wasm-module.cc Loading commit data...
wasm-module.h Loading commit data...
wasm-objects.cc Loading commit data...
wasm-objects.h Loading commit data...
wasm-opcodes.cc Loading commit data...
wasm-opcodes.h Loading commit data...
wasm-result.cc Loading commit data...
wasm-result.h Loading commit data...
wasm-text.cc Loading commit data...
wasm-text.h Loading commit data...