Bug 251413

Summary: move SVG conditional processing attributes to SVGElementRareData
Product: WebKit Reporter: Cameron McCormack (:heycam) <heycam>
Component: SVGAssignee: Cameron McCormack (:heycam) <heycam>
Status: RESOLVED FIXED    
Severity: Normal CC: sabouhallawa, webkit-bug-importer, zimmermann
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Cameron McCormack (:heycam) 2023-01-30 19:51:40 PST
The SVG conditional processing attributes (requiredFeatures, requiredExtensions, and systemLanguage) are rarely used.  Currently nearly every SVG element creates SVGStringList objects for these three attributes in WebCore::SVGTests, at a cost of 48 bytes each SVGStringList plus the three pointers.  We can move these to SVGElementRareData to save 72 bytes per SVG element in this common case, which for SVG documents with a large number of graphical elements can add up.
Comment 1 Radar WebKit Bug Importer 2023-01-30 19:52:05 PST
<rdar://problem/104849618>
Comment 2 Cameron McCormack (:heycam) 2023-01-30 20:48:27 PST
Pull request: https://github.com/WebKit/WebKit/pull/9366
Comment 3 EWS 2023-02-02 12:04:48 PST
Committed 259772@main (a0e6d8e81896): <https://commits.webkit.org/259772@main>

Reviewed commits have been landed. Closing PR #9366 and removing active labels.