Platform/Features/Incremental GC
Status
Incremental garbage collection | |
Stage | Landed |
Status | In progress |
Release target | Firefox 15 |
Health | OK |
Status note | K9O requirement to enable on Desktop and Mobile |
{{#set:Feature name=Incremental garbage collection
|Feature stage=Landed |Feature status=In progress |Feature version=Firefox 15 |Feature health=OK |Feature status note=K9O requirement to enable on Desktop and Mobile }}
Team
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 | ` |
{{#set:Feature product manager=Asa Dotzler
|Feature feature manager=David Mandelin |Feature lead engineer=` |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=Ioana Budnar |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}
Open issues/risks
Re-enable incremental GC on desktop platforms https://bugzilla.mozilla.org/show_bug.cgi?id=735099 Re-enable incremental GC on Android https://bugzilla.mozilla.org/show_bug.cgi?id=750959
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
`
Non-goals
`
Stage 2: Design
5. Functional specification
`
6. User experience design
`
Stage 3: Planning
7. Implementation plan
`
8. Reviews
Security review
`
Privacy review
`
Localization review
`
Accessibility
`
Quality Assurance review
`
Operations review
`
Stage 4: Development
9. Implementation
`
Stage 5: Release
10. Landing criteria
` {{#set:Feature open issues and risks=Re-enable incremental GC on desktop platforms https://bugzilla.mozilla.org/show_bug.cgi?id=735099 Re-enable incremental GC on Android https://bugzilla.mozilla.org/show_bug.cgi?id=750959 |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. |Feature users and 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. |Feature dependencies=` |Feature requirements=` |Feature non-goals=` |Feature functional spec=` |Feature ux design=` |Feature implementation plan=` |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature 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 |
{{#set:Feature priority=P1
|Feature rank=999 |Feature theme=` |Feature roadmap=Firefox Desktop |Feature secondary roadmap=Firefox Mobile |Feature list=Desktop |Feature project=Responsiveness |Feature 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 | ` | ` |
{{#set:Feature products status=`
|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=sec-review-unnecessary |Feature security health=OK |Feature security notes=` |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=Signed off on Aurora |Feature qa notes=Test Plan |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}