• Eric Holk's avatar
    [wasm] Fall back on bounds checks when guarded memory unavailable · b984b70c
    Eric Holk authored
    This CL adds the simplest version of a trap handler fallback. At
    instantiation time, we check whether the module was compiled to use
    trap handlers and the memory is guarded. If the memory is not guarded
    but the module is supposed to use trap handlers, we recompile the
    module with bounds checks so that we can use an unguarded memory.
    
    The compiled module is replaced with a bounds checking version, meaning
    future instances from this module will also use bounds checks.
    
    Some likely desirable features that are current missing but can be
    added future CLs include:
    * Disabling trap handler mode entirely.
    * Recompiling all old instances so that trap handler and bounds checked
      code does not coexist in the same process.
    
    Bug: v8:7143
    
    Change-Id: I161fc0d544133b07dc4a93cc6af813369aaf3efe
    Reviewed-on: https://chromium-review.googlesource.com/1018182
    Commit-Queue: Eric Holk <eholk@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53566}
    b984b70c
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides 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...
.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...