Closed Bug 1736397 Opened 3 years ago Closed 3 years 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.

Attachment

General

Created:
Updated:
Size: