WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
180315
forEachLiveCell should be safe in the case of concurrent aboutToMarkSlow() without grabbing a lock for each call to isLive
https://bugs.webkit.org/show_bug.cgi?id=180315
Summary
forEachLiveCell should be safe in the case of concurrent aboutToMarkSlow() wi...
Filip Pizlo
Reported
2017-12-02 11:20:10 PST
...
Attachments
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2017-12-02 11:58:34 PST
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.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug