Bug 238096

Summary: Vector move constructor and move assignment operator are suboptimal when the vector has an inline buffer
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: Web Template FrameworkAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, cmarcelo, darin, ews-watchlist, ggaren, sam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=237988
Attachments:
Description Flags
WIP Patch
none
WIP Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Description Chris Dumez 2022-03-18 14:16:57 PDT
The Vector move constructor and move assignment operator are suboptimal when the vector has an inline buffer, because it relies on Vector::swap().
Comment 1 Chris Dumez 2022-03-18 14:18:24 PDT
Created attachment 455133 [details]
WIP Patch

Needs more testing and ASAN support.
Comment 2 Chris Dumez 2022-03-18 14:29:55 PDT
Created attachment 455135 [details]
WIP Patch
Comment 3 Chris Dumez 2022-03-18 16:26:19 PDT
Created attachment 455148 [details]
Patch
Comment 4 Chris Dumez 2022-03-18 16:42:59 PDT
Created attachment 455151 [details]
Patch
Comment 5 Chris Dumez 2022-03-18 18:17:52 PDT
Created attachment 455155 [details]
Patch
Comment 6 Chris Dumez 2022-03-18 19:32:45 PDT
Created attachment 455158 [details]
Patch
Comment 7 Chris Dumez 2022-03-19 13:26:20 PDT
Small 0.4% progression on Speedometer on MacBook Air 10,1 (Apple Silicon) confirmed by A/B bots.
Comment 8 EWS 2022-03-19 21:12:39 PDT
Committed r291540 (248646@main): <https://commits.webkit.org/248646@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455158 [details].
Comment 9 Radar WebKit Bug Importer 2022-03-19 21:13:16 PDT
<rdar://problem/90532213>