• Mircea Trofin's avatar
    [wasm] Weaken global handles used for indirect tables · de296d14
    Mircea Trofin authored
    The previous design assumed we can't possibly have a cycle involving
    an instance, however, we can. For example: a script can reference
    an instance, which ends up referencing the native context because
    of how we generate wasm-to-js wrappers; that references the global
    object, which then references the script. A global handle to the
    indirect function table can then root such a cycle. That means
    the instance is never collected, which never deletes the global
    handle.
    
    This change addresses that by making the handles weak.
    
    Bug: 
    Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
    Change-Id: Ief7263af83974bf96505a4fba65d162474fe7c7c
    Reviewed-on: https://chromium-review.googlesource.com/653852
    Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
    Reviewed-by: 's avatarBrad Nelson <bradnelson@chromium.org>
    Reviewed-by: 's avatarAseem Garg <aseemgarg@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47909}
    de296d14
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...
.editorconfig 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...