• 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
..
benchmarks Loading commit data...
cctest Loading commit data...
common Loading commit data...
debugger Loading commit data...
fuzzer Loading commit data...
inspector Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
simdjs Loading commit data...
test262 Loading commit data...
unittests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...
perf.gyp Loading commit data...
perf.isolate Loading commit data...