Open Bug 1588130 Opened 5 years ago Updated 4 years ago

AttachFinishedCompressions operates per-runtime but is called per-sweep group

Categories

(Core :: JavaScript: GC, defect, P2)

defect

Tracking

()

People

(Reporter: jonco, Unassigned)

Details

We call this in SweepCompressionTasks which runs per sweep group, but this works on all compression tasks for the runtime. This is a problem if compression tasks have any barriered GC pointers because we may end up destroying one off-thread while its zone is currently marking. The fact that this happens off-thread prevents the usual incremental barrier from running (and causes assertion failures - see bug 1585874 for an example).

One solution would be to handle these as we do for Ion complications and pass a selector which allows us to attach the tasks based on zone GC state (in this case sweeping). If we did that the barrier would not be required (and the assertion would not fire).

Priority: -- → P2
Severity: normal → S4
You need to log in before you can comment on or make changes to this bug.