1. 24 Oct, 2019 1 commit
  2. 16 Jul, 2019 1 commit
  3. 01 Jul, 2019 2 commits
  4. 21 Jun, 2019 1 commit
  5. 24 May, 2019 1 commit
  6. 23 May, 2019 2 commits
  7. 03 Apr, 2019 1 commit
    • Michael Starzinger's avatar
      [wasm] Add support for "br_on_exn" in the interpreter. · 46a99b07
      Michael Starzinger authored
      This adds preliminary support for handling the "br_on_exn" opcode in the
      interpreter. It also makes "catch" and "rethrow" use a proper exception
      reference instead of a dummy value.
      
      To that end this also adds {Handle<>} as a new kind of {WasmValue} which
      is intended to pass reference values (e.g. "anyref" or "except_ref") to
      the runtime system. Therefore lifetime of such a {WasmValue} is directly
      coupled to any surrounding {HandleScope}.
      
      For now we just store {Handle<>} directly on the simulated operand stack
      of the interpreter. This is of course bogus, since the surrounding scope
      does not outlive the interpreter activation. Decoupling the lifetime of
      the operand stack from a {HandleScope} will be done in a follow-up CL.
      
      As a drive-by this change also implements support for the "ref_null" and
      the "ref_is_null" opcodes as a proof-of-concept that the new {WasmValue}
      is also applicable to the "anyref" reference type.
      
      R=clemensh@chromium.org
      TEST=cctest/test-run-wasm-interpreter/ReferenceTypeLocals
      BUG=v8:8091,v8:7581
      
      Change-Id: I2307e0689a19c4aab1d67f1ba6742cb3cc31aa3c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1550299
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60598}
      46a99b07
  8. 01 Aug, 2018 1 commit
  9. 25 May, 2018 1 commit
  10. 18 May, 2018 1 commit
  11. 02 Feb, 2018 1 commit
  12. 26 Oct, 2017 1 commit
  13. 23 Oct, 2017 1 commit
    • Clemens Hammacher's avatar
      [wasm] [interpreter] Box floats for certain operations · 319b7868
      Clemens Hammacher authored
      There are wasm operations which operate on floats or double, but they
      need to preserve the exact bit pattern. Thus they cannot be stored and
      passed as float or double, since that might flip the signaling NaN bit.
      This CL extends WasmValue to store floats and doubles as bit pattern,
      and adds accessors to extract them as Float32 or Float64.
      The interpreter is changed to execute certain operations (i32.abs,
      i32.neg, i64.abs, i64.neg, f32.reinterpret/i32, f64.reinterpret/i64) on
      boxed floats.
      
      R=titzer@chromium.org
      
      Bug: v8:6954
      Change-Id: I0251d1a67b6caf593194d4eb292a325cdd3f20cf
      Reviewed-on: https://chromium-review.googlesource.com/730716
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48819}
      319b7868
  14. 18 Jul, 2017 1 commit