1. 12 Mar, 2020 1 commit
  2. 17 Feb, 2020 1 commit
  3. 28 Nov, 2019 1 commit
    • Clemens Backes's avatar
      [wasm] Clean up WASM_CALL_INDIRECT macros · a183b8be
      Clemens Backes authored
      Fix a TODO from Ben to change the macro argument order to match the
      actual order in wasm code.
      After this fix, we can remove the individual {WASM_CALL_INDIRECT[0-5]}
      macros and implement them via a common variadic macro.
      
      Also, rename {WASM_CALL_INDIRECT_TABLE0} to {WASM_CALL_INDIRECT_TABLE}.
      The name was confusing, because this macro explictly allows to set a
      table index different from 0. Thus, just drop the "0" in the name.
      
      The individual test changes were done via a vim macro, to avoid manual
      errors.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:10021
      Change-Id: I9f0f31511c5c6e20a0b07524bf75fe9cf1598eba
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1940265Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65242}
      a183b8be
  4. 26 Nov, 2019 1 commit
  5. 08 Oct, 2019 2 commits
  6. 17 Sep, 2019 1 commit
  7. 19 Jul, 2019 1 commit
  8. 12 Jul, 2019 1 commit
  9. 11 Jul, 2019 1 commit
  10. 08 Jul, 2019 2 commits
  11. 28 May, 2019 1 commit
  12. 14 May, 2019 1 commit
  13. 07 May, 2019 1 commit
  14. 03 May, 2019 2 commits
  15. 03 Apr, 2019 2 commits
    • 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
    • Frederik Gossen's avatar
      [wasm-hints] Unified Naming for Compilation Hints · f0cfb7cc
      Frederik Gossen authored
      The tiers are now consistently referred to as baselin and top tier.
      
      Bug: v8:9003
      Change-Id: I74ad1867aca63bee9eb83b7f0f9fbaf2b1523dcb
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547667
      Commit-Queue: Frederik Gossen <frgossen@google.com>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60591}
      f0cfb7cc
  16. 20 Mar, 2019 1 commit
  17. 20 Feb, 2019 1 commit
  18. 19 Feb, 2019 2 commits
  19. 14 Feb, 2019 1 commit
  20. 07 Feb, 2019 1 commit
  21. 31 Jan, 2019 2 commits
  22. 28 Jan, 2019 1 commit
  23. 19 Nov, 2018 1 commit
    • Ben Smith's avatar
      [wasm] Decode bulk memory instructions · 50798d60
      Ben Smith authored
      These instructions aren't implemented yet in TF or in Liftoff, but they
      are properly decoded.
      
      The table instructions (i.e. `table.{init,drop,copy}`) are validated,
      since the table and element sections occur before the code section. The
      memory instructions (i.e. `memory.{init,drop,copy,fill}`) are not
      validated because the data section occurs after the code section, so it
      can't be verified in one pass (without throwing a validation error
      later).
      
      There is currently a discussion about whether to add a new section
      (similar to `func`) that predefines the number of expected data
      segments. If we add this, then we can validate in one pass. For now,
      we'll leave it unimplemented.
      
      Bug: v8:7747
      Change-Id: I839edf51721105a47a1fa8dd5e5e1bd855e72447
      Reviewed-on: https://chromium-review.googlesource.com/c/1339241
      Commit-Queue: Ben Smith <binji@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57622}
      50798d60
  24. 12 Nov, 2018 1 commit
  25. 29 Oct, 2018 1 commit
  26. 17 Oct, 2018 2 commits
  27. 06 Sep, 2018 1 commit
    • Michael Starzinger's avatar
      [wasm] Add preliminary support for exported exceptions. · c0a9f50c
      Michael Starzinger authored
      This adds the ability to add exception types to the export section of a
      module and reference them via the local exception index. Currently the
      export object then just contains the local index as a number, which is
      only temporary until we have proper export wrappers for exceptions.
      
      Also note that this tightens the restriction for the modules exception
      section to be located in between the import and the export section.
      
      R=clemensh@chromium.org
      TEST=mjsunit/wasm/exceptions-export
      BUG=v8:8091
      
      Change-Id: Ie26081c3f94e71cb576057db7e45ec5bd0e112f9
      Reviewed-on: https://chromium-review.googlesource.com/1206873
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55679}
      c0a9f50c
  28. 09 Aug, 2018 1 commit
    • Ben L. Titzer's avatar
      [wasm] Add WasmFeatures to enable/detect features · 6aa2a253
      Ben L. Titzer authored
      This CL introduces a set of configuration options implemented as
      a struct of booleans that together comprise the set of enabled
      or detected features. The configuration options replace command-line
      flags that were checked deep in the implementation. As such, it is
      necessary to plumb them through multiple levels of abstraction.
      
      R=ahaas@chromium.org
      CC=mstarzinger@chromium.org
      BUG=chromium:868844
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: I1b82f5826e4fd263f68e8cafcd923bac5818a637
      Reviewed-on: https://chromium-review.googlesource.com/1163670Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55018}
      6aa2a253
  29. 24 Apr, 2018 1 commit
  30. 05 Apr, 2018 1 commit
  31. 07 Feb, 2018 1 commit
  32. 31 Jan, 2018 1 commit
    • Karl Schimpf's avatar
      [wasm] Implement i64.trunc_s:sat/f32 · ef98172d
      Karl Schimpf authored
      Implements the saturating opcode i64.trunc_s:sat/f32.
      
      Also does some refactoring of the i32 saturating opcodes use a simplier
      solution (calling a single method to handle all i32 values).
      
      Also refactors code so that the remaining i64 saturating conversions
      should be easy to add to the wasm compiler.
      
      Bug: v8:7226
      Change-Id: I031aca1e059b4baa989a56ecbc16941f591ff9b3
      Reviewed-on: https://chromium-review.googlesource.com/887333
      Commit-Queue: Karl Schimpf <kschimpf@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51001}
      ef98172d
  33. 25 Jan, 2018 1 commit