It’s been a relatively quiet four weeks for MemShrink, with 17 bugs fixed. (Relatedly, in today’s MemShrink meeting we only had to triage 10 bugs, which is the lowest we’ve had for ages.) Among the fixed bugs were lots for B2G leaks and leak-like things, many of which are hard to explain, but are important for the phone’s stability.

Fabrice Desré made a couple of notable B2G non-leak fixes.

He rewrote the wifi workers as C++ code. This reduces the main process’ resident memory consumption by about 3.5 MiB, and its virtual memory consumption by about 6 MiB. That’s a big deal in the current B2G devices, which only have ~100 MiB of RAM available to B2G.

He ensured that wallpaper images and ringtones weren’t stored in the settings database via data: URIs(!) This is something we’d seen bloating memory profiles for quite some time.

On desktop, Firefox users who view about:memory may notice that it now sometimes mentions more than one process. This is due to the thumbnails child process, which generates the thumbnails seen on the new tab page, and which occasionally is spawned and runs briefly in the background. about:memory copes with this child process ok, but the mechanism it uses is sub-optimal, and I’m planning to rewrite it to be nicer and scale better in the presence of multiple child processes, because that’s a direction we’re heading in.

Finally, some sad news: Justin Lebar, whose name should be familiar to any regular reader of these MemShrink reports, has left Mozilla. Justin was a core MemShrink-er from the very beginning, and contributed greatly to the success of the project. Thanks, Justin, and best of luck in the future!