RESOLVED FIXED 129920
MarkedBlocks that are "full enough" shouldn't be swept after EdenCollections
https://bugs.webkit.org/show_bug.cgi?id=129920
Summary MarkedBlocks that are "full enough" shouldn't be swept after EdenCollections
Mark Hahnenberg
Reported 2014-03-07 14:34:59 PST
Imagine a Heap this is completely full after an EdenCollection. The next allocation could potentially walk every atom of every MarkedBlock that its MarkedAllocator has. To avoid this situation we should ignore MarkedBlocks that are "full enough" so we can avoid this linear cost sweep phase.
Attachments
Patch (12.35 KB, patch)
2014-03-11 16:50 PDT, Mark Hahnenberg
no flags
Patch (11.00 KB, patch)
2014-03-11 18:19 PDT, Mark Hahnenberg
ggaren: review+
Mark Hahnenberg
Comment 1 2014-03-11 16:50:41 PDT
Mark Hahnenberg
Comment 2 2014-03-11 18:19:38 PDT
Geoffrey Garen
Comment 3 2014-03-11 18:28:39 PDT
Comment on attachment 226458 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=226458&action=review r=me > Source/JavaScriptCore/heap/MarkedSpace.cpp:-317 > -#ifndef NDEBUG > - VerifyNewlyAllocated verifyFunctor; > - forEachBlock(verifyFunctor); > -#endif Why no verify?
Mark Hahnenberg
Comment 4 2014-03-11 18:33:01 PDT
(In reply to comment #3) > (From update of attachment 226458 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=226458&action=review > > r=me > > > Source/JavaScriptCore/heap/MarkedSpace.cpp:-317 > > -#ifndef NDEBUG > > - VerifyNewlyAllocated verifyFunctor; > > - forEachBlock(verifyFunctor); > > -#endif > > Why no verify? I can undo that one. In an older version of the patch I was using m_newlyAllocated but no longer.
Mark Hahnenberg
Comment 5 2014-03-11 18:46:33 PDT
Jer Noble
Comment 6 2014-03-12 09:22:19 PDT
This commit may have caused the fast/workers/worker-gc.html test to begin crashing <https://bugs.webkit.org/show_bug.cgi?id=130135>
Note You need to log in before you can comment on or make changes to this bug.