• gdeepti's avatar
    [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. · e108f90d
    gdeepti authored
    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
    Committed: https://crrev.com/3c98e339599b068f1ed630afb7601ff942424d31
    Review-Url: https://codereview.chromium.org/2471883003
    Cr-Original-Original-Commit-Position: refs/heads/master@{#41121}
    Cr-Original-Commit-Position: refs/heads/master@{#41198}
    Cr-Commit-Position: refs/heads/master@{#41234}
    e108f90d
Name
Last commit
Last update
..
OWNERS Loading commit data...
ast-decoder.cc Loading commit data...
ast-decoder.h Loading commit data...
decoder.h Loading commit data...
leb-helper.h Loading commit data...
managed.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-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-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...