Summary: | The GC should only resume compiler threads that it suspended in the same GC pass | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Mark Lam <mark.lam> | ||||
Component: | JavaScriptCore | Assignee: | Mark Lam <mark.lam> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | fpizlo, ggaren, mhahnenberg, mmirman, msaboff, oliver, webkit-bug-importer | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Mark Lam
2014-04-23 16:26:05 PDT
Created attachment 230022 [details]
the patch
Comment on attachment 230022 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=230022&action=review r=me > Source/JavaScriptCore/heap/Heap.cpp:1025 > + ASSERT(!m_suspendedCompilerWorklists.size()); I find it's more readable to say "m_suspendedCompilerWorklists.isEmpty()" instead. > Source/JavaScriptCore/heap/Heap.cpp:1235 > + for (auto worklist : m_suspendedCompilerWorklists) > + worklist->resumeAllThreads(); > + m_suspendedCompilerWorklists.clear(); You should change the other places in the GC to only iterate this list. If the GC itself didn't suspend a work list then it shouldn't be touching that work list at all. Thanks. Suggested changes applied. Landed in r167733: <http://trac.webkit.org/r167733>. |