RESOLVED FIXED228003
JITWorklist::waitUntilAllPlansForVMAreReady() should also be notified when plans are cancelled.
https://bugs.webkit.org/show_bug.cgi?id=228003
Summary JITWorklist::waitUntilAllPlansForVMAreReady() should also be notified when pl...
Mark Lam
Reported 2021-07-15 13:16:47 PDT
Previously, it only gets notified when plans are done compiling. As a result, if JITWorklist::waitUntilAllPlansForVMAreReady() found non-ready plans and started waiting, and those plans were canceled, then JITWorklist::waitUntilAllPlansForVMAreReady() can hang indefinitely. rdar://78314543
Attachments
proposed patch. (4.63 KB, patch)
2021-07-15 13:24 PDT, Mark Lam
ysuzuki: review+
Mark Lam
Comment 1 2021-07-15 13:24:15 PDT
Created attachment 433619 [details] proposed patch.
Yusuke Suzuki
Comment 2 2021-07-15 13:32:05 PDT
Comment on attachment 433619 [details] proposed patch. View in context: https://bugs.webkit.org/attachment.cgi?id=433619&action=review r=me > Source/JavaScriptCore/jit/JITWorklist.cpp:336 > + bool didCancelPlans = deadPlanKeys.size(); Using !isEmpty() would be better.
Mark Lam
Comment 3 2021-07-15 13:33:30 PDT
Thanks for the review. (In reply to Yusuke Suzuki from comment #2) > > Source/JavaScriptCore/jit/JITWorklist.cpp:336 > > + bool didCancelPlans = deadPlanKeys.size(); > > Using !isEmpty() would be better. Agreed. Will fix.
Mark Lam
Comment 4 2021-07-15 13:43:34 PDT
Note You need to log in before you can comment on or make changes to this bug.