Summary: | [GPU Process] Replace ItemHandle with a const Variant& | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Myles C. Maxfield <mmaxfield> | ||||||||||||||||||||||||
Component: | New Bugs | Assignee: | Myles C. Maxfield <mmaxfield> | ||||||||||||||||||||||||
Status: | NEW --- | ||||||||||||||||||||||||||
Severity: | Normal | CC: | annulen, changseok, esprehn+autocc, ews-watchlist, glenn, gyuyoung.kim, kondapallykalyan, pdr, ryuan.choi, sergio, simon.fraser, webkit-bug-importer, wenson_hsieh | ||||||||||||||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||||||
Bug Depends on: | 224314, 225579, 225582, 225589, 223849, 223863, 224145, 224146, 224148, 224270 | ||||||||||||||||||||||||||
Bug Blocks: | |||||||||||||||||||||||||||
Attachments: |
|
Description
Myles C. Maxfield
2021-03-21 02:20:07 PDT
Created attachment 423822 [details]
WIP
Created attachment 423824 [details]
WIP
Created attachment 423836 [details]
WIP
Created attachment 423840 [details]
Tests pass but needs ChangeLog
Created attachment 423854 [details]
Patch
Comment on attachment 423854 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=423854&action=review (Just a couple of quick comments so far) > Source/WebCore/ChangeLog:11 > + were just and object, placed there by placement new. "just an object" > Source/WebCore/ChangeLog:50 > + display list items. These clients were always specified in WebKit - they were only optional for > + testing. However, the code could be significantly simplified if we don't have to handle the Does this statement still apply to the in-memory display list case? (i.e. to cache DrawGlyph items when painting text frequently) Comment on attachment 423854 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=423854&action=review > Source/WebCore/ChangeLog:100 > + which is no problem becasue we were always specifying one in WebKit anyway. "becasue" => "because" Created attachment 423974 [details]
WIP
Created attachment 423981 [details]
Rebased
Created attachment 423991 [details]
WIP
Created attachment 423992 [details]
WIP
Created attachment 424103 [details]
Patch
Created attachment 424161 [details]
Patch
Is this a good time to do this refactoring? We should also do whatever is necessary to move WritingClient and ReadingClient from InMemoryDisplayList.h to InMemoryDisplayList.cpp. Remaining pieces: - After 224270 and 224314, make InMemoryDisplayList not use ItemHandle - Swap out the implementation of DisplayList::Iterator, but keep the same API signatures - Update Iterator's signature, and update callers - Hunting down all the last places that use ItemHandle We should also make ItemBuffer::createItemBuffer() stop manually calling malloc() |