This was a quieter week.
Andrew McCreight finished his static analysis to detect cycle collector leaks. See the details in the bug (and talk to Andrew) if you are interested in using this analysis.
I shrunk the size of js::HashTable by 4 bytes on 32-bit platforms and 8 bytes on 64-bit platforms. This saves a few 10s or 100s of KB on typical workloads.
Marco Bonardo decreased the default maximum page size of SQLite connections, which can reduce SQLite memory usage somewhat.
Olli Pettay avoided some wasted space in one of the cycle collector’s data structures. The cycle collector uses lots of memory but for a short time when it runs; this change will reduce the size of this memory spike.
Gian-Carlo Pascutto added a memory reporter for one of the data structures used by the url-classifier. This shows up in about:memory under “explicit/storage/prefixset” and is often over 1MB.
Justin Lebar improved the measurement of nsTArray’s memory usage, which will reduce the size of “heap-unclassified” in about:memory by a small amount.
Justin also wrote a good blog post about the challenges of addressing leaks in add-ons.
We only had seven new MemShrink bugs to triage in today’s meeting; I’m pretty sure that is the fewest we’ve ever had. Here are the current bug counts.
- P1: 29 (+1/-1)
- P2: 127 (-2/+3)
- P3: 58 (-3/+2)
- Unprioritized: 0 (-0/+0)
These counts are notable because the total number (214) is the same as last week! Maybe the number will start dropping soon.
One thing worth pointing out about the +/- numbers is that if a bug is opened and closed between my weekly reports, it does not get counted in the +/- numbers. In a way this is good, because it means that duplicate bugs and invalid bugs don’t affect the numbers. But it also fails to capture bugs that were reported and fixed quickly. (I usually describe such bugs in my posts, however.)