• Karl Schimpf's avatar
    Add capability of throwing values in WASM · 49106e48
    Karl Schimpf authored
    This is a second attempt at landing CL 644866 which was reverted by
    CL 667019.
    
    Extends the current implementation of WASM exceptions to be able to
    throw exceptions with values (not just tags).
    
    A JS typed (uint_16) array is used to hold the thrown values. This
    allows all WASM types to be stored (i32, i64, f32, and f64) as well as
    be inspected in JS.
    
    The previous CL was reverted because the WASM compiler made calls to
    run time functions with tagged objects, which must not be done. To fix
    this, all run time calls use the thread-level isolate to hold the
    exception being processed.
    
    Bug: v8:6577
    Change-Id: I4b1ef7e2847b71a2fab8e9934a0531057db9de63
    Reviewed-on: https://chromium-review.googlesource.com/677056
    Commit-Queue: Karl Schimpf <kschimpf@chromium.org>
    Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48148}
    49106e48
runtime-wasm.cc 12.7 KB