Bug 238650 - devirtualize Node::customPseudoId
Summary: devirtualize Node::customPseudoId
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: DOM (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Cameron McCormack (:heycam)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-03-31 20:26 PDT by Cameron McCormack (:heycam)
Modified: 2022-04-02 14:53 PDT (History)
5 users (show)

See Also:


Attachments
Patch (4.31 KB, patch)
2022-03-31 20:29 PDT, Cameron McCormack (:heycam)
ews-feeder: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Cameron McCormack (:heycam) 2022-03-31 20:26:18 PDT
Node::pseudoId calls customPseudoId, a virtual function, only if the node has a custom style resolver.  In Speedometer 2, many non-PseudoElement nodes (the <input> elements) do, and Node::customPseudoId ends up being the third top virtual function called.  PseudoElement is the only class that needs to provide a non-None result, so it's not too hard to devirtualize this.
Comment 1 Cameron McCormack (:heycam) 2022-03-31 20:29:27 PDT
Created attachment 456316 [details]
Patch
Comment 2 Radar WebKit Bug Importer 2022-03-31 23:28:37 PDT
<rdar://problem/91147437>
Comment 3 Cameron McCormack (:heycam) 2022-04-02 14:53:03 PDT
Subsequent testing showed this was not as much of a win as an earlier benchmark run showed.