• 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
..
runtime-array.cc Loading commit data...
runtime-atomics.cc Loading commit data...
runtime-classes.cc Loading commit data...
runtime-collections.cc Loading commit data...
runtime-compiler.cc Loading commit data...
runtime-date.cc Loading commit data...
runtime-debug.cc Loading commit data...
runtime-error.cc Loading commit data...
runtime-forin.cc Loading commit data...
runtime-function.cc Loading commit data...
runtime-futex.cc Loading commit data...
runtime-generator.cc Loading commit data...
runtime-i18n.cc Loading commit data...
runtime-internal.cc Loading commit data...
runtime-interpreter.cc Loading commit data...
runtime-literals.cc Loading commit data...
runtime-liveedit.cc Loading commit data...
runtime-maths.cc Loading commit data...
runtime-module.cc Loading commit data...
runtime-numbers.cc Loading commit data...
runtime-object.cc Loading commit data...
runtime-operators.cc Loading commit data...
runtime-promise.cc Loading commit data...
runtime-proxy.cc Loading commit data...
runtime-regexp.cc Loading commit data...
runtime-scopes.cc Loading commit data...
runtime-strings.cc Loading commit data...
runtime-symbol.cc Loading commit data...
runtime-test.cc Loading commit data...
runtime-typedarray.cc Loading commit data...
runtime-utils.h Loading commit data...
runtime-wasm.cc Loading commit data...
runtime.cc Loading commit data...
runtime.h Loading commit data...