Platform/Features/Incremental GC

From MozillaWiki
Jump to: navigation, search
Please use "Edit with form" above to edit this page.


Incremental garbage collection
Stage Landed
Status In progress
Release target Firefox 15
Health OK
Status note K9O requirement to enable on Desktop and Mobile


Product manager Asa Dotzler
Directly Responsible Individual David Mandelin
Lead engineer `
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead Ioana Budnar
UX lead `
Product marketing lead `
Operations lead `
Additional members `

Open issues/risks

Re-enable incremental GC on desktop platforms Re-enable incremental GC on Android

Stage 1: Definition

1. Feature overview

We would like to be able to divide GC time into short increments. Overall, we would still spend the same amount of time doing GC, but each individual pause would be shorter. Doing this for the sweep phase is mostly a matter of scheduling. For the mark phase, we need a write barrier and we need an explicit mark stack.

See bug 641025 for more detail.

2. Users & use cases

With shorter GC pause times, games and other dynamic content on the web will have more tolerable pauses, and in some cases will go from having pauses that users notice to not having pauses that users notice.

3. Dependencies


4. Requirements




Stage 2: Design

5. Functional specification


6. User experience design


Stage 3: Planning

7. Implementation plan


8. Reviews

Security review


Privacy review


Localization review




Quality Assurance review


Operations review


Stage 4: Development

9. Implementation


Stage 5: Release

10. Landing criteria


Feature details

Priority P1
Rank 999
Theme / Goal `
Roadmap Firefox Desktop
Secondary roadmap Firefox Mobile
Feature list Desktop
Project Responsiveness
Engineering team JavaScript

Team status notes

  status notes
Products ` `
Engineering ` `
Security sec-review-unnecessary `
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance Signed off on Aurora Test Plan
User experience ` `
Product marketing ` `
Operations ` `