- bsmedberg, jasone
- dmandelin (for rewriting)
- (stuart, jorendorff)
There are two tracks.
Track 1 - Out of memory (OOM) handling - Underway. This is being managed in Bugzilla. See tracking bug 427099.
Track 2 - Garbage collection based on jemalloc - Design stage.
Overview and Motivations
- Simplify the Mozilla codebase and avoid untested error paths by assuming that most allocations do not fail.
- Design and test fallback mechanisms at OOM or close-to-OOM for freeing caches, closing tabs, etc. See Mozilla_2/Memory/OOM_API for the API design.
- Add garbage collection support to jemalloc to support XPCOMGC.
Risks and Assumptions
Risks are that we actually will hit OOM and abort, mainly on small devices.
Schedule and Milestones
Track 2 - No date estimate yet. Initial discussion of APIs needed for garbage collection is ongoing at GC_API. Note that this is not a blocker for XPCOMGC work, because MMgc works now; it's just likely that our memory usage and perf will be much better with a jemalloc backend.