ImageDecodeWorker is a thread pool implementation based on WorkQueue. ImageDecodeWorker internally manages a pool of WorkQueues (n = number of cores) and assigns one from the pool when an ImageDecodeWorker instance is created. So two ImageDecodeWorkers can share one WorkQueue. Parallel image decoders create an instance of ImageDecodeWorker for each image. So the number of ImageDecodeWorker instances can be arbitrarily large, but the number of WorkQueues is limited to the number of cores. This effectively utilizes the underlying cores.
Created attachment 151656 [details] Patch
Comment on attachment 151656 [details] Patch Attachment 151656 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/13204301
Comment on attachment 151656 [details] Patch Attachment 151656 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/13207234
Comment on attachment 151656 [details] Patch Attachment 151656 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/13202279
Please don't run ews because this patch doesn't build until Bug 90780 is landed.
Comment on attachment 151656 [details] Patch Attachment 151656 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/13199252
Comment on attachment 151656 [details] Patch Attachment 151656 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/13205285
Created attachment 151666 [details] Patch
Created attachment 151667 [details] Patch
Comment on attachment 151667 [details] Patch Attachment 151667 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/13204311
Comment on attachment 151667 [details] Patch Attachment 151667 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/13198317
Comment on attachment 151667 [details] Patch Attachment 151667 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/13209311
Comment on attachment 151667 [details] Patch Attachment 151667 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/13219019
Comment on attachment 151667 [details] Patch Attachment 151667 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/13214021
Comment on attachment 151667 [details] Patch Attachment 151667 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/13206310
Created attachment 151857 [details] Patch
Comment on attachment 151857 [details] Patch Attachment 151857 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/13203593
Comment on attachment 151857 [details] Patch Attachment 151857 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/13180691
Comment on attachment 151857 [details] Patch Attachment 151857 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/13207521
Comment on attachment 151857 [details] Patch Attachment 151857 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/13206580
Comment on attachment 151857 [details] Patch Attachment 151857 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/13198642
Created attachment 151866 [details] Patch
Created attachment 151872 [details] Patch
Created attachment 152695 [details] Patch
This patch will break cr-linux build because Chromium port does not have WorkQueue implementation.
Comment on attachment 152695 [details] Patch Attachment 152695 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/13281359
Comment on attachment 152695 [details] Patch Attachment 152695 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/13279359
Comment on attachment 152695 [details] Patch Attachment 152695 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/13272333
Comment on attachment 152695 [details] Patch Attachment 152695 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/13276335
Comment on attachment 152695 [details] Patch Attachment 152695 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/13284329
Comment on attachment 152695 [details] Patch Attachment 152695 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/13284330
Comment on attachment 152695 [details] Patch Attachment 152695 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/13276385
We are working on 90869 instead. Close this bug as WONTFIX.