Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6f670174ddc808f8b33835f906a779b27236e8a4 https://github.com/WebKit/WebKit/commit/6f670174ddc808f8b33835f906a779b27236e8a4 Author: Yusuke Suzuki <ysuz...@apple.com> Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths: M Source/WTF/wtf/BitSet.h M Source/WebCore/style/PropertyCascade.cpp M Source/WebCore/style/PropertyCascade.h M Source/WebCore/style/StyleBuilder.cpp M Tools/TestWebKitAPI/Tests/WTF/BitSet.cpp Log Message: ----------- [WebCore] Use fast bitset iteration for Style Builder::applyPropertiesImpl https://bugs.webkit.org/show_bug.cgi?id=271100 rdar://124722402 Reviewed by Antti Koivisto. While top-priority / high-priority CSS properties are limited, more than 300 low-priority CSS properties exist. And we are doing very naive iteration for that in Builder::applyPropertiesImpl. Given that only low-priority CSS properties are huge and it is placed at the end of bitset, let's just use super fast bitset iteration instead of doing naive loop. * Source/WTF/wtf/BitSet.h: (WTF::WordType>::forEachSetBit const): * Source/WebCore/style/PropertyCascade.cpp: (WebCore::Style::PropertyCascade::set): * Source/WebCore/style/PropertyCascade.h: (WebCore::Style::PropertyCascade::isEmpty const): (WebCore::Style::PropertyCascade::propertyIsPresent): (WebCore::Style::PropertyCascade::propertyIsPresent const): (WebCore::Style::PropertyCascade::hasNormalProperty const): * Source/WebCore/style/StyleBuilder.cpp: (WebCore::Style::Builder::applyPropertiesImpl): * Tools/TestWebKitAPI/Tests/WTF/BitSet.cpp: (TestWebKitAPI::testBitSetForEachSetBitWithStartIndex): (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/276280@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes