Closed Bug 604713 Opened 14 years ago Closed 6 years ago

Investigate whether FinishIncrementalMark can be delayed

Categories

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

defect

Tracking

(Not tracked)

RESOLVED WONTFIX
Q1 12 - Brannan

People

(Reporter: lhansen, Unassigned)

References

Details

If FinishIncrementalMark can be delayed until the interframe interval, until an exit from the core player code into the surrounding event loop, or until something similar happens, then memory retained by the (conservative) stack scan will probably contribute very little to the overall memory retained because the stack will be very short. We should gather some date on whether such a delay might be possible. Basic idea: If we are ready to trigger FinishIncrementalMark we could set a flag, create a small allocation budget, and continue running. If we exit from the VM before the budget is exhausted we finish the gc cycle at that point; on the other hand, if the budget is exhausted before we exit then we just finish the gc cycle at that point. Other ideas are probably possible.
Here's one: detect the inverse situation: if we are exiting, and are almost done with a mark phase (I have no idea how this is tracked), then finish marking and finish the cycle.
No longer blocks: 576307
Blocks: 599815
Flags: flashplayer-bug-
Target Milestone: Q3 11 - Serrano → Q1 12 - Brannan
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.