1. 28 Oct, 2021 1 commit
  2. 21 Oct, 2021 1 commit
    • Ng Zhi An's avatar
      [wasm-relaxed-simd][x64] Prototype relaxed min and max · c3f346b7
      Ng Zhi An authored
      Relaxed f32x4 and f64x2 min and max.
      
      These instructions only guarantee results when the inputs are non nans,
      and when the inputs are not 0s of opposite signs.
      
      Reuse existing float binop testing harnesses and add special checks for
      such constants when relaxed operations are being tested.
      
      Drive-by rename of x64 instruction codes to be Minps/Maxps/Minpd/Maxpd
      since they map down exactly to a single instruction.
      
      Bug: v8:12284
      Change-Id: I1449dbfa87935a96d7d260db22667ab7b9e86601
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218196Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#77484}
      c3f346b7
  3. 14 Oct, 2021 1 commit
  4. 11 Oct, 2021 1 commit
  5. 07 Oct, 2021 1 commit
  6. 28 Sep, 2021 1 commit
  7. 27 Sep, 2021 1 commit
  8. 24 Sep, 2021 1 commit
    • Clemens Backes's avatar
      [wasm][test] Cleanup macros · 156b2409
      Clemens Backes authored
      Some macros are redundant or unused.
      - WASM_RETURN1 is identical to WASM_RETURN.
      - WASM_RETURNN has an unused {count} parameter, and is otherwise
        identical to WASM_RETURN.
      - WASM_IFB is identical to WASM_IF.
      - WASM_CASE and WASM_CASE_BR are unused.
      - WASM_BR_TABLEV is unused.
      
      R=thibaudm@chromium.org
      
      Bug: v8:12244
      Change-Id: Ie7be00351f2dfe38d6e84d80e157a85df37233a9
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3178860Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#77056}
      156b2409
  9. 20 Sep, 2021 1 commit
  10. 17 Sep, 2021 1 commit
    • Thibaud Michaud's avatar
      [wasm][eh] Fix interpreter delegate in catch block · 159e440d
      Thibaud Michaud authored
      The recent change in the delegate semantics was incorrectly implemented
      in the interpreter. It only checked that the first opcode of the target
      block is a 'try': we also need to skip try blocks when we are already in
      their 'catch' or 'catch_all' sub-block.
      Use the exception_stack instead, since it already only contains indices
      of try blocks that haven't reached their handlers yet.
      
      R=clemensb@chromium.org
      
      Bug: chromium:1249306
      Change-Id: I15746b4bfabf3dcf04cfe0f2ad438c573cce65e7
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3168622
      Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76919}
      159e440d
  11. 15 Sep, 2021 1 commit
  12. 13 Sep, 2021 1 commit
  13. 08 Sep, 2021 1 commit
  14. 17 Aug, 2021 1 commit
  15. 13 Aug, 2021 2 commits
    • Clemens Backes's avatar
      Revert "[arm64][wasm] Use NEON S/Usra for Wasm SIMD add(shr(x, imm), y)" · 55e6a51f
      Clemens Backes authored
      This reverts commit 2261e053.
      
      Reason for revert: No issues with the CL, but it is taking the
      last two available opcodes on arm64 (we use 9 bits to encode it,
      so we are limited to 512 opcodes). We need to land a security fix
      which includes the addition of two opcodes. Before relanding this,
      we need to figure out a strategy to either reduce opcodes, or use
      one more bit to encode them.
      
      Original change's description:
      > [arm64][wasm] Use NEON S/Usra for Wasm SIMD add(shr(x, imm), y)
      >
      > A single AArch64 SIMD signed/unsigned Shift Right and Accumulate can be
      > used to implement Wasm SIMD add(shr(x, imm), y). This gives a 1-1.5%
      > improvement on some compute intensive Wasm benchmarks on Neoverse-N1.
      >
      > Mla and Adalp optimisations were refactored to match the style of the
      > added code.
      >
      > Change-Id: Id5959a31ca267e02b7d60e7ff6f942adb029b41e
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3089157
      > Reviewed-by: Zhi An Ng <zhin@chromium.org>
      > Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
      > Cr-Commit-Position: refs/heads/master@{#76280}
      
      Change-Id: Ifad0625ed8a6b66e7a7a74da11ad7d60941207e5
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094014
      Auto-Submit: Clemens Backes <clemensb@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#76282}
      55e6a51f
    • Ilja Iskovs's avatar
      [arm64][wasm] Use NEON S/Usra for Wasm SIMD add(shr(x, imm), y) · 2261e053
      Ilja Iskovs authored
      A single AArch64 SIMD signed/unsigned Shift Right and Accumulate can be
      used to implement Wasm SIMD add(shr(x, imm), y). This gives a 1-1.5%
      improvement on some compute intensive Wasm benchmarks on Neoverse-N1.
      
      Mla and Adalp optimisations were refactored to match the style of the
      added code.
      
      Change-Id: Id5959a31ca267e02b7d60e7ff6f942adb029b41e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3089157Reviewed-by: 's avatarZhi An Ng <zhin@chromium.org>
      Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
      Cr-Commit-Position: refs/heads/master@{#76280}
      2261e053
  16. 12 Aug, 2021 1 commit
  17. 03 Aug, 2021 1 commit
  18. 29 Jul, 2021 1 commit
  19. 27 Jul, 2021 1 commit
  20. 26 Jul, 2021 1 commit
  21. 07 Jul, 2021 2 commits
  22. 01 Jul, 2021 1 commit
  23. 30 Jun, 2021 1 commit
    • Clemens Backes's avatar
      [cleanup] Remove redundant FLAG_SCOPE macros · d701dde2
      Clemens Backes authored
      FLAG_SCOPE_EXTERNAL can be used outside of the v8::internal namespace,
      while FLAG_SCOPE can not.
      This CL refactors FLAG_SCOPE such that it can be used anywhere, and
      removes the redudant FLAG_SCOPE_EXTERNAL macro.
      Also, UNFLAG_SCOPE_EXTERNAL is removed in favor of FLAG_SCOPE_VAL, as
      the word "flag" in the macro name is meant to refer to a flag, and not
      to the verb or action of "flagging" something, hence "unflag" does not
      match the terminology.
      
      R=ahaas@chromium.org
      
      Bug: v8:11879
      Change-Id: I2d761012c3e4330abb611bf67130eb57ec5bb964
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2988920
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75482}
      d701dde2
  24. 24 Jun, 2021 1 commit
  25. 21 Jun, 2021 1 commit
  26. 18 Jun, 2021 1 commit
  27. 14 Jun, 2021 3 commits
  28. 10 Jun, 2021 1 commit
  29. 04 Jun, 2021 1 commit
    • Manos Koukoutos's avatar
      [wasm] Simplify Immediates in decoder · f9db82ab
      Manos Koukoutos authored
      Changes:
      - Merge all immediates which read a u32_v index into IndexImmediate.
        Refactor overloaded Validate(const byte*, [Type]Immediate) functions
        to Validate[Type](const byte*, IndexImmediate).
      - Move MemoryIndexImmediate/MemoryAccessImmediate validation into their
        own Validate functions. Remove CheckHasMemory(), move its
        functionality into these Validate() functions.
      - Refactor MemoryInitImmediate, TableInitImmediate and
        CallIndirectImmediate as composite immediates.
      - Change field initializations for some Immediates to constructor
        initializers. This helps us drop some useless default constructors.
      - Use the correct pc in StackEffect for struct.new_default.
      
      Bug: v8:11831
      Change-Id: I878f69a33f8473dc275184995b3b7b88fe0dfc8a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928498Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74948}
      f9db82ab
  30. 02 Jun, 2021 1 commit
  31. 31 May, 2021 1 commit
  32. 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
  33. 21 May, 2021 1 commit
  34. 20 May, 2021 1 commit
  35. 19 May, 2021 2 commits