After a collection has finished, we go through the blocks in from-space and move any of them that are pinned into to-space. At the beginning of collection, we reset the to-space block filter that is used during conservative scanning and add back the blocks that are filled during the collection. However, we neglect to add back those blocks that are moved from from-space to to-space, which can cause the conservative scan to think that some pinned items are not actually in CopiedSpace.
Created attachment 141007 [details] Patch
Comment on attachment 141007 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=141007&action=review r=me Please add Radar link > Source/JavaScriptCore/heap/CopiedSpace.cpp:186 > + // We don't add the block to the toSpaceSet because it was never removed. You should ASSERT this condition.
<rdar://problem/11417840>
Committed r116565: <http://trac.webkit.org/changeset/116565>