1. 09 Aug, 2021 1 commit
  2. 01 Jun, 2021 1 commit
  3. 23 Mar, 2021 1 commit
  4. 26 Jan, 2021 1 commit
  5. 18 Jan, 2021 1 commit
    • Andreas Haas's avatar
      [wasm][liftoff] Fix index in the initialization of locals · 18534a42
      Andreas Haas authored
      There was a bug that only the last local with a reference type got
      initialized to null, all other locals kept the initial value of 0. This
      CL fixes this bug.
      
      Additionally this CL optimizes the code slightly. Before this CL, the
      null reference was loaded from the instance for every local with
      reference type. Now the null reference is cached after the first load
      and then used for all other locals.
      
      R=thibaudm@chromium.org
      
      Bug: chromium:1167587
      Change-Id: Ic11fc76b650e6daa029491154744fc132778f70d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2632695
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72139}
      18534a42
  6. 16 Dec, 2020 1 commit
    • Andreas Haas's avatar
      [wasm][liftoff] Fix stack check safepoints for arm, arm64, and ia32 · 8656a594
      Andreas Haas authored
      Registers are spilled differently on arm and intel platforms.
      Additionally, on arm64 registers are spilled with padding. Therefore
      the code for safepoint information for spilled registers is platform-
      dependent now.
      
      Additionally the alignment of the frame size is done before the
      out-of-line code now, so that the safepoint indices can be calculated
      correctly for spilled registers in out-of-line code.
      
      Finally, some code was unimplemented on ia32 and arm, which I added
      now.
      
      R=thibaudm@chromium.org
      
      Bug: v8:7581, v8:10929
      Change-Id: Ia9b824dfc74cafa9ec3cc0d308fb18b485afd715
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2584952
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71786}
      8656a594
  7. 30 Nov, 2020 1 commit
  8. 10 Sep, 2020 1 commit
  9. 23 Jun, 2020 1 commit
  10. 10 Jun, 2020 1 commit
  11. 09 Jun, 2020 1 commit
  12. 03 Jun, 2020 1 commit
  13. 08 Oct, 2019 1 commit
  14. 30 Jan, 2019 1 commit
  15. 25 Jan, 2019 1 commit
    • Andreas Haas's avatar
      [wasm][anyref] Support anyref stack parameters · 258371bd
      Andreas Haas authored
      Anyref parameters can exist across GC runs. Therefore the GC has to
      know where anyref parameters are on the stack so that it can mark them
      in its marking phase, and update them in the compaction phase.
      
      Already in a previous CL we grouped all anyref parameters so that they
      can be found more easily in a stack frame, see
      https://crrev.com/c/1371827. In this CL we implement the stack scanning
      itself.
      
      Note that anyref parameters are not scanned while iterating over the
      caller's frame (to which they actually belong), but while iterating
      over the callee's frame. The reason is that with tail-calls, only the
      callee knows how many tagged stack parameters (aka anyref parameters)
      there are.
      
      R=mstarzinger@chromium.org
      also-by=mstarzinger@chromium.org
      
      Bug: v8:7581
      Change-Id: I7a41ce11d06c0d420146fdb0bb8d5606f28824d7
      Reviewed-on: https://chromium-review.googlesource.com/c/1424955
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59099}
      258371bd
  16. 23 Jan, 2019 1 commit
    • Andreas Haas's avatar
      [wasm][anyref] Implement sub-typing of anyref, anyfunc, and nullref · 5d587693
      Andreas Haas authored
      For the reference types anyref, anyfunc, and nullref, there exist
      sub-typing rules. The spec says
      
      A reference type reftype1 matches a reference type reftype2 if and only
      if:
      
      * Either both reftype1 and reftype2 are the same.
      * Or reftype1 is nullref.
      * Or reftype2 is anyref.
      
      This CL introduces the type nullref for ref-null, and implements the
      sub-typing rules in the function-body-decoder.
      
      Note that because of the sub-typing check validation performance may
      regresses. In that case we can optimize the sub-typing check.
      
      R=titzer@chromium.org, clemensh@chromium.org
      
      Bug: v8:7581
      Change-Id: I55bab72a109f3374da3770d141b0fc8067aad8b2
      Reviewed-on: https://chromium-review.googlesource.com/c/1430061
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59043}
      5d587693
  17. 11 Dec, 2018 1 commit
  18. 03 Sep, 2018 1 commit
  19. 10 Apr, 2018 2 commits
  20. 09 Apr, 2018 1 commit