[webkit-changes] [WebKit/WebKit] 48eb35: [WTF] Unify granule tracking between ArenaAllocato...

Marcus Plutowski noreply at github.com
Thu Feb 27 11:05:18 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 48eb357acbef689220d358f23821731600eecdd6
      https://github.com/WebKit/WebKit/commit/48eb357acbef689220d358f23821731600eecdd6
  Author: Marcus Plutowski <marcus_plutowski at apple.com>
  Date:   2025-02-27 (Thu, 27 Feb 2025)

  Changed paths:
    M Source/WTF/wtf/SequesteredAllocator.h
    M Source/WTF/wtf/SequesteredImmortalHeap.cpp
    M Source/WTF/wtf/SequesteredImmortalHeap.h

  Log Message:
  -----------
  [WTF] Unify granule tracking between ArenaAllocator and ImmortalHeap
rdar://145159083
https://bugs.webkit.org/show_bug.cgi?id=287993

Reviewed by Yusuke Suzuki.

Previously, granules were essentially implicit to the internal structure
of the SequesteredArenaAllocator. Now, the SequesteredImmortalHeap
expects every allocator to have a ConcurrentDecommitQueue of granules,
which allows the scavenger to target those through the
SequesteredImmortalHeap, allowing us to offload all decommit overhead to
a single central scavenging point.

* Source/WTF/wtf/SequesteredAllocator.h:
(WTF::ArenaGranuleHeader::headerForGranule): Deleted.
* Source/WTF/wtf/SequesteredImmortalHeap.cpp:
(WTF::ConcurrentDecommitQueue::decommit):
* Source/WTF/wtf/SequesteredImmortalHeap.h:
(WTF::GranuleList::GranuleList):
(WTF::GranuleList::operator=):
(WTF::GranuleList::concatenate):
(WTF::GranuleList::push):
(WTF::GranuleList::first):
(WTF::GranuleList::last):
(WTF::GranuleList::popFirst):
(WTF::GranuleList::popLast):
(WTF::GranuleList::empty const):
(WTF::GranuleList::assertBounds const):
(WTF::ConcurrentDecommitQueue::concatenate):
(WTF::ConcurrentDecommitQueue::acquireExclusiveCopyOfGranuleList):
(WTF::SequesteredImmortalHeap::mapGranule):
(WTF::SequesteredImmortalHeap::decommitGranule):
(WTF::SequesteredImmortalHeap::SequesteredImmortalHeap):
(WTF::SequesteredImmortalHeap::mapPages): Deleted.

Canonical link: https://commits.webkit.org/291240@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list