Justin Lebar led the B2G charge this fortnight, doing the following.
- He added code to fire a low-memory notification when a B2G process is backgrounded, which will ensure that background processes use as little memory as possible.
- He reduced the amount of memory used to store screenshots.
- He added the ability to dump a GC and CC log upon receiving a particular signal.
- He reduced the amount of decompressed image data that is held onto on B2G. This is a trade-off that saves memory but maybe require images to be decoded again later, which can lead to images temporarily not showing or flickering.
Thinker Li identified that we were using overly large (128 KiB) arena chunks for type inference data in the JS engine. Reducing them to 32 KiB saved over 3 MiB of memory on B2G.
Fabrice Desré disabled the add-on manager services, saving about 1 MiB.
These changes have all been backported to Aurora, because that’s the current home of the code that will be used for the V1 release of B2G.
Jared Wein modified the social sidebar so that it unloads itself 10 seconds after it’s been hidden. This is good because lots of people thought that closing the sidebar was equivalent to disabling the social functionality, and with this change it now effectively is.
Gecko & SpiderMonkey
Benoit Jacob fixed a leak relating to WebGL and cycle collection. This fixed 10 seconds pauses that occurred after running the RO.ME demo, and also fixed leaks seen in the WebGL version of Nokia Maps.
Kyle Huey fixed a bug that was causing storage code to leak one thread per connection. This doesn’t affect most Firefox users much, because most connections live for the full lifetime of the process. However, it could affect some add-ons, and it helped avoid some frequent OOM oranges in some of our tests.
Here are the current bug counts.
- P1: 18 (-4/+3)
- P2: 113 (-2/+14)
- P3: 97 (-1/+7)
- Unprioritized: 2 (-13/+2)
Note: in all my previous MemShrink reports, I mentioned bug fixes as soon as they landed on mozilla-inbound. As of this week, I’m changing things so that I (mostly) only mention bug fixes that have landed on mozilla-central and thus been marked as RESOLVED. This will make my life easier (tracking RESOLVED bugs is easy with Bugzilla search), and it will also mean that the changes in bug counts better match the descriptions of bug fixes. But it means that some bug fixes will be reported two weeks later than they previously would.