CSS: Shrink RuleData by storing selector as index rather than pointer.
<http://webkit.org/b/93712>
Reviewed by Antti Koivisto.
Pack the selector's index in the rule in the RuleData bitfield, effectively
shrinking each RuleData by 8 bytes.
* css/CSSSelectorList.h:
(WebCore::CSSSelectorList::selectorAt):
(WebCore::CSSSelectorList::indexOfNextSelectorAfter):
Add helpers to CSSSelectorList to iterate by index.
* css/StyleResolver.cpp:
(RuleData):
(WebCore::RuleData::selector):
(WebCore::RuleData::selectorIndex):
(SameSizeAsRuleData):
(RuleSet):
(WebCore::makeRuleSet):
(WebCore::StyleResolver::collectMatchingRulesForList):
* css/StyleResolver.h:
(WebCore::StyleResolver::RuleFeature::RuleFeature):
(RuleFeature):
Store selector indices instead of CSSSelector* pointers.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
4 files changed