1. 10 Jun, 2021 1 commit
  2. 09 Jun, 2021 1 commit
  3. 08 Jun, 2021 1 commit
  4. 04 Jun, 2021 2 commits
  5. 02 Jun, 2021 2 commits
  6. 01 Jun, 2021 1 commit
    • Clemens Backes's avatar
      [wasm] Merge immediate "completion" into "validation" · 616a75f1
      Clemens Backes authored
      The split between "Complete" methods and "Validate" methods is subtle
      and undocumented. The "Complete" methods are only used in places where
      we know that the function is valid anyway: Printing wasm code and
      getting stack effects of an instruction (for the interpreter). Both are
      also not performance critical.
      Hence this CL merges the "Complete" methods in the respective "Validate"
      methods and just call the latter instead of the former.
      
      R=jkummerow@chromium.org
      
      Bug: v8:11831
      Change-Id: Id9591c73587262c30b8c56770b090f2b0d2d45b0
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922118Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74882}
      616a75f1
  7. 31 May, 2021 1 commit
  8. 27 May, 2021 1 commit
    • Manos Koukoutos's avatar
      [wasm-gc] Implement array.copy (experimental) · dfdc8f68
      Manos Koukoutos authored
      Changes:
      - Add --experimental-wasm-gc-experiments flag.
      - Add array.copy opcode. Implement it in decoding and code generation
        behind the new flag.
      - Add WasmCodeBuilder::BoundsCheckArrayCopy. Move BoundsCheckArray to
        the private section.
      - Add WasmArrayCopy and WasmArrayCopyWithChecks builtin.
      - Add WasmArrayCopy runtime function.
      - Add WasmArray::ElementSlot.
      - Always print two hex digits in CHECK_PROTOTYPE_OPCODE.
      - In test-gc, print the thrown-error message if the function should not
        throw.
      - In test-gc, add GetResultObject with one argument.
      
      Bug: v8:7748
      Change-Id: I58f4d37e254154596cdef5e78482b55260dd3782
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2912729
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74806}
      dfdc8f68
  9. 26 May, 2021 2 commits
    • Manos Koukoutos's avatar
      Reland "Reland "[wasm][bug] Fix a couple of bugs in validation of unreachable code"" · 85a5e208
      Manos Koukoutos authored
      This is a reland of 916eb869
      
      Change compared to original:
      Remove ternary operator from lambda, as this triggers a gcc bug.
      
      Original change's description:
      > Reland "[wasm][bug] Fix a couple of bugs in validation of unreachable code"
      >
      > This is a reland of 4a037f87
      >
      > Changes compared to original change: None. This seems not to create
      > problems after all.
      >
      > Original change's description:
      > > [wasm][bug] Fix a couple of bugs in validation of unreachable code
      > >
      > > Changes:
      > > - SetBlockType now instantiates the block's start merge with values of
      > >   the correct type in unreachable code.
      > > - EnsureStackArguments now keeps the existing stack values and moves
      > >   them over the new bottom values.
      > > - Drop stack size validation in Drop().
      > > - Add new tests in unreachable-validation.js.
      > >
      > > Change-Id: Ie68b3d9abb0a41d1623d4a123fb526e71941c4e7
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2902733
      > > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#74650}
      >
      > Change-Id: Id620f7fb6677b772b0dcfd38108256384db44439
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2905598
      > Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#74677}
      
      Bug: v8:11819
      Change-Id: I9b8d915547ec9aee7cb5233937089d431db54c8f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2919833
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74797}
      85a5e208
    • Jakob Gruber's avatar
      Revert "Reland "[wasm][bug] Fix a couple of bugs in validation of unreachable code"" · 1f89ee1f
      Jakob Gruber authored
      This reverts commit 916eb869.
      
      Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20gcc/11805/overview
      
      Original change's description:
      > Reland "[wasm][bug] Fix a couple of bugs in validation of unreachable code"
      >
      > This is a reland of 4a037f87
      >
      > Changes compared to original change: None. This seems not to create
      > problems after all.
      >
      > Original change's description:
      > > [wasm][bug] Fix a couple of bugs in validation of unreachable code
      > >
      > > Changes:
      > > - SetBlockType now instantiates the block's start merge with values of
      > >   the correct type in unreachable code.
      > > - EnsureStackArguments now keeps the existing stack values and moves
      > >   them over the new bottom values.
      > > - Drop stack size validation in Drop().
      > > - Add new tests in unreachable-validation.js.
      > >
      > > Change-Id: Ie68b3d9abb0a41d1623d4a123fb526e71941c4e7
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2902733
      > > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#74650}
      >
      > Change-Id: Id620f7fb6677b772b0dcfd38108256384db44439
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2905598
      > Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#74677}
      
      Tbr: manoskouk@chromium.org
      Change-Id: Ia24aa453735464bdd3aafca4617beabb0cbf8823
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2917601
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Auto-Submit: Jakob Gruber <jgruber@chromium.org>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74771}
      1f89ee1f
  10. 21 May, 2021 1 commit
  11. 20 May, 2021 1 commit
  12. 19 May, 2021 5 commits
  13. 18 May, 2021 1 commit
  14. 14 May, 2021 2 commits
  15. 23 Apr, 2021 1 commit
  16. 21 Apr, 2021 1 commit
    • Manos Koukoutos's avatar
      [wasm][refactor] Simplify/unify parts of the function decoder · c4113c47
      Manos Koukoutos authored
      Changes:
      - Remove TypeCheckBranchResult. Change TypeCheckBranch() to return bool.
        Refactor call sites to reflect this (decouple current code
        reachability check from type check).
      - Unify TypeCheckBranch(), TypeCheckFallthrough(), and the type-checking
        part of Return() into TypeCheckStackAgainstMerge().
      - Make sure all TypeCheck* functions are only called within VALIDATE.
      - In graph-builder-interface, rename end_env -> merge_env to reflect
        its function for loops.
      - Change expected error messages in some tests.
      
      Change-Id: I857edc18db9c2454ad12d539ffe7a10e96367710
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839560Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74100}
      c4113c47
  17. 19 Apr, 2021 1 commit
  18. 16 Apr, 2021 1 commit
  19. 15 Apr, 2021 2 commits
  20. 13 Apr, 2021 1 commit
  21. 01 Apr, 2021 2 commits
    • Deepti Gandluri's avatar
      [wasm-simd] Pass decode if SSSE3 flag is set · 0d059e07
      Deepti Gandluri authored
      Change-Id: Iafe2b5635287fea5bd3c687b4ed897edbce4b0aa
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2798978Reviewed-by: 's avatarZhi An Ng <zhin@chromium.org>
      Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73781}
      0d059e07
    • Manos Koukoutos's avatar
      [wasm] Rework CALL_INTERFACE macros in WasmDecoder · 389eb1f8
      Manos Koukoutos authored
      Main change: Remove CALL_INTERFACE macro. Use
      CALL_INTERFACE_IF_REACHABLE or invoke interface directly instead.
      Reasoning: Interfaces assume the Decoder is in a non-error state,
      therefore CALL_INTERFACE invoked DCHECK(this->ok()). However,
      CALL_INTERFACE (1) was sometimes erroneously called with an error in the
      decoder, especially in cases where the error occurred inside immediate
      argument parsing, (2) was always called in contexts where the current
      control was guaranteed to be reachable. Due to (1) and (2),
      CALL_INTERFACE is equivalent to CALL_INTERFACE_IF_REACHABLE (there are
      a few exceptions where we can call the interface directly).
      
      Additional change:
      - Rename current_code_reachable_ to current_code_reachable_and_ok_
        to make its name reflect its meaning better.
      
      Bug: chromium:1194784
      Change-Id: I52055161a802e6981506b2a8dc8bb8233198aa2c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2799351
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73771}
      389eb1f8
  22. 31 Mar, 2021 1 commit
  23. 30 Mar, 2021 1 commit
  24. 22 Mar, 2021 2 commits
  25. 19 Mar, 2021 1 commit
  26. 18 Mar, 2021 2 commits
  27. 17 Mar, 2021 2 commits