Platform/Features/Incremental GC/TestPlan

From MozillaWiki
Jump to: navigation, search

Incremental Garbage Collection

Feature Status Release Target Dev Lead QA Lead QA Status
Incremental GC Landed Firefox 16 Bill McCloskey Ioana Budnar Signed off on Aurora


  • Garbage collection time is divided into short increments. Overall, the same amount of time is spent doing garbage collection, but each individual pause is shorter.


Use Cases

  • Use Firefox with incremental garbage collection enabled:
    • Dynamic content on the web should have more tolerable pauses (possibly go from noticeable pauses to ones the user cannot notice).
    • Most GCs, if not all, should be incremental.
    • Incremental GC parameters should have acceptable values (slices with Marks <=20ms, Max Pauses <=16ms, or at least shorter than the total for Mark).
  • Disable incremental garbage collection.

Test Cases

  • The test cases for this feature can be viewed here.

Important Bugs

Full Query
ID Summary Priority Status
728686 JS_NewPropertyIterator disables IGC -- VERIFIED
728692 Javascript becomes slow after Incremental GC gets disabled -- RESOLVED
728976 Debug-only incremental GC crash [@ js::ReentrancyGuard::ReentrancyGuard] -- RESOLVED
729773 [IncrementalGC] "Assertion failure: IsMarkedOrAllocated(static_cast<Cell *>(thing))" with adoptNode, gczeal(4) -- RESOLVED
730853 If incremental GC or compartment GC runs all the time, CC never runs -- VERIFIED
734946 Disable incremental GC for Firefox 13 -- VERIFIED
735099 Re-enable incremental GC on desktop platforms -- RESOLVED
735944 about:support says "incremental gc: 1" when javascript.options.mem.gc_incremental is disabled -- VERIFIED
752098 Crashes on MemBench with incremental GC enabled -- RESOLVED
759522 OOM during mochitest-other -- RESOLVED
761739 incremental GCs are very rare -- RESOLVED
768688 Disable incremental GC for Firefox 15; re-enable compartment GCs -- RESOLVED

12 Total; 0 Open (0%); 8 Resolved (66.67%); 4 Verified (33.33%);

Not Tested

  • Cycle collector.

Sign off

  • All the test cases were executed.
  • All the major bugs have been fixed.
Sign offs
  • Firefox 13.0 Aurora - 2012-03-19
  • Firefox 15.0 Aurora - 2012-06-08
    • bugs 761739, 728692, 728976, 729773, 759522 still not fixed.
  • Firefox 16.0 Aurora - 2012-07-20
    • 30%-40% of the IGCs have long slices, but they all have acceptable Mark values (<20ms).
    • 10%-20% of the IGCs have Max Pause longer than the total for Mark.