< Performance | MemShrink
Triage didn't take that long, so we went over some of the ideas on the idea page. A flurry of bugs were filed. We got through B3.
Object heap census
Census of what kinds of objects are in the heap. What does "kind of object" even mean? With compartment per global, can tell which URL it came from. Filed bug 695492 for this. The goal is to improve user reports.
- njn: A big issue here is tracking memory usage of addons. Compartment-per-global should help. See bug 687724.
- Can we add automated analysis of zombie compartments in addons? Or even some kind of "big red button" testing that the author can do. What if you need to do something to trigger it? jlebar filed bug 695471 for asking addon authors to manually check for zombie compartments.
- Ehsan filed bug 695475 for creating a tool for bisecting addons.
- B3 Track memory to individual page/tab/compartment/principals: Compartment-per-global should help a lot here. Old bug on tracking CPU and memory usage: bug 400120.
Automatically fixing large-scale leaks
- bug 695480
- khuey: can we rearchitect platform somehow to prevent these mega leak cycles? Kyle has talked to bz about it.
- jst: tried it before, can't always sever links, because they can hold onto things for good reasons. jst: But maybe can detect things like chrome window holding onto a non-chrome window.
- khuey: There may be some cross-origin patterns that we could also detect.
- bug 650353. This will help us fix many problems. What is the status?
- Luke waiting on PSM off thread fixes (in bug 675221, looks like it is waiting on reviews), then he'll add an assertion to check if we're violating the rules, then let that bubble through to halfway through beta, to see if things are actually okay.
- We will have to wait until that process is really done before we can actually start tearing things out, because they are so hard to undo.
- Probably won't be able to build on this until Q1 of 2012.
- Will be a cost in terms of increased numbers of wrappers, but other benefits should outweigh that cost.