Closed Bug 1618638 Opened 4 years ago Closed 4 years ago

Parallelise unmarking GC things at the start of GC

Categories

(Core :: JavaScript: GC, task, P3)

task

Tracking

()

RESOLVED FIXED
mozilla75
Tracking Status
firefox75 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

Details

Attachments

(2 files)

Clearing mark bits can be easily parallelised and this should help reduce the pause times in the initial GC slice. This shows up in GC_SLOW_TASK telemetry as the second most frequent culprit (behind buffering gray roots).

This adds an iterator ArenasToUnmark and uses AutoRunParallelWork to distribute the work. I didn't go the whole way and make an iterator combinator but I could do this (and it might make this easier to understand).

Depends on D64640

Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/eac472face04
Split off weak map unmarking from arena unmarking r=sfink
https://hg.mozilla.org/integration/autoland/rev/854e8aba90c1
Parallelise clearing marking bits at the start of GC r=sfink
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: