DescriptionMake |Heap::findGCInfo()| threadsafe.
Before this patch, |Heap::findGCInfo()|'s iteration on
AttachedThreadStateSet was not guarded. This triggered "modification
while iteration" assert when |Heap::findGCInfo()| was called from
non-safepoint.
This patch exposes |ThreadState::threadAttachMutex()| and
|Heap::findGCInfo()| will acquire lock on it when we are not in safepoint.
Unfortunately there are no trybot which has an ENABLE(GC_TRACING) flag.
NOTRY=true
TEST=content_shell --dump-render-tree http/tests/workers/terminate-during-sync-operation-websql.html wont crash.
BUG=380474
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=175774
Patch Set 1 #
Total comments: 2
Patch Set 2 : change check to isAnyThreadInGC #
Total comments: 5
Patch Set 3 : move iteration to ThreadState #
Messages
Total messages: 11 (0 generated)
|