• Clemens Hammacher's avatar
    [wasm] Keep instances of imported code alive · ebc76f64
    Clemens Hammacher authored
    If one wasm instance imports an exported function of another instance,
    we unwrap the js-to-wasm wrapper of the export and use the underlying
    code object directly. However, the code object does not keep the wasm
    instance alive. It is only connected via a WeakCell.
    With this CL, we explicitly store a FixedArray of all wasm instances
    from which we imported functions to keep them alive at least as long as
    the instance which imports the code.
    
    R=mtrofin@chromium.org, ahaas@chromium.org
    BUG=chromium:734345
    
    Change-Id: I8dcfc9a4ea2d791a62d8cb7255039e481c50bdfd
    Reviewed-on: https://chromium-review.googlesource.com/539738Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46062}
    ebc76f64
wasm-objects.cc 63.9 KB