[Webkit-unassigned] [Bug 180315] forEachLiveCell should be safe in the case of concurrent aboutToMarkSlow() without grabbing a lock for each call to isLive

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Dec 2 11:58:34 PST 2017


https://bugs.webkit.org/show_bug.cgi?id=180315

--- Comment #1 from Filip Pizlo <fpizlo at apple.com> ---
It just occurred to me that the algorithm for forEachLiveCell could be:

- If the block is allocated, just walk all objects.

- If the block has newly allocated at the outset, then walk that.  I think that grabbing the lock at the beginning just to verify that newly allocated is set up is sufficient.

- Otherwise, walk the mark bits, and recheck the state of the block at the end.  If the block is still in the mark bits state, then we're done.  If it's not, then rewalk it.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20171202/c6e00084/attachment-0001.html>


More information about the webkit-unassigned mailing list