• 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...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...