• machenbach's avatar
    Revert of [wasm] WebAssembly.Memory object can be referenced by multiple... · 682f6500
    machenbach authored
    Revert of [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. (patchset #10 id:180001 of https://codereview.chromium.org/2471883003/ )
    
    Reason for revert:
    Breaks gc stress:
    https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/7114
    
    Original issue's description:
    > [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects.
    >
    > Add support for WebAssembly.Memory objects to be simultaneously referenced by multiple Instance objects. GrowingMemory should maintain a consistent view of memory across instances.
    >  - Store a link to instances that share WebAssembly.Memory in the WasmMemoryObject, updated on instantiate.
    >  - Implement WasmInstanceWrapper as a wrapper around the instance object to keep track of previous/next instances, instance object is stored as a WeakCell that can be garbage collected.
    >  - MemoryInstanceFinalizer maintains a valid list of instances when an instance is garbage collected.
    >  - Refactor GrowInstanceMemory to GrowMemoryBuffer that allocates a new buffer, and UncheckedUpdateInstanceMemory that updates memory references for an instance.
    >
    >  R=titzer@chromium.org, mtrofin@chromium.org, bradnelson@chromium.org
    >
    > Committed: https://crrev.com/30ef8e33f3a199a27ca8512bcee314c9522d03f6
    > Cr-Commit-Position: refs/heads/master@{#41121}
    
    TBR=bradnelson@chromium.org,mtrofin@chromium.org,titzer@chromium.org,gdeepti@chromium.org
    # Skipping CQ checks because original CL landed less than 1 days ago.
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    
    Review-Url: https://codereview.chromium.org/2512323004
    Cr-Commit-Position: refs/heads/master@{#41122}
    682f6500
wasm-js.cc 30.4 KB