• Karl Schimpf's avatar
    [wasm] First step of refactoring trap handling to be per module. · 0d5de9ad
    Karl Schimpf authored
    The previous code assumed that trap handling was a global concept, defined
    by function trap_handler::UseTrapHandler(). This CL does the first step
    in changing the decision to be specifiable at a module level.
    
    Therefore trap_handler::UseTrapHandler() is replaced by
    trap_handler::IsTrapHandlerEnabled(), and communicates if compilation
    supports the use of trap handlers (but still allowing the use of
    bounds checking on memory accesses).
    
    It then refactors the classes ModuleEnv and WasmCompiledModule to have
    a field "use_trap_handler" that specifies if traps should be used for
    the memory accesses in the module being compiled.
    
    Bug: v8:7143
    Change-Id: I9844842d5721c86c2dd55e911b42bf8b9922cf63
    Reviewed-on: https://chromium-review.googlesource.com/802322
    Commit-Queue: Eric Holk <eholk@chromium.org>
    Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
    Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
    Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49915}
    0d5de9ad
d8.cc 119 KB