Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 041ad12a187e01224e67d9cb591b4e1b7197c84e
https://github.com/WebKit/WebKit/commit/041ad12a187e01224e67d9cb591b4e1b7197c84e
Author: Yusuke Suzuki <[email protected]>
Date: 2026-08-27 (Thu, 27 Aug 2026)
Changed paths:
M Source/JavaScriptCore/heap/FreeList.h
M Source/JavaScriptCore/heap/FreeListInlines.h
M Source/JavaScriptCore/heap/MarkedBlock.cpp
M Source/WTF/wtf/BitSet.h
M Tools/TestWebKitAPI/Tests/WTF/BitSet.cpp
Log Message:
-----------
[JSC] Make MarkedSpace::stopAllocating faster
https://bugs.webkit.org/show_bug.cgi?id=322693
rdar://185962296
Reviewed by Keith Miller.
Tighten MarkedSpace::stopAllocating faster by,
1. introducing BitSet::clearEachNthBit, which clears m_newlyAllocated in
bulk style.
2. introducing freeList.forEachInterval, avoiding per cell processing
and making zap loop excluded when it is not necessary.
Test: Tools/TestWebKitAPI/Tests/WTF/BitSet.cpp
* Source/JavaScriptCore/heap/FreeList.h:
* Source/JavaScriptCore/heap/FreeListInlines.h:
(JSC::FreeList::allocateWithCellSize):
(JSC::FreeList::forEachInterval const):
(JSC::FreeList::forEach const):
* Source/JavaScriptCore/heap/MarkedBlock.cpp:
(JSC::MarkedBlock::Handle::stopAllocating):
* Source/WTF/wtf/BitSet.h:
(WTF::WordType>::clearEachNthBit):
* Tools/TestWebKitAPI/Tests/WTF/BitSet.cpp:
(TestWebKitAPI::testBitSetClearEachNthBitImpl):
(TestWebKitAPI::testBitSetClearEachNthBit):
(TestWebKitAPI::TEST(WTF_BitSet, ClearEachNthBit_uint32_t)):
(TestWebKitAPI::TEST(WTF_BitSet, ClearEachNthBit_uint64_t)):
Canonical link: https://commits.webkit.org/319965@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications