Bug 223560

Summary: [GPU Process] Replace ItemHandle with a const Variant&
Product: WebKit Reporter: Myles C. Maxfield <mmaxfield>
Component: New BugsAssignee: 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 Flags
WIP
none
WIP
none
WIP
none
Tests pass but needs ChangeLog
none
Patch
none
WIP
none
Rebased
none
WIP
none
WIP
none
Patch
none
Patch ews-feeder: commit-queue-

Myles C. Maxfield
Reported 2021-03-21 02:20:07 PDT
[GPU Process] Migrate DisplayList::Iterator to use a Variant instead of ItemHandle
Attachments
WIP (116.77 KB, patch)
2021-03-21 02:21 PDT, Myles C. Maxfield
no flags
WIP (139.89 KB, patch)
2021-03-21 04:48 PDT, Myles C. Maxfield
no flags
WIP (143.26 KB, patch)
2021-03-21 14:22 PDT, Myles C. Maxfield
no flags
Tests pass but needs ChangeLog (156.33 KB, patch)
2021-03-21 16:27 PDT, Myles C. Maxfield
no flags
Patch (163.94 KB, patch)
2021-03-21 21:51 PDT, Myles C. Maxfield
no flags
WIP (162.90 KB, patch)
2021-03-22 18:28 PDT, Myles C. Maxfield
no flags
Rebased (165.52 KB, patch)
2021-03-22 19:46 PDT, Myles C. Maxfield
no flags
WIP (172.98 KB, patch)
2021-03-22 23:45 PDT, Myles C. Maxfield
no flags
WIP (173.02 KB, patch)
2021-03-22 23:57 PDT, Myles C. Maxfield
no flags
Patch (179.09 KB, patch)
2021-03-24 00:58 PDT, Myles C. Maxfield
no flags
Patch (178.58 KB, patch)
2021-03-24 11:24 PDT, Myles C. Maxfield
ews-feeder: commit-queue-
Myles C. Maxfield
Comment 1 2021-03-21 02:21:28 PDT
Myles C. Maxfield
Comment 2 2021-03-21 04:48:55 PDT
Myles C. Maxfield
Comment 3 2021-03-21 14:22:02 PDT
Myles C. Maxfield
Comment 4 2021-03-21 16:27:16 PDT
Created attachment 423840 [details] Tests pass but needs ChangeLog
Myles C. Maxfield
Comment 5 2021-03-21 21:51:34 PDT
Wenson Hsieh
Comment 6 2021-03-21 22:52:53 PDT
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)
Wenson Hsieh
Comment 7 2021-03-21 23:25:30 PDT
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"
Myles C. Maxfield
Comment 8 2021-03-22 18:28:42 PDT
Myles C. Maxfield
Comment 9 2021-03-22 19:46:38 PDT
Myles C. Maxfield
Comment 10 2021-03-22 23:45:11 PDT
Myles C. Maxfield
Comment 11 2021-03-22 23:57:31 PDT
Myles C. Maxfield
Comment 12 2021-03-24 00:58:05 PDT
Myles C. Maxfield
Comment 13 2021-03-24 11:24:00 PDT
Radar WebKit Bug Importer
Comment 14 2021-03-28 02:21:14 PDT
Simon Fraser (smfr)
Comment 15 2021-03-29 09:43:15 PDT
Is this a good time to do this refactoring?
Myles C. Maxfield
Comment 16 2021-04-03 01:21:54 PDT
We should also do whatever is necessary to move WritingClient and ReadingClient from InMemoryDisplayList.h to InMemoryDisplayList.cpp.
Myles C. Maxfield
Comment 17 2021-04-07 21:53:04 PDT
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
Myles C. Maxfield
Comment 18 2021-04-21 14:03:41 PDT
We should also make ItemBuffer::createItemBuffer() stop manually calling malloc()
Note You need to log in before you can comment on or make changes to this bug.