RESOLVED FIXED303634
GC sweeping should not be done in the End phase.
https://bugs.webkit.org/show_bug.cgi?id=303634
Summary GC sweeping should not be done in the End phase.
Mark Lam
Reported 2025-12-05 08:58:34 PST
That's because the end phase may be run on the GC thread instead of the mutator thread. Sweeping needs to be done on the mutator thread because AtomStringImpl destruction needs to unregistered from the mutator's thread local AtomStringTable. This can only be done on the mutator thread. 303051@main introduced eager synchronous sweeping in the GC End phase if there's a critical memory condition. We'll fix this by changing this to simply flag the need to sweep in the End phase, and let Heap::finalize() do the sweeping in the mutator thread instead. rdar://165681233
Attachments
Mark Lam
Comment 1 2025-12-05 09:14:30 PST
EWS
Comment 2 2025-12-05 15:01:21 PST
Committed 304020@main (b5808ff792b0): <https://commits.webkit.org/304020@main> Reviewed commits have been landed. Closing PR #54929 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.