Bug 306081

Summary: [appearance: base] Move the pseudoElementType and pseudoBits to NonInheritedRareData
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: FormsAssignee: Said Abou-Hallawa <sabouhallawa>
Status: RESOLVED WONTFIX    
Severity: Normal CC: cdumez, webkit-bug-importer, wenson_hsieh
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=305085
https://bugs.webkit.org/show_bug.cgi?id=306383
Bug Depends on:    
Bug Blocks: 305601    

Said Abou-Hallawa
Reported 2026-01-22 17:31:08 PST
Adding a pseudo element requires increasing PublicPseudoIDBits by 1. At some point an extra bit will add 4 bytes to the NonInheritedFlags. And because of the structure alignment, this will increase RenderStyle by 8 bytes. This caused perf regression on SP3 and on MotionMark; see bug 305085. To allow adding more pseudo elements without regressing the benchmarks. the pseudoElementType and pseudoBits can be moved from ComputedStyleBase::NonInheritedFlags to NonInheritedMiscData.
Attachments
Radar WebKit Bug Importer
Comment 1 2026-01-22 17:31:18 PST
Said Abou-Hallawa
Comment 2 2026-01-22 17:40:57 PST
Said Abou-Hallawa
Comment 3 2026-01-27 21:49:20 PST
The approach of this bug is wrong. Moving the pseudo elements bits to the rare data causes more mismatch in the MatchedDeclarationsCache. This should be fixed by bug 306383.
Note You need to log in before you can comment on or make changes to this bug.