[GPU Process] Replace ItemHandle with a const Variant&
https://bugs.webkit.org/show_bug.cgi?id=223560
Summary [GPU Process] Replace ItemHandle with a const Variant&
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.