Nicholas Nethercote is on vacation, so this MemShrink report is a guest post written by Andrew McCreight.
MemShrink process, weeks 98-102
May has been a quiet month for MemShrink, as vacation season begins, but one very important fix landed, as well as the fix of a new leak.
Brian Hackett took advantage of the switch to the Baseline JIT compiler to delay the analysis of JS scripts until after they have been compiled by the Baseline compiler. This reduces memory usage for scripts that are only run a few times, which is fairly common. On desktop, this reduced startup resident memory by 14mb, which is about 10%. On Fennec, the reduction was 2mb. That 14mb reduction entirely eliminates the difference in memory between startup and 30 seconds later. This was a MemShrink P1.
Andrea Marchesini fixed a leak involving DOMError and IndexedDB found by Jesse Ruderman. Fuzzing (automatically generating and running test cases) is an important approach to finding leaks in newly landed code, from situations Firefox developers did not think to test.