Simplify representation of slots/element ranges on the mark stack
Categories
(Core :: JavaScript: GC, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox82 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
Details
Attachments
(1 file)
Right now we store ranges of object slots/elements as start/end pointers on the mark stack, but if we ever yield to the mutator we replace these with index based ranges in case the mutator invalidates the pointers by changing the object.
It would be simpler to always use index based ranges and then not have to change them.
This will also be necessary to support concurrent marking.
Assignee | ||
Comment 1•3 years ago
|
||
This stores slots/element ranges as object and start index rather than having
two separate representations (one used during marking, one when we yield to the
mutator during marking). It's possible that this could affect marking
performance but we'll catch that by checking the mark rate telemetry. This
should also reduce the size needed for the mark stack a little.
Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/da45331c242c Simplify representation of slots/element ranges on the mark stack r=sfink
Comment 3•3 years ago
•
|
||
Backed out for perma failures.
Log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=314686817&repo=autoland&lineNumber=7553
Backout: https://hg.mozilla.org/integration/autoland/rev/1a1f4f27a97bdbdc33ffd7ff4afa151b2dd1155f
Pushed by rmaries@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6cc010c07495 Simplify representation of slots/element ranges on the mark stack r=sfink. CLOSED TREE
Comment 5•3 years ago
|
||
Comment 6•3 years ago
|
||
bugherder |
Description
•