1. 12 Aug, 2022 2 commits
    • Omer Katz's avatar
      [heap] Implement SimulateFullSpace for PagedNewSpace · 0cd0e4bb
      Omer Katz authored
      The existing version for paged spaces simply reset the freelist, which
      doesn't work for tests that require actual objects in the space.
      The version for new space also doesn't work because it assumes
      everything after top is free space.
      
      Fill the space with FixedArray by iterating over the freelist and
      creating an object in place of each freelist entry.
      This method actually fills the space, so that we can also use it to
      force page promotion.
      
      Bug: v8:12612
      Change-Id: Ie0d73e846bbf688ea52030be29e0587b2f37ed4e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3823135Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#82437}
      0cd0e4bb
    • Michael Lippautz's avatar
      [heap] Rework Worklist base type · a19316d9
      Michael Lippautz authored
      Worklist uses a singly-linked list of segments to hold entries.
      Segment size was based on a compile-time constant but already stored
      in the segment itself.
      
      Rework the segments to query `malloc_usable_size()` on allocation and
      adjust the capacity properly. For PartitionAlloc, it turns out that
      there's ~20% more capacity available for the 64-element segments.
      
      This slows down actual allocation of the segments with the upside of
      improving utilization and requiring 20% less segments.
      
      Change-Id: Ib8595c3fb9fb75b02e4022f6c525bb59a2df7ab7
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3826047
      Commit-Queue: Anton Bikineev <bikineev@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarAnton Bikineev <bikineev@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#82432}
      a19316d9
  2. 10 Aug, 2022 3 commits
  3. 09 Aug, 2022 4 commits
  4. 04 Aug, 2022 1 commit
  5. 01 Aug, 2022 1 commit
  6. 27 Jul, 2022 1 commit
  7. 26 Jul, 2022 1 commit
  8. 19 Jul, 2022 3 commits
  9. 15 Jul, 2022 3 commits
  10. 13 Jul, 2022 1 commit
    • Anton Bikineev's avatar
      cppgc: Provide operator==(Raw, Member) to avoid Member decompression · 4dee3fbd
      Anton Bikineev authored
      The operator with raw pointer allows us to avoid Member decompression,
      which is more expensive than compression. It's also quite frequently
      called (e.g. in HeapHashSet::find()).
      
      The existing operator
        template <...>
        bool operator==(const Member<T1>&, const Member<T2>&);
      was not called for
        GCed* raw = ...;
        member == raw;
      because the compiler wouldn't deduce `T2` in `const Member<T2>` as
      `GCed` when the initializer expression `raw` is of different type
      (`GCed*`).
      
      Bug: chromium:1325007
      Change-Id: Ie1ee12bad28081c66f4e08a146467fd7c040bb70
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3757344Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Anton Bikineev <bikineev@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#81702}
      4dee3fbd
  11. 05 Jul, 2022 1 commit
  12. 30 Jun, 2022 1 commit
  13. 29 Jun, 2022 1 commit
  14. 27 Jun, 2022 2 commits
  15. 23 Jun, 2022 2 commits
  16. 22 Jun, 2022 1 commit
  17. 21 Jun, 2022 1 commit
  18. 20 Jun, 2022 1 commit
  19. 17 Jun, 2022 1 commit
    • Michael Lippautz's avatar
      Revert "[heap] Sweep code pages on the background thread" · 6ddf042f
      Michael Lippautz authored
      This reverts commit 8325f86d.
      
      Reason for revert: Speculative revert for chromium:1336850.
      
      Original change's description:
      > [heap] Sweep code pages on the background thread
      >
      > We already make code pages writable & executable for concurrent
      > Sparkplug. We can use the same mechanism for sweeping of code pages on
      > the background thread, instead of scheduling incremental tasks on the
      > main thread. This allows us to remove almost all special
      > handling for code pages in the sweeper and allows us to off-load more
      > work from the main thread.
      >
      > Bug: v8:12967
      > Change-Id: Idb8e9f8e2eadbec26a386f2de683a80087f671f3
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695557
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#81139}
      
      Bug: v8:12967, chromium:1336850
      Change-Id: I1fb775892c2679984221efa7ceb682800c88cb2f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3707274
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#81213}
      6ddf042f
  20. 15 Jun, 2022 1 commit
  21. 14 Jun, 2022 2 commits
  22. 13 Jun, 2022 1 commit
  23. 10 Jun, 2022 3 commits
  24. 09 Jun, 2022 1 commit
  25. 05 Jun, 2022 1 commit