• Clemens Hammacher's avatar
    [wasm] Decouple wire bytes from compilation units · 014d9e4f
    Clemens Hammacher authored
    Compilation units currently contain pointers into allocated space that
    contains the code of the respective function. This requires us to keep
    the StreamingDecoder alive as long as compilation is still running
    (including tiering).
    This CL refactors this by having an additional redirection
    (WireBytesStorage) which can point to either the StreamingDecoder or
    the NativeModule. We only keep the code section buffer alive as long as
    the StreamingWireBytesStorage is still in use.
    
    I will further refactor memory ownership in a follow-up CL to not make
    the AsyncCompileJob keep the StreamingDecoder alive.
    
    R=ahaas@chromium.org
    
    Bug: v8:8343,v8:7921,v8:8050
    Change-Id: I780582c3217abf64000454f2c9c108b9ac9fbff1
    Reviewed-on: https://chromium-review.googlesource.com/c/1319588Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57317}
    014d9e4f
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni 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...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython 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...
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...