1. 30 Aug, 2022 1 commit
  2. 26 Aug, 2022 1 commit
  3. 25 Aug, 2022 3 commits
  4. 24 Aug, 2022 4 commits
  5. 23 Aug, 2022 3 commits
  6. 22 Aug, 2022 3 commits
  7. 19 Aug, 2022 1 commit
    • Anton Bikineev's avatar
      cppgc: Avoid fragmentation in NormalPageMemoryRegion · 1d3a1c6f
      Anton Bikineev authored
      NormalPageMemoryRegion is a span of 10 pages, all of which must belong
      to the same space. This requirement imposes a fragmentation issue for virtual space, which is not ideal for the current 2GB cage
      configuration.
      
      The CL fixes this by mixing pages of different spaces inside the same
      NormalPageMemoryRegion. With cage it's actually not necessary anymore
      to have NormalPageMemoryRegion, but we keep it to allow the code to be
      uniform for cage/non-cage configurations.
      
      There is no type confusion across spaces, since pages (even empty) are
      never shared between spaces. In addition, the shared cage puts an
      additional memory constraint on the GC. So, there is no security benefit
      in having NormalPageMemoryRegion assigned to a single space.
      
      Savings in reserved address space:
      cnn:2021: 14%
      facebook_infinite_scroll:2018: 23%
      
      Bug: chromium:1325007, chromium:1352649
      Change-Id: I7b49032d581dd56feb8633734a1f37803e9526c6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3840749Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Anton Bikineev <bikineev@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#82584}
      1d3a1c6f
  8. 18 Aug, 2022 3 commits
  9. 17 Aug, 2022 1 commit
  10. 16 Aug, 2022 2 commits
  11. 15 Aug, 2022 1 commit
  12. 12 Aug, 2022 3 commits
    • Nico Hartmann's avatar
      Revert "[heap] Rework Worklist base type" · 54ef0d87
      Nico Hartmann authored
      This reverts commit a19316d9.
      
      Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20UBSan/22670/overview
      
      Original change's description:
      > [heap] Rework Worklist base type
      >
      > 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: Anton Bikineev <bikineev@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#82432}
      
      Change-Id: I14994e11ff5ffaba70b93d977d40dd2f6e9e5d35
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3829474
      Owners-Override: Nico Hartmann <nicohartmann@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Auto-Submit: Nico Hartmann <nicohartmann@chromium.org>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/main@{#82438}
      54ef0d87
    • 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
  13. 10 Aug, 2022 3 commits
  14. 09 Aug, 2022 4 commits
  15. 04 Aug, 2022 1 commit
  16. 01 Aug, 2022 1 commit
  17. 27 Jul, 2022 1 commit
  18. 26 Jul, 2022 1 commit
  19. 19 Jul, 2022 3 commits