Bug 238650

Summary: devirtualize Node::customPseudoId
Product: WebKit Reporter: Cameron McCormack (:heycam) <heycam>
Component: DOMAssignee: Cameron McCormack (:heycam) <heycam>
Status: RESOLVED WONTFIX    
Severity: Normal CC: cdumez, esprehn+autocc, ews-watchlist, kangil.han, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch ews-feeder: commit-queue-

Cameron McCormack (:heycam)
Reported 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.
Attachments
Patch (4.31 KB, patch)
2022-03-31 20:29 PDT, Cameron McCormack (:heycam)
ews-feeder: commit-queue-
Cameron McCormack (:heycam)
Comment 1 2022-03-31 20:29:27 PDT
Radar WebKit Bug Importer
Comment 2 2022-03-31 23:28:37 PDT
Cameron McCormack (:heycam)
Comment 3 2022-04-02 14:53:03 PDT
Subsequent testing showed this was not as much of a win as an earlier benchmark run showed.
Note You need to log in before you can comment on or make changes to this bug.