Closed Bug 1959077 Opened 22 days ago Closed 21 days ago

Mark stack element ranges are unnecessarily updated after work is donated

Categories

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

defect

Tracking

()

RESOLVED FIXED
139 Branch
Tracking Status
firefox139 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

We update object element ranges stored on the mark stack at the start and end of every slice to take account of the number of shifted elements to ensure we don't skip any marking, as the number of shifted elements may change between slices. Currently there is a bug where we also update element ranges after work is donated between marking theads as if we were starting a new slice.

This doesn't affect correctness but it can make us re-do some marking work unnecessarily.

This also adds some asserts when moving work that would have caught this.

Blocks: GC
Severity: -- → S3
Priority: -- → P1
Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0d47139188e4 Update mark stack elements ranges only at the beginning and end of each slice when parallel marking r=sfink
Status: NEW → RESOLVED
Closed: 21 days ago
Resolution: --- → FIXED
Target Milestone: --- → 139 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: