Closed
Bug 1589037
Opened 5 years ago
Closed 3 years ago
Replace sweep methods with traceWeakEdges in DebugEnvironments
Categories
(Core :: JavaScript: GC, enhancement, P3)
Core
JavaScript: GC
Tracking
()
RESOLVED
FIXED
95 Branch
Tracking | Status | |
---|---|---|
firefox95 | --- | fixed |
People
(Reporter: allstars.chh, Assigned: jonco)
References
Details
Attachments
(1 file)
In bug 1573809 I found that DebugEnvironments::sweep() has some issues so it can't be replaced with tracing.
so after calling IATBF, it will also reuse the key to call liveEnvs.remove
https://searchfox.org/mozilla-central/rev/171109434c6f2fe086af3b2322839b346a112a99/js/src/vm/EnvironmentObject.cpp#2529
However in TraceWeak case with sweeping, the pointer has been set to nullptr already.
So we pre-read the key before calling IATBF, however it causes problems in compacting now, because in compacting state the pointer is actually forwarded already.
We need to have a better design to fix this.
Assignee | ||
Updated•3 years ago
|
Summary: replace DebugEnvironments::sweep() with tracing → Replace sweep methods with traceWeakEdges in DebugEnvironments
Assignee | ||
Comment 1•3 years ago
|
||
Depends on D128350
Updated•3 years ago
|
Assignee: nobody → jcoppeard
Status: NEW → ASSIGNED
Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/cb5027add2d1 Use TraceWeakEdge for DebugEnvironment r=sfink
Comment 3•3 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
status-firefox95:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 95 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•