• 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
trap-handler-fallback.js 6.95 KB