1. 05 Jul, 2022 1 commit
  2. 30 May, 2022 1 commit
  3. 16 May, 2022 1 commit
    • Clemens Backes's avatar
      [utils] Introduce SparseBitVector · 5696b526
      Clemens Backes authored
      We currently have a BitVector implementation which is used a lot by the
      two (mid-tier and top-tier) register allocators. Their size is the
      number of virtual registers or the number of blocks in the function. If
      one of those numbers gets huge, the BitVector does not perform well any
      more, and it consumes huge amounts of memory (we see up to several GBs
      for huge Wasm functions).
      
      This CL introduces a SparseBitVector implementation with a compatible
      interface, meant to replace the BitVector implementation. Usages will be
      introduced in follow-up CLs, first for the mid-tier allocator, then
      top-tier. This will allow us to assess performance changes better, and
      revert individual usages.
      
      R=mslekova@chromium.org
      
      Bug: chromium:1313379, v8:12780
      Change-Id: I804311e0c188526961f70e88a43dd1ea26497cda
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3634780
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#80546}
      5696b526
  4. 21 Apr, 2022 1 commit
  5. 06 Apr, 2022 1 commit
    • Leszek Swirski's avatar
      [test] Add a unittest platform setup mixin · 0ff82052
      Leszek Swirski authored
      Change the unittest runner to no longer uncondtionally set up a default
      platform in the "environment", but to instead make platform set-up part
      of the "mixin" framework for test fixtures.
      
      Requires modifying some tests that expect the platform to be available,
      and all flag implications resolved, before the mixin constructors run.
      
      We still keep the environment for setting up the process for cppgc. This
      process setup can only be done once per process, so it can no longer use
      the platform -- that's ok though, the page allocator used by cppgc's
      process initialisation doesn't have to be the same as the platform's so
      we can just pass in a separate new one.
      
      Change-Id: Ic8ccf39722e8212962c5bba87350c4b304388a7c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571886Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79820}
      0ff82052
  6. 24 Feb, 2022 1 commit
    • Clemens Backes's avatar
      Fail earlier on FreePages · 205fb295
      Clemens Backes authored
      {FreePages} is never expected to fail, and each caller wraps the call in
      a CHECK macro. In order to learn more about failures, this CL moves the
      CHECK inside of {::FreePages}, to fail whenever the {PageAllocator}
      fails to free pages.
      
      As a next step, I'll audit our {PageAllocator} implementations to ensure
      that none of them return {false} for {FreePages}. Note that this is
      already the case for the gin platform (chromium).
      
      R=mlippautz@chromium.org
      
      Bug: v8:12656, chromium:1299735
      Change-Id: Ib61be6cc8da0110ead2db1ad005728bd061e0243
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3484321Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79248}
      205fb295
  7. 18 Feb, 2022 1 commit
  8. 18 Jun, 2021 1 commit
  9. 30 Apr, 2021 1 commit
  10. 24 Jun, 2020 1 commit
  11. 17 Apr, 2020 3 commits
  12. 20 Jan, 2020 1 commit
  13. 05 Dec, 2019 1 commit
  14. 25 Nov, 2019 1 commit
  15. 15 Nov, 2019 1 commit
  16. 27 May, 2019 2 commits
  17. 27 Sep, 2018 1 commit
  18. 12 Sep, 2018 2 commits
  19. 11 Sep, 2018 1 commit