Closed Bug 599820 Opened 14 years ago Closed 6 years ago

Crack down on GCRoot abuse

Categories

(Tamarin Graveyard :: Garbage Collection (mmGC), defect, P3)

defect

Tracking

(Not tracked)

RESOLVED WONTFIX
Q1 12 - Brannan

People

(Reporter: lhansen, Unassigned)

References

Details

GCRoots are relatively expensive: they are scanned twice on every GC and they are - for the time being - scanned conservatively even if most heap storage can be, or will be, scanned precisely. We suspect that there is some use of GCRoots where none is needed. The VM shell is pretty clean at this point but the Flash Player needs vetting. This bug exists to make that work visible, even if details can't always appear here.
Just evidence of false pointers in roots and the problems they bring: in a different bug, Tommy makes this remark: "For instance, one bug we've had is where a GCRoot doesn't initialize itself and it contains values from a previous allocation that prevent the GCRoot from ever being deleted (sometimes GCRoot deletion happens in a GCFinalizedObject dtor and if the root contains a pointer to that object then presto ... memory leak)."
Target Milestone: --- → Future
Blocks: 626611
Depends on: 634651
Depends on: 635660
Depends on: 589172
No longer depends on: 635660
Blocks: 576307
No longer blocks: 626611
Priority: -- → P3
Target Milestone: Future → flash10.x-Serrano
It is known that the Player creates roots to hold onto event-related storage that makes a trip through native code where it's not visible to the GC. The lock/unlock API introduced in bug #589172 should be used to reengineer that code so that it no longer uses roots.
Assignee: nobody → rulohani
Status: NEW → ASSIGNED
OS: Mac OS X → All
Hardware: x86 → All
This bug pertains both to the VM and to the Player.
Target Milestone: Q3 11 - Serrano → Q1 12 - Brannan
Blocks: 663159
Assignee: rulohani → nobody
Depends on: 672815
Flags: flashplayer-qrb+
No assignee, updating the status.
Status: ASSIGNED → NEW
No assignee, updating the status.
No assignee, updating the status.
Tamarin is a dead project now. Mass WONTFIX.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
You need to log in before you can comment on or make changes to this bug.