Closed Bug 1736397 Opened 2 months ago Closed 2 months ago

Replace sweeping with tracing weak edges in WeakCache implementation

Categories

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

task

Tracking

()

RESOLVED FIXED
95 Branch
Tracking Status
firefox95 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

Details

Attachments

(6 files)

No description provided.

Making this change meant fixing WeakCached things that supplied their own sweep
method at the same time because the custom sweep method would no longer be
called. This dragged in a bunch of other changes but it's all along the same
lines as the previous patches.

Depends on D128859

It's slightly annoying that we now have to store a tracer rather than just a
bool, but it's necessary because these container methods don't have any context
we can get it from.

Depends on D128860

Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9d528f1cf137
Part 1: Change the WeakCache interface to traceWeak(), but still call sweep() internally r=sfink
https://hg.mozilla.org/integration/autoland/rev/446442e02d07
Part 2: Give hash table traceWeak methods a boolean return value r=sfink
https://hg.mozilla.org/integration/autoland/rev/a995c4e762d7
Part 3: Replace sweeping with tracing weak edges for WeakCached HashMaps r=sfink
https://hg.mozilla.org/integration/autoland/rev/e753336f6a84
Part 4: Replace sweeping with tracing weak edges for WeakCached HashSets r=sfink
https://hg.mozilla.org/integration/autoland/rev/aca331d41a22
Part 5: Replace sweeping with tracing weak edges for unspecialized WeakCached things r=sfink
https://hg.mozilla.org/integration/autoland/rev/30cf1a138099
Part 6: Use tracing for the incremental read barrier on WeakCached maps and sets r=sfink
You need to log in before you can comment on or make changes to this bug.