• mtrofin's avatar
    [wasm] Managed<T> ensures T's lifetime does not leak past Isolate's · caa1d4b2
    mtrofin authored
    Native resources allocated by v8, as internal implementation detail,
    and held by a Foreign object, must be released when the Isolate is
    torn down. Example: wasm::WasmModule allocated by wasm compile, and
    held throughout the lifetime of the WebAssembly.Module object.
    
    This change:
    - Extends Managed<CppType> with a mechanism for doing just that
    - Separates the role of Managed<CppType> to be strictly an owner of
    the lifetime of the native resource. For cases where that's not
    desirable, we can polymorphically use Foregin.
    - moves managed.h out of wasm, since it's not wasm-specific.
    
    BUG=680065
    
    Review-Url: https://codereview.chromium.org/2676513008
    Cr-Commit-Position: refs/heads/master@{#43350}
    caa1d4b2
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...