Closed Bug 1589066 Opened 5 years ago Closed 3 years ago

Replace sweep methods with traceWeakEdges in Realm

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
95 Branch
Tracking Status
firefox95 --- fixed

People

(Reporter: allstars.chh, Assigned: jonco)

References

Details

Attachments

(2 files)

  • js::ObjectGroupRealm::NewEntry::needsSweep
    • js::ObjectGroupRealm::ArrayObjectKey::needsSweep
    • js::ObjectGroupRealm::PlainObjectKey::needsSweep
    • js::ObjectGroupRealm::PlainObjectEntry::needsSweep
    • js::ObjectGroupRealm::AllocationSiteKey::needsSweep
    • js::ObjectGroupRealm::AllocationSiteKey::needsSweep
    • bool JS::Realm::globalIsAboutToBeFinalized()
    • js::InitialShapeEntry::needsSweep
      Also for GCHash*

(In reply to Yoshi Cheng-Hao Huang [:allstars.chh][:allstarschh] from comment #0)
ObjectGroupRealm has gone away but some other cases remain.

Summary: replace needsSweep with traceWeak for tracing → Replace sweep methods with traceWeakEdges in Realm

This uses the new API to trace the edge to the global and clean up if necessary.

The method gets renamed as it only traces this one edge now, and the
traceGlobal gets renamed to traceGlobalData to avoid ambiguity.

Assignee: nobody → jcoppeard
Status: NEW → ASSIGNED
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/57ff5c7c6e41
Part 1: Use TraceWeakEdge to trace the Realm's edge to the global r=sfink
https://hg.mozilla.org/integration/autoland/rev/a50373dbcd45
Part 2: Remove unused RealmNeedsSweep API and implementation r=sfink
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 95 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: