MemShrink progress, week 75–76

B2G continues to be a major focus of work relating to memory consumption.  Even the non-B2G-specific improvements made this fortnight were mostly identified and made to help B2G.

B2G-specific

Gabriele Svelto caused dirty freed pages held onto by jemalloc to be purged when a B2G process experiences memory pressure, such as when it goes into the background.  This typically reduces a process’ size by about 2 MiB, so it’s a big deal.  This was a MemShrink P1 bug.

Benoit Jacob prevented the creation of redundant OpenGL contexts on B2G.  This saves 750 KiB in the main B2G process, and 750 KiB in every child that uses WebGL.  Benoit was able to do this based on data from a B2G-specific heap profiler written by Justin Lebar.

I made a large IPC message buffer shrink once all messages from it have been processed.  This saves either 120 KiB or 248 KiB per child process.

James Lal greatly reduced memory consumption of the ical parser during sync.  This change also made it much faster.

Justin Lebar and I added a memory reporter for Freetype, which uses about 2 MiB of memory in the main B2G process.  (This reporter also works on Fennec.)

Andrea Marchesini added a memory reporter for B2G’s gralloc memory.

Miscellaneous

Bill McCloskey made the JavaScript engine clean up more data on memory pressure events.

I increased the size of the chunks used by XPT info’s arena allocator, which saves about 80 KiB per process on 32-bit, and a bit more on 64-bit.

Randell Jesup fixed a PeerConnection leak in WebRTC code.

I added more detail to the JavaScript type inference memory reporters.

Bug counts

Here are the current bug counts.

  • P1: 17 (-4/+1)
  • P2: 114 (-5/+9)
  • P3: 103 (-4/+5)
  • Unprioritized: 2 (-3/+1)

10 Responses to MemShrink progress, week 75–76

  1. Johnny Stenback

    Fantastic work here guys!

  2. After running for awhile my firefox (currently 18B1 but also seen in previous versions) vsize reports around 900MB in about:memory but the private working set is around 500MB (windows task manager) with all tabs closed. This amount never drops… what is missing in the memory reporting that accounts for all of this used memory that never gets freed?

    • Nicholas Nethercote

      vsize isn’t terribly useful, don’t pay too much attention to it.

      As for where the 500 MiB of memory is going… if you copy+paste the contents of about:memory into a comment I’ll have a chance of telling you something useful.

      • This is with all tabs but about:memory closed.

        187,698,039 B (100.0%) — explicit
        ├──110,117,288 B (58.67%) — js-non-window
        │ ├───62,891,126 B (33.51%) — compartments
        │ │ ├──53,932,720 B (28.73%) — non-window-global
        │ │ │ ├──17,130,134 B (09.13%) — compartment([System Principal], jar:file:///C:/Users/jkolb/AppData/Roaming/Mozilla/Firefox/Profiles/iylfyfe1.default/extensions/%7Bd10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d%7D.xpi!/bootstrap.js (from: resource://gre/modules/XPIProvider.jsm:3646))
        │ │ │ │ ├──10,133,504 B (05.40%) — gc-heap
        │ │ │ │ │ ├───3,832,784 B (02.04%) ── unused-gc-things
        │ │ │ │ │ ├───2,996,016 B (01.60%) — objects
        │ │ │ │ │ │ ├──2,915,008 B (01.55%) ── non-function
        │ │ │ │ │ │ └─────81,008 B (00.04%) ── function
        │ │ │ │ │ ├───1,733,960 B (00.92%) — shapes
        │ │ │ │ │ │ ├──1,602,360 B (00.85%) ── dict
        │ │ │ │ │ │ ├─────78,944 B (00.04%) ── base
        │ │ │ │ │ │ └─────52,656 B (00.03%) ── tree
        │ │ │ │ │ ├───1,468,832 B (00.78%) ── strings
        │ │ │ │ │ ├──────58,200 B (00.03%) ── scripts
        │ │ │ │ │ ├──────42,304 B (00.02%) ── arena-admin
        │ │ │ │ │ └───────1,408 B (00.00%) ── sundries
        │ │ │ │ ├───4,129,158 B (02.20%) — string-chars
        │ │ │ │ │ ├──4,112,774 B (02.19%) ── non-huge
        │ │ │ │ │ └─────16,384 B (00.01%) — huge
        │ │ │ │ │ ├───8,192 B (00.00%) ── string(length=2246, “THIRD-PARTY,DOMAIN=971TALK.COM|…”)
        │ │ │ │ │ └───8,192 B (00.00%) ── string(length=2265, “||doubleclick.net^$third-party,…”)
        │ │ │ │ ├───1,993,696 B (01.06%) — objects-extra
        │ │ │ │ │ ├──1,759,040 B (00.94%) ── slots
        │ │ │ │ │ └────234,656 B (00.13%) ── elements
        │ │ │ │ ├─────576,864 B (00.31%) — shapes-extra
        │ │ │ │ │ ├──501,440 B (00.27%) ── dict-tables
        │ │ │ │ │ ├───37,888 B (00.02%) ── compartment-tables
        │ │ │ │ │ ├───27,712 B (00.01%) ── tree-tables
        │ │ │ │ │ └────9,824 B (00.01%) ── tree-shape-kids
        │ │ │ │ ├─────188,864 B (00.10%) ── script-data
        │ │ │ │ ├──────98,304 B (00.05%) ── analysis-temporary
        │ │ │ │ └───────9,744 B (00.01%) ── other-sundries
        │ │ │ ├───9,851,278 B (05.25%) — compartment([System Principal], [anonymous sandbox] (from: resource://testpilot/modules/lib/securable-module.js:95))
        │ │ │ │ ├──6,254,592 B (03.33%) — gc-heap
        │ │ │ │ │ ├──4,605,744 B (02.45%) — objects
        │ │ │ │ │ │ ├──4,586,064 B (02.44%) ── non-function
        │ │ │ │ │ │ └─────19,680 B (00.01%) ── function [2]
        │ │ │ │ │ ├────740,728 B (00.39%) ── unused-gc-things [16]
        │ │ │ │ │ ├────660,576 B (00.35%) — shapes
        │ │ │ │ │ │ ├──651,120 B (00.35%) ── dict
        │ │ │ │ │ │ └────9,456 B (00.01%) ── tree
        │ │ │ │ │ ├────202,272 B (00.11%) ── sundries [16]
        │ │ │ │ │ ├─────23,312 B (00.01%) ── arena-admin
        │ │ │ │ │ └─────21,960 B (00.01%) ── scripts [2]
        │ │ │ │ ├──3,128,496 B (01.67%) — objects-extra
        │ │ │ │ │ ├──2,731,056 B (01.46%) ── elements
        │ │ │ │ │ └────397,440 B (00.21%) ── slots
        │ │ │ │ ├────197,120 B (00.11%) ── shapes-extra/dict-tables
        │ │ │ │ ├────178,384 B (00.10%) ── other-sundries [16]
        │ │ │ │ ├─────76,656 B (00.04%) ── script-data [4]
        │ │ │ │ └─────16,030 B (00.01%) ── string-chars/non-huge
        │ │ │ ├───7,302,316 B (03.89%) — compartment([System Principal], file:///C:/Users/jkolb/AppData/Roaming/Mozilla/Firefox/Profiles/iylfyfe1.default/extensions/firefox@ghostery.com/components/ghostery-content-policy.js)
        │ │ │ │ ├──3,600,384 B (01.92%) — gc-heap
        │ │ │ │ │ ├──1,561,296 B (00.83%) ── strings
        │ │ │ │ │ ├────951,760 B (00.51%) — objects
        │ │ │ │ │ │ ├──931,872 B (00.50%) ── non-function
        │ │ │ │ │ │ └───19,888 B (00.01%) ── function
        │ │ │ │ │ ├────945,016 B (00.50%) ── unused-gc-things
        │ │ │ │ │ ├────112,840 B (00.06%) — shapes
        │ │ │ │ │ │ ├───84,408 B (00.04%) ── dict
        │ │ │ │ │ │ ├───20,208 B (00.01%) ── tree
        │ │ │ │ │ │ └────8,224 B (00.00%) ── base
        │ │ │ │ │ ├─────15,904 B (00.01%) ── arena-admin
        │ │ │ │ │ ├─────12,960 B (00.01%) ── scripts
        │ │ │ │ │ └────────608 B (00.00%) ── sundries
        │ │ │ │ ├──2,325,396 B (01.24%) — string-chars
        │ │ │ │ │ ├──2,243,476 B (01.20%) ── non-huge
        │ │ │ │ │ └─────81,920 B (00.04%) ── huge/string(length=40535, “Blocked script: https:////ssl.goo…”)
        │ │ │ │ ├──1,233,712 B (00.66%) — objects-extra
        │ │ │ │ │ ├──1,194,944 B (00.64%) ── slots
        │ │ │ │ │ └─────38,768 B (00.02%) ── elements
        │ │ │ │ ├─────65,416 B (00.03%) ── script-data
        │ │ │ │ ├─────41,056 B (00.02%) — shapes-extra
        │ │ │ │ │ ├──22,080 B (00.01%) ── dict-tables
        │ │ │ │ │ ├──10,272 B (00.01%) ── tree-tables
        │ │ │ │ │ └───8,704 B (00.00%) ── compartment-tables
        │ │ │ │ ├─────32,768 B (00.02%) ── cross-compartment-wrappers
        │ │ │ │ └──────3,584 B (00.00%) ── other-sundries
        │ │ │ ├───1,140,840 B (00.61%) — compartment([System Principal], chrome://browser/content/browser.xul)
        │ │ │ │ ├────553,640 B (00.29%) ── script-data [3]
        │ │ │ │ ├────495,616 B (00.26%) — gc-heap
        │ │ │ │ │ ├──163,440 B (00.09%) ── scripts
        │ │ │ │ │ ├──133,624 B (00.07%) ── unused-gc-things [3]
        │ │ │ │ │ ├──110,576 B (00.06%) — objects
        │ │ │ │ │ │ ├───83,792 B (00.04%) ── function [3]
        │ │ │ │ │ │ └───26,784 B (00.01%) ── non-function
        │ │ │ │ │ ├───47,928 B (00.03%) ── shapes/tree [3]
        │ │ │ │ │ └───40,048 B (00.02%) ── sundries [3]
        │ │ │ │ ├─────32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ ├─────21,760 B (00.01%) ── objects-extra/slots [2]
        │ │ │ │ ├─────20,160 B (00.01%) ── other-sundries [3]
        │ │ │ │ └─────16,896 B (00.01%) ── shapes-extra/compartment-tables [2]
        │ │ │ ├─────783,760 B (00.42%) — compartment([System Principal], resource:///modules/sessionstore/SessionStore.jsm)
        │ │ │ │ ├──282,624 B (00.15%) — gc-heap
        │ │ │ │ │ ├──162,616 B (00.09%) ── unused-gc-things
        │ │ │ │ │ ├───54,000 B (00.03%) — objects
        │ │ │ │ │ │ ├──28,016 B (00.01%) ── non-function
        │ │ │ │ │ │ └──25,984 B (00.01%) ── function
        │ │ │ │ │ ├───23,880 B (00.01%) ── scripts
        │ │ │ │ │ ├───22,904 B (00.01%) ── sundries
        │ │ │ │ │ └───19,224 B (00.01%) ── shapes/tree
        │ │ │ │ ├──229,376 B (00.12%) ── analysis-temporary
        │ │ │ │ ├──108,848 B (00.06%) — string-chars
        │ │ │ │ │ ├───86,016 B (00.05%) — huge
        │ │ │ │ │ │ ├──77,824 B (00.04%) ── string(length=37980, “{“windows”:[{"tabs":[{"entries"...")
        │ │ │ │ │ │ └───8,192 B (00.00%) ── string(length=2535, "https:////www.facebook.com//ai.php...")
        │ │ │ │ │ └───22,832 B (00.01%) ── non-huge
        │ │ │ │ ├───95,536 B (00.05%) ── script-data
        │ │ │ │ ├───32,768 B (00.02%) ── cross-compartment-wrappers
        │ │ │ │ ├───13,248 B (00.01%) ── objects-extra/slots
        │ │ │ │ ├───12,656 B (00.01%) ── other-sundries
        │ │ │ │ └────8,704 B (00.00%) ── shapes-extra/compartment-tables
        │ │ │ ├─────516,832 B (00.28%) -- compartment([System Principal], resource://gre/modules/XPIProvider.jsm)
        │ │ │ │ ├──290,816 B (00.15%) — gc-heap
        │ │ │ │ │ ├──150,880 B (00.08%) ── unused-gc-things
        │ │ │ │ │ ├───52,592 B (00.03%) — objects
        │ │ │ │ │ │ ├──30,912 B (00.02%) ── function
        │ │ │ │ │ │ └──21,680 B (00.01%) ── non-function
        │ │ │ │ │ ├───46,800 B (00.02%) ── scripts
        │ │ │ │ │ ├───23,784 B (00.01%) ── shapes/tree
        │ │ │ │ │ └───16,760 B (00.01%) ── sundries
        │ │ │ │ ├──172,080 B (00.09%) ── script-data
        │ │ │ │ ├───21,680 B (00.01%) ── other-sundries
        │ │ │ │ ├───16,896 B (00.01%) ── shapes-extra/compartment-tables
        │ │ │ │ └───15,360 B (00.01%) ── objects-extra/slots
        │ │ │ ├─────396,952 B (00.21%) — compartment([System Principal], resource://gre/modules/XPCOMUtils.jsm)
        │ │ │ │ ├──290,816 B (00.15%) — gc-heap
        │ │ │ │ │ ├──160,976 B (00.09%) ── unused-gc-things
        │ │ │ │ │ ├──104,464 B (00.06%) — objects
        │ │ │ │ │ │ ├───82,160 B (00.04%) ── non-function
        │ │ │ │ │ │ └───22,304 B (00.01%) ── function
        │ │ │ │ │ └───25,376 B (00.01%) ── sundries
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ ├───28,672 B (00.02%) ── objects-extra/slots
        │ │ │ │ ├───16,384 B (00.01%) ── cross-compartment-wrappers
        │ │ │ │ ├───15,184 B (00.01%) ── string-chars/non-huge
        │ │ │ │ └───13,128 B (00.01%) ── other-sundries
        │ │ │ ├─────376,920 B (00.20%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsBlocklistService.js)
        │ │ │ │ ├──253,952 B (00.14%) — gc-heap
        │ │ │ │ │ ├──142,928 B (00.08%) ── unused-gc-things
        │ │ │ │ │ ├───70,240 B (00.04%) — objects
        │ │ │ │ │ │ ├──55,984 B (00.03%) ── non-function
        │ │ │ │ │ │ └──14,256 B (00.01%) ── function
        │ │ │ │ │ ├───17,168 B (00.01%) ── sundries
        │ │ │ │ │ ├───15,264 B (00.01%) ── shapes/tree
        │ │ │ │ │ └────8,352 B (00.00%) ── strings
        │ │ │ │ ├───74,784 B (00.04%) — shapes-extra
        │ │ │ │ │ ├──66,080 B (00.04%) ── tree-tables
        │ │ │ │ │ └───8,704 B (00.00%) ── compartment-tables
        │ │ │ │ ├───22,536 B (00.01%) ── script-data
        │ │ │ │ ├───17,024 B (00.01%) ── objects-extra/slots
        │ │ │ │ └────8,624 B (00.00%) ── other-sundries
        │ │ │ ├─────321,680 B (00.17%) — compartment([System Principal], resource://gre/modules/AddonRepository.jsm)
        │ │ │ │ ├──217,088 B (00.12%) — gc-heap
        │ │ │ │ │ ├──140,464 B (00.07%) ── unused-gc-things
        │ │ │ │ │ ├───28,784 B (00.02%) — objects
        │ │ │ │ │ │ ├──18,704 B (00.01%) ── function
        │ │ │ │ │ │ └──10,080 B (00.01%) ── non-function
        │ │ │ │ │ ├───20,040 B (00.01%) ── shapes/tree
        │ │ │ │ │ ├───15,240 B (00.01%) ── scripts
        │ │ │ │ │ └───12,560 B (00.01%) ── sundries
        │ │ │ │ ├───39,968 B (00.02%) ── script-data
        │ │ │ │ ├───25,824 B (00.01%) — string-chars
        │ │ │ │ │ ├──17,632 B (00.01%) ── non-huge
        │ │ │ │ │ └───8,192 B (00.00%) ── huge/string(length=2629, “Microsoft Public License (Ms-PL…”)
        │ │ │ │ ├───11,408 B (00.01%) ── other-sundries
        │ │ │ │ ├───10,496 B (00.01%) ── objects-extra/slots
        │ │ │ │ ├────8,704 B (00.00%) ── shapes-extra/compartment-tables
        │ │ │ │ └────8,192 B (00.00%) ── cross-compartment-wrappers
        │ │ │ ├─────283,272 B (00.15%) — compartment([System Principal], resource://gre/modules/PlacesUtils.jsm)
        │ │ │ │ ├──159,744 B (00.09%) — gc-heap
        │ │ │ │ │ ├───71,336 B (00.04%) ── unused-gc-things
        │ │ │ │ │ ├───34,640 B (00.02%) — objects
        │ │ │ │ │ │ ├──25,184 B (00.01%) ── function
        │ │ │ │ │ │ └───9,456 B (00.01%) ── non-function
        │ │ │ │ │ ├───27,720 B (00.01%) ── scripts
        │ │ │ │ │ ├───13,584 B (00.01%) ── shapes/tree
        │ │ │ │ │ └───12,464 B (00.01%) ── sundries
        │ │ │ │ ├───61,688 B (00.03%) ── script-data
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ ├───10,496 B (00.01%) ── objects-extra/slots
        │ │ │ │ ├────9,872 B (00.01%) ── other-sundries
        │ │ │ │ └────8,704 B (00.00%) ── shapes-extra/compartment-tables
        │ │ │ ├─────259,592 B (00.14%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsSearchService.js)
        │ │ │ │ ├──147,456 B (00.08%) — gc-heap
        │ │ │ │ │ ├───61,240 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├───35,328 B (00.02%) — objects
        │ │ │ │ │ │ ├──19,584 B (00.01%) ── function
        │ │ │ │ │ │ └──15,744 B (00.01%) ── non-function
        │ │ │ │ │ ├───22,680 B (00.01%) ── scripts
        │ │ │ │ │ ├───14,312 B (00.01%) ── sundries
        │ │ │ │ │ └───13,896 B (00.01%) ── shapes/tree
        │ │ │ │ ├───78,680 B (00.04%) ── script-data
        │ │ │ │ ├───21,616 B (00.01%) ── other-sundries
        │ │ │ │ └───11,840 B (00.01%) ── objects-extra/slots
        │ │ │ ├─────254,728 B (00.14%) — compartment([System Principal], chrome://ghostery/content/ghostery.xul)
        │ │ │ │ ├──165,448 B (00.09%) ── script-data
        │ │ │ │ ├───81,920 B (00.04%) — gc-heap
        │ │ │ │ │ ├──31,680 B (00.02%) ── scripts
        │ │ │ │ │ ├──29,904 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──10,704 B (00.01%) ── sundries
        │ │ │ │ │ └───9,632 B (00.01%) ── objects/function
        │ │ │ │ └────7,360 B (00.00%) ── other-sundries
        │ │ │ ├─────227,894 B (00.12%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsPlacesAutoComplete.js)
        │ │ │ │ ├──143,360 B (00.08%) — gc-heap
        │ │ │ │ │ ├───96,296 B (00.05%) ── unused-gc-things
        │ │ │ │ │ ├───22,112 B (00.01%) ── sundries
        │ │ │ │ │ ├───13,648 B (00.01%) ── objects/function
        │ │ │ │ │ └───11,304 B (00.01%) ── shapes/tree
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ ├───24,072 B (00.01%) ── script-data
        │ │ │ │ ├───18,478 B (00.01%) ── other-sundries
        │ │ │ │ └────9,216 B (00.00%) ── shapes-extra/compartment-tables
        │ │ │ ├─────225,992 B (00.12%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsUpdateService.js)
        │ │ │ │ ├──135,168 B (00.07%) — gc-heap
        │ │ │ │ │ ├───69,552 B (00.04%) ── unused-gc-things
        │ │ │ │ │ ├───18,760 B (00.01%) ── sundries
        │ │ │ │ │ ├───17,408 B (00.01%) ── objects/function
        │ │ │ │ │ ├───17,160 B (00.01%) ── scripts
        │ │ │ │ │ └───12,288 B (00.01%) ── shapes/tree
        │ │ │ │ ├───65,848 B (00.04%) ── script-data
        │ │ │ │ ├───16,016 B (00.01%) ── other-sundries
        │ │ │ │ └────8,960 B (00.00%) ── objects-extra/slots
        │ │ │ ├─────214,652 B (00.11%) — compartment([System Principal], resource://gre/modules/AddonManager.jsm)
        │ │ │ │ ├──131,072 B (00.07%) — gc-heap
        │ │ │ │ │ ├───59,792 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├───26,448 B (00.01%) — objects
        │ │ │ │ │ │ ├──16,672 B (00.01%) ── function
        │ │ │ │ │ │ └───9,776 B (00.01%) ── non-function
        │ │ │ │ │ ├───20,640 B (00.01%) ── scripts
        │ │ │ │ │ ├───12,888 B (00.01%) ── shapes/tree
        │ │ │ │ │ └───11,304 B (00.01%) ── sundries
        │ │ │ │ ├───40,200 B (00.02%) ── script-data
        │ │ │ │ ├───18,180 B (00.01%) ── string-chars/non-huge
        │ │ │ │ ├───16,240 B (00.01%) ── other-sundries
        │ │ │ │ └────8,960 B (00.00%) ── objects-extra/slots
        │ │ │ ├─────204,224 B (00.11%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsContentPrefService.js)
        │ │ │ │ ├───90,112 B (00.05%) — gc-heap
        │ │ │ │ │ ├──45,504 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──13,312 B (00.01%) ── sundries
        │ │ │ │ │ ├──11,280 B (00.01%) ── scripts
        │ │ │ │ │ ├──10,512 B (00.01%) ── objects/function
        │ │ │ │ │ └───9,504 B (00.01%) ── shapes/tree
        │ │ │ │ ├───65,536 B (00.03%) ── analysis-temporary
        │ │ │ │ ├───25,056 B (00.01%) ── script-data
        │ │ │ │ └───23,520 B (00.01%) ── other-sundries
        │ │ │ ├─────203,384 B (00.11%) — compartment([System Principal], resource://testpilot/modules/tasks.js)
        │ │ │ │ ├───98,304 B (00.05%) — gc-heap
        │ │ │ │ │ ├──51,608 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├──13,288 B (00.01%) ── sundries
        │ │ │ │ │ ├──12,960 B (00.01%) ── scripts
        │ │ │ │ │ ├──12,000 B (00.01%) ── objects/function
        │ │ │ │ │ └───8,448 B (00.00%) ── shapes/tree
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ ├───24,648 B (00.01%) ── script-data
        │ │ │ │ ├───16,384 B (00.01%) ── cross-compartment-wrappers
        │ │ │ │ ├───16,096 B (00.01%) ── other-sundries
        │ │ │ │ └───15,184 B (00.01%) ── string-chars/non-huge
        │ │ │ ├─────183,272 B (00.10%) — compartment([System Principal], resource:///modules/WindowsPreviewPerTab.jsm)
        │ │ │ │ ├──110,592 B (00.06%) — gc-heap
        │ │ │ │ │ ├───67,312 B (00.04%) ── unused-gc-things
        │ │ │ │ │ ├───24,104 B (00.01%) ── sundries
        │ │ │ │ │ ├───10,128 B (00.01%) ── objects/function
        │ │ │ │ │ └────9,048 B (00.00%) ── shapes/tree
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ ├───17,984 B (00.01%) ── other-sundries
        │ │ │ │ ├───13,512 B (00.01%) ── script-data
        │ │ │ │ └────8,416 B (00.00%) ── jaeger-data
        │ │ │ ├─────162,280 B (00.09%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsBrowserGlue.js)
        │ │ │ │ ├───94,208 B (00.05%) — gc-heap
        │ │ │ │ │ ├──49,848 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├──13,104 B (00.01%) ── sundries
        │ │ │ │ │ ├──10,800 B (00.01%) ── scripts
        │ │ │ │ │ ├──10,736 B (00.01%) ── objects/function
        │ │ │ │ │ └───9,720 B (00.01%) ── shapes/tree
        │ │ │ │ ├───50,344 B (00.03%) ── script-data
        │ │ │ │ └───17,728 B (00.01%) ── other-sundries
        │ │ │ ├─────161,904 B (00.09%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/fuelApplication.js)
        │ │ │ │ ├──118,784 B (00.06%) — gc-heap
        │ │ │ │ │ ├───50,944 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├───26,520 B (00.01%) ── scripts
        │ │ │ │ │ ├───17,856 B (00.01%) ── objects/function
        │ │ │ │ │ ├───13,312 B (00.01%) ── sundries
        │ │ │ │ │ └───10,152 B (00.01%) ── shapes/tree
        │ │ │ │ ├───22,368 B (00.01%) ── script-data
        │ │ │ │ └───20,752 B (00.01%) ── other-sundries
        │ │ │ ├─────157,944 B (00.08%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/ConsoleAPI.js)
        │ │ │ │ ├───98,304 B (00.05%) — gc-heap
        │ │ │ │ │ ├──65,344 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├──13,104 B (00.01%) ── sundries
        │ │ │ │ │ ├──11,024 B (00.01%) ── objects/function
        │ │ │ │ │ └───8,832 B (00.00%) ── shapes/tree
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ └───26,872 B (00.01%) ── other-sundries
        │ │ │ ├─────156,464 B (00.08%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsLoginManager.js)
        │ │ │ │ ├───81,920 B (00.04%) — gc-heap
        │ │ │ │ │ ├──48,280 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├──23,080 B (00.01%) ── sundries
        │ │ │ │ │ └──10,560 B (00.01%) ── objects/function
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ ├───26,176 B (00.01%) ── script-data
        │ │ │ │ └───15,600 B (00.01%) ── other-sundries
        │ │ │ ├─────156,000 B (00.08%) — compartment([System Principal], chrome://browser/content/places/placesOverlay.xul)
        │ │ │ │ ├───82,048 B (00.04%) ── script-data
        │ │ │ │ ├───65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──28,776 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──20,280 B (00.01%) ── scripts
        │ │ │ │ │ └──16,480 B (00.01%) ── sundries
        │ │ │ │ └────8,416 B (00.00%) ── other-sundries
        │ │ │ ├─────153,112 B (00.08%) — compartment([System Principal], resource://testpilot/modules/setup.js)
        │ │ │ │ ├───77,824 B (00.04%) — gc-heap
        │ │ │ │ │ ├──45,896 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──31,928 B (00.02%) ── sundries
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ ├───22,704 B (00.01%) ── other-sundries
        │ │ │ │ └───19,816 B (00.01%) ── script-data
        │ │ │ ├─────148,776 B (00.08%) — compartment([System Principal], resource://testpilot/modules/lib/securable-module.js)
        │ │ │ │ ├──118,784 B (00.06%) — gc-heap
        │ │ │ │ │ ├───85,224 B (00.05%) ── unused-gc-things
        │ │ │ │ │ ├───17,664 B (00.01%) — objects
        │ │ │ │ │ │ ├───9,104 B (00.00%) ── function
        │ │ │ │ │ │ └───8,560 B (00.00%) ── non-function
        │ │ │ │ │ └───15,896 B (00.01%) ── sundries
        │ │ │ │ └───29,992 B (00.02%) ── other-sundries
        │ │ │ ├─────148,440 B (00.08%) — compartment([System Principal], resource:///modules/PlacesUIUtils.jsm)
        │ │ │ │ ├───77,824 B (00.04%) — gc-heap
        │ │ │ │ │ ├──39,088 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──17,736 B (00.01%) ── sundries
        │ │ │ │ │ ├──10,800 B (00.01%) ── objects/function
        │ │ │ │ │ └──10,200 B (00.01%) ── scripts
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ ├───22,360 B (00.01%) ── script-data
        │ │ │ │ └───15,488 B (00.01%) ── other-sundries
        │ │ │ ├─────145,848 B (00.08%) — compartment([System Principal], chrome://browser/content/tabbrowser.xml)
        │ │ │ │ ├───71,832 B (00.04%) ── script-data
        │ │ │ │ ├───65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──27,144 B (00.01%) ── unused-gc-things
        │ │ │ │ │ ├──22,920 B (00.01%) ── scripts
        │ │ │ │ │ └──15,472 B (00.01%) ── sundries
        │ │ │ │ └────8,480 B (00.00%) ── other-sundries
        │ │ │ ├─────145,464 B (00.08%) — compartment([System Principal], resource://gre/modules/Webapps.jsm)
        │ │ │ │ ├───86,016 B (00.05%) — gc-heap
        │ │ │ │ │ ├──44,000 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──16,720 B (00.01%) ── sundries
        │ │ │ │ │ ├──15,120 B (00.01%) ── scripts
        │ │ │ │ │ └──10,176 B (00.01%) ── objects/function
        │ │ │ │ ├───44,824 B (00.02%) ── script-data
        │ │ │ │ └───14,624 B (00.01%) ── other-sundries
        │ │ │ ├─────139,576 B (00.07%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsUrlClassifierLib.js)
        │ │ │ │ ├──102,400 B (00.05%) — gc-heap
        │ │ │ │ │ ├───53,760 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├───14,784 B (00.01%) ── objects/function
        │ │ │ │ │ ├───11,856 B (00.01%) ── shapes/tree
        │ │ │ │ │ ├───11,800 B (00.01%) ── sundries
        │ │ │ │ │ └───10,200 B (00.01%) ── scripts
        │ │ │ │ ├───16,024 B (00.01%) ── script-data
        │ │ │ │ ├───12,512 B (00.01%) ── other-sundries
        │ │ │ │ └────8,640 B (00.00%) ── objects-extra/slots
        │ │ │ ├─────137,400 B (00.07%) — compartment([System Principal], chrome://pencil/content/firefoxOverlay.xul)
        │ │ │ │ ├───65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──25,960 B (00.01%) ── unused-gc-things
        │ │ │ │ │ ├──24,360 B (00.01%) ── scripts
        │ │ │ │ │ └──15,216 B (00.01%) ── sundries
        │ │ │ │ ├───64,600 B (00.03%) ── script-data
        │ │ │ │ └────7,264 B (00.00%) ── other-sundries
        │ │ │ ├─────134,504 B (00.07%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsLivemarkService.js)
        │ │ │ │ ├───94,208 B (00.05%) — gc-heap
        │ │ │ │ │ ├──52,776 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├──12,720 B (00.01%) ── scripts
        │ │ │ │ │ ├──10,440 B (00.01%) ── sundries
        │ │ │ │ │ ├──10,064 B (00.01%) ── objects/function
        │ │ │ │ │ └───8,208 B (00.00%) ── shapes/tree
        │ │ │ │ ├───24,904 B (00.01%) ── script-data
        │ │ │ │ └───15,392 B (00.01%) ── other-sundries
        │ │ │ ├─────133,832 B (00.07%) — compartment([System Principal], resource:///modules/sessionstore/DocumentUtils.jsm)
        │ │ │ │ ├───81,920 B (00.04%) — gc-heap
        │ │ │ │ │ ├──65,960 B (00.04%) ── unused-gc-things
        │ │ │ │ │ └──15,960 B (00.01%) ── sundries
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ └───19,144 B (00.01%) ── other-sundries
        │ │ │ ├─────133,704 B (00.07%) — compartment([System Principal], resource://gre/modules/AddonUpdateChecker.jsm)
        │ │ │ │ ├───98,304 B (00.05%) — gc-heap
        │ │ │ │ │ ├──65,176 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├──13,728 B (00.01%) ── sundries
        │ │ │ │ │ ├──10,016 B (00.01%) ── objects/function
        │ │ │ │ │ └───9,384 B (00.00%) ── shapes/tree
        │ │ │ │ ├───19,536 B (00.01%) ── other-sundries
        │ │ │ │ └───15,864 B (00.01%) ── script-data
        │ │ │ ├─────131,478 B (00.07%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsSessionStartup.js)
        │ │ │ │ ├───77,824 B (00.04%) — gc-heap
        │ │ │ │ │ ├──45,000 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──24,040 B (00.01%) ── sundries
        │ │ │ │ │ └───8,784 B (00.00%) ── shapes/tree
        │ │ │ │ ├───26,694 B (00.01%) — string-chars
        │ │ │ │ │ ├──18,502 B (00.01%) ── non-huge
        │ │ │ │ │ └───8,192 B (00.00%) ── huge/string(length=2535, “https:////www.facebook.com//ai.php…”)
        │ │ │ │ ├───15,632 B (00.01%) ── other-sundries
        │ │ │ │ └───11,328 B (00.01%) ── objects-extra/slots
        │ │ │ ├─────130,944 B (00.07%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsFormAutoComplete.js)
        │ │ │ │ ├──102,400 B (00.05%) — gc-heap
        │ │ │ │ │ ├───66,664 B (00.04%) ── unused-gc-things
        │ │ │ │ │ ├───14,016 B (00.01%) ── sundries
        │ │ │ │ │ ├───10,872 B (00.01%) ── shapes/tree
        │ │ │ │ │ └───10,848 B (00.01%) ── objects/function
        │ │ │ │ ├───20,248 B (00.01%) ── other-sundries
        │ │ │ │ └────8,296 B (00.00%) ── script-data
        │ │ │ ├─────130,824 B (00.07%) — compartment([System Principal], resource://gre/modules/PopupNotifications.jsm)
        │ │ │ │ ├───73,728 B (00.04%) — gc-heap
        │ │ │ │ │ ├──46,464 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──19,072 B (00.01%) ── sundries
        │ │ │ │ │ └───8,192 B (00.00%) ── objects/function
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ ├───13,984 B (00.01%) ── other-sundries
        │ │ │ │ └───10,344 B (00.01%) ── script-data
        │ │ │ ├─────127,992 B (00.07%) — compartment([System Principal], resource://testpilot/modules/log4moz.js)
        │ │ │ │ ├───98,304 B (00.05%) — gc-heap
        │ │ │ │ │ ├──54,384 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├──21,200 B (00.01%) ── sundries
        │ │ │ │ │ ├──12,976 B (00.01%) ── objects/function
        │ │ │ │ │ └───9,744 B (00.01%) ── shapes/tree
        │ │ │ │ ├───20,512 B (00.01%) ── other-sundries
        │ │ │ │ └────9,176 B (00.00%) ── script-data
        │ │ │ ├─────126,448 B (00.07%) — compartment([System Principal], resource:///modules/PageThumbs.jsm)
        │ │ │ │ ├───98,304 B (00.05%) — gc-heap
        │ │ │ │ │ ├──56,568 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├──16,920 B (00.01%) ── sundries
        │ │ │ │ │ ├──13,728 B (00.01%) ── objects/function
        │ │ │ │ │ └──11,088 B (00.01%) ── shapes/tree
        │ │ │ │ └───28,144 B (00.01%) ── other-sundries
        │ │ │ ├─────121,576 B (00.06%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsLoginManagerPrompter.js)
        │ │ │ │ ├───81,920 B (00.04%) — gc-heap
        │ │ │ │ │ ├──46,832 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──14,472 B (00.01%) ── sundries
        │ │ │ │ │ ├──11,568 B (00.01%) ── objects/function
        │ │ │ │ │ └───9,048 B (00.00%) ── shapes/tree
        │ │ │ │ ├───25,432 B (00.01%) ── script-data
        │ │ │ │ └───14,224 B (00.01%) ── other-sundries
        │ │ │ ├─────117,024 B (00.06%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsSearchSuggestions.js)
        │ │ │ │ ├───94,208 B (00.05%) — gc-heap
        │ │ │ │ │ ├──60,192 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├──12,320 B (00.01%) ── sundries
        │ │ │ │ │ ├──12,000 B (00.01%) ── objects/function
        │ │ │ │ │ └───9,696 B (00.01%) ── shapes/tree
        │ │ │ │ └───22,816 B (00.01%) ── other-sundries
        │ │ │ ├─────116,408 B (00.06%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsHandlerService.js)
        │ │ │ │ ├───77,824 B (00.04%) — gc-heap
        │ │ │ │ │ ├──41,640 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──16,136 B (00.01%) ── sundries
        │ │ │ │ │ ├──11,456 B (00.01%) ── objects/function
        │ │ │ │ │ └───8,592 B (00.00%) ── shapes/tree
        │ │ │ │ ├───21,320 B (00.01%) ── script-data
        │ │ │ │ └───17,264 B (00.01%) ── other-sundries
        │ │ │ ├─────115,448 B (00.06%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/storage-mozStorage.js)
        │ │ │ │ ├───69,632 B (00.04%) — gc-heap
        │ │ │ │ │ ├──37,080 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──32,552 B (00.02%) ── sundries
        │ │ │ │ ├───31,048 B (00.02%) ── script-data
        │ │ │ │ └───14,768 B (00.01%) ── other-sundries
        │ │ │ ├─────115,192 B (00.06%) — compartment([System Principal], resource://gre/modules/WindowsJumpLists.jsm)
        │ │ │ │ ├───90,112 B (00.05%) — gc-heap
        │ │ │ │ │ ├──63,568 B (00.03%) ── unused-gc-things
        │ │ │ │ │ └──26,544 B (00.01%) ── sundries
        │ │ │ │ ├───16,000 B (00.01%) ── other-sundries
        │ │ │ │ └────9,080 B (00.00%) ── script-data
        │ │ │ ├─────112,616 B (00.06%) — compartment([System Principal], resource:///modules/DownloadsCommon.jsm)
        │ │ │ │ ├───81,920 B (00.04%) — gc-heap
        │ │ │ │ │ ├──46,800 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──17,952 B (00.01%) ── sundries
        │ │ │ │ │ ├───8,768 B (00.00%) ── objects/function
        │ │ │ │ │ └───8,400 B (00.00%) ── scripts
        │ │ │ │ ├───16,192 B (00.01%) ── other-sundries
        │ │ │ │ └───14,504 B (00.01%) ── script-data
        │ │ │ ├─────112,344 B (00.06%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsFormHistory.js)
        │ │ │ │ ├───77,824 B (00.04%) — gc-heap
        │ │ │ │ │ ├──39,800 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──16,848 B (00.01%) ── sundries
        │ │ │ │ │ ├──12,080 B (00.01%) ── objects/function
        │ │ │ │ │ └───9,096 B (00.00%) ── shapes/tree
        │ │ │ │ ├───18,056 B (00.01%) ── script-data
        │ │ │ │ └───16,464 B (00.01%) ── other-sundries
        │ │ │ ├─────112,336 B (00.06%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/TelemetryPing.js)
        │ │ │ │ ├───73,728 B (00.04%) — gc-heap
        │ │ │ │ │ ├──39,216 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──15,928 B (00.01%) ── sundries
        │ │ │ │ │ ├───9,872 B (00.01%) ── objects/function
        │ │ │ │ │ └───8,712 B (00.00%) ── shapes/tree
        │ │ │ │ ├───22,736 B (00.01%) ── script-data
        │ │ │ │ └───15,872 B (00.01%) ── other-sundries
        │ │ │ ├─────111,976 B (00.06%) — compartment([System Principal], resource://gre/modules/LightweightThemeManager.jsm)
        │ │ │ │ ├───81,920 B (00.04%) — gc-heap
        │ │ │ │ │ ├──45,992 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──16,312 B (00.01%) ── sundries
        │ │ │ │ │ ├──10,736 B (00.01%) ── objects/function
        │ │ │ │ │ └───8,880 B (00.00%) ── scripts
        │ │ │ │ ├───16,840 B (00.01%) ── script-data
        │ │ │ │ └───13,216 B (00.01%) ── other-sundries
        │ │ │ ├─────111,208 B (00.06%) — compartment([System Principal], resource://gre/modules/SocialService.jsm)
        │ │ │ │ ├───61,440 B (00.03%) — gc-heap
        │ │ │ │ │ ├──41,592 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──19,848 B (00.01%) ── sundries
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ └───17,000 B (00.01%) ── other-sundries
        │ │ │ ├─────109,992 B (00.06%) — compartment([System Principal], resource:///modules/sessionstore/SessionStorage.jsm)
        │ │ │ │ ├───65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──49,968 B (00.03%) ── unused-gc-things
        │ │ │ │ │ └──15,568 B (00.01%) ── sundries
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ └───11,688 B (00.01%) ── other-sundries
        │ │ │ ├─────109,760 B (00.06%) — compartment([System Principal], resource://gre/modules/PluginProvider.jsm)
        │ │ │ │ ├───86,016 B (00.05%) — gc-heap
        │ │ │ │ │ ├──51,304 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├──15,736 B (00.01%) ── sundries
        │ │ │ │ │ ├──10,528 B (00.01%) ── objects/function
        │ │ │ │ │ └───8,448 B (00.00%) ── shapes/tree
        │ │ │ │ └───23,744 B (00.01%) ── other-sundries
        │ │ │ ├─────109,280 B (00.06%) — compartment([System Principal], chrome://useragentswitcher/content/useragentswitcher.xul)
        │ │ │ │ ├───57,344 B (00.03%) — gc-heap
        │ │ │ │ │ ├──32,952 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──13,920 B (00.01%) ── scripts
        │ │ │ │ │ └──10,472 B (00.01%) ── sundries
        │ │ │ │ ├───44,832 B (00.02%) ── script-data
        │ │ │ │ └────7,104 B (00.00%) ── other-sundries
        │ │ │ ├─────106,600 B (00.06%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsUrlClassifierHashCompleter.js)
        │ │ │ │ ├───81,920 B (00.04%) — gc-heap
        │ │ │ │ │ ├──48,224 B (00.03%) ── unused-gc-things
        │ │ │ │ │ ├──13,080 B (00.01%) ── sundries
        │ │ │ │ │ ├──11,184 B (00.01%) ── objects/function
        │ │ │ │ │ └───9,432 B (00.01%) ── shapes/tree
        │ │ │ │ ├───16,048 B (00.01%) ── other-sundries
        │ │ │ │ └────8,632 B (00.00%) ── script-data
        │ │ │ ├─────106,408 B (00.06%) — compartment([System Principal], resource://gre/modules/ConsoleAPIStorage.jsm)
        │ │ │ │ ├───61,440 B (00.03%) — gc-heap
        │ │ │ │ │ ├──46,624 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──14,816 B (00.01%) ── sundries
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ └───12,200 B (00.01%) ── other-sundries
        │ │ │ ├─────104,216 B (00.06%) — compartment([System Principal], resource:///modules/sessionstore/XPathGenerator.jsm)
        │ │ │ │ ├───57,344 B (00.03%) — gc-heap
        │ │ │ │ │ ├──44,328 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──13,016 B (00.01%) ── sundries
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ └───14,104 B (00.01%) ── other-sundries
        │ │ │ ├─────102,984 B (00.05%) — compartment([System Principal], resource://services-sync/util.js)
        │ │ │ │ ├───77,824 B (00.04%) — gc-heap
        │ │ │ │ │ ├──43,448 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──34,376 B (00.02%) ── sundries
        │ │ │ │ └───25,160 B (00.01%) ── other-sundries
        │ │ │ ├─────102,872 B (00.05%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsPlacesExpiration.js)
        │ │ │ │ ├───73,728 B (00.04%) — gc-heap
        │ │ │ │ │ ├──41,704 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──14,792 B (00.01%) ── sundries
        │ │ │ │ │ ├───8,832 B (00.00%) ── shapes/tree
        │ │ │ │ │ └───8,400 B (00.00%) ── objects/function
        │ │ │ │ ├───17,792 B (00.01%) ── other-sundries
        │ │ │ │ └───11,352 B (00.01%) ── script-data
        │ │ │ ├─────101,912 B (00.05%) — compartment([System Principal], resource://gre/modules/TelemetryStopwatch.jsm)
        │ │ │ │ ├───57,344 B (00.03%) — gc-heap
        │ │ │ │ │ ├──40,248 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──17,096 B (00.01%) ── sundries
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ └───11,800 B (00.01%) ── other-sundries
        │ │ │ ├─────101,488 B (00.05%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/WebContentConverter.js)
        │ │ │ │ ├───73,728 B (00.04%) — gc-heap
        │ │ │ │ │ ├──46,184 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──27,544 B (00.01%) ── sundries
        │ │ │ │ ├───14,480 B (00.01%) ── script-data
        │ │ │ │ └───13,280 B (00.01%) ── other-sundries
        │ │ │ ├─────100,776 B (00.05%) — compartment([System Principal], resource://gre/modules/NetUtil.jsm)
        │ │ │ │ ├───53,248 B (00.03%) — gc-heap
        │ │ │ │ │ ├──36,872 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──16,376 B (00.01%) ── sundries
        │ │ │ │ ├───32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ └───14,760 B (00.01%) ── other-sundries
        │ │ │ ├──────97,752 B (00.05%) — compartment([System Principal], resource://testpilot/modules/feedback.js)
        │ │ │ │ ├──53,248 B (00.03%) — gc-heap
        │ │ │ │ │ ├──39,032 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──14,216 B (00.01%) ── sundries
        │ │ │ │ ├──32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ └──11,736 B (00.01%) ── other-sundries
        │ │ │ ├──────96,648 B (00.05%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsBrowserContentHandler.js)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──38,936 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──18,280 B (00.01%) ── sundries
        │ │ │ │ │ └───8,320 B (00.00%) ── objects/function
        │ │ │ │ ├──18,040 B (00.01%) ── script-data
        │ │ │ │ └──13,072 B (00.01%) ── other-sundries
        │ │ │ ├──────96,568 B (00.05%) — compartment([System Principal], resource:///modules/devtools/scratchpad-manager.jsm)
        │ │ │ │ ├──53,248 B (00.03%) — gc-heap
        │ │ │ │ │ ├──40,728 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──12,520 B (00.01%) ── sundries
        │ │ │ │ ├──32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ └──10,552 B (00.01%) ── other-sundries
        │ │ │ ├──────94,616 B (00.05%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsUpdateTimerManager.js)
        │ │ │ │ ├──73,728 B (00.04%) — gc-heap
        │ │ │ │ │ ├──44,360 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──10,368 B (00.01%) ── objects/function
        │ │ │ │ │ ├───9,600 B (00.01%) ── shapes/tree
        │ │ │ │ │ └───9,400 B (00.01%) ── sundries
        │ │ │ │ └──20,888 B (00.01%) ── other-sundries
        │ │ │ ├──────94,104 B (00.05%) — compartment([System Principal], chrome://browser/content/urlbarBindings.xml)
        │ │ │ │ ├──57,344 B (00.03%) — gc-heap
        │ │ │ │ │ ├──35,056 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──12,808 B (00.01%) ── sundries
        │ │ │ │ │ └───9,480 B (00.01%) ── scripts
        │ │ │ │ ├──27,928 B (00.01%) ── script-data
        │ │ │ │ └───8,832 B (00.00%) ── other-sundries
        │ │ │ ├──────93,720 B (00.05%) — compartment([System Principal], resource:///modules/Social.jsm)
        │ │ │ │ ├──49,152 B (00.03%) — gc-heap
        │ │ │ │ │ ├──34,792 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──14,360 B (00.01%) ── sundries
        │ │ │ │ ├──32,768 B (00.02%) ── analysis-temporary
        │ │ │ │ └──11,800 B (00.01%) ── other-sundries
        │ │ │ ├──────93,120 B (00.05%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsPrompter.js)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──39,632 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──25,904 B (00.01%) ── sundries
        │ │ │ │ ├──15,296 B (00.01%) ── script-data
        │ │ │ │ └──12,288 B (00.01%) ── other-sundries
        │ │ │ ├──────92,776 B (00.05%) — compartment([System Principal], chrome://global/content/bindings/autocomplete.xml)
        │ │ │ │ ├──61,440 B (00.03%) — gc-heap
        │ │ │ │ │ ├──34,392 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──13,920 B (00.01%) ── scripts
        │ │ │ │ │ └──13,128 B (00.01%) ── sundries
        │ │ │ │ ├──22,408 B (00.01%) ── script-data
        │ │ │ │ └───8,928 B (00.00%) ── other-sundries
        │ │ │ ├──────91,600 B (00.05%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/FeedConverter.js)
        │ │ │ │ ├──69,632 B (00.04%) — gc-heap
        │ │ │ │ │ ├──44,216 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──16,664 B (00.01%) ── sundries
        │ │ │ │ │ └───8,752 B (00.00%) ── objects/function
        │ │ │ │ ├──12,384 B (00.01%) ── other-sundries
        │ │ │ │ └───9,584 B (00.01%) ── script-data
        │ │ │ ├──────91,464 B (00.05%) — compartment([System Principal], resource://services-common/log4moz.js)
        │ │ │ │ ├──69,632 B (00.04%) — gc-heap
        │ │ │ │ │ ├──37,896 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──21,656 B (00.01%) ── sundries
        │ │ │ │ │ └──10,080 B (00.01%) ── objects/function
        │ │ │ │ ├──13,408 B (00.01%) ── other-sundries
        │ │ │ │ └───8,424 B (00.00%) ── script-data
        │ │ │ ├──────89,656 B (00.05%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsUrlClassifierListManager.js)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──36,712 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──18,968 B (00.01%) ── sundries
        │ │ │ │ │ └───9,856 B (00.01%) ── objects/function
        │ │ │ │ └──24,120 B (00.01%) ── other-sundries
        │ │ │ ├──────87,992 B (00.05%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsURLFormatter.js)
        │ │ │ │ ├──69,632 B (00.04%) — gc-heap
        │ │ │ │ │ ├──42,528 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├──18,160 B (00.01%) ── sundries
        │ │ │ │ │ └───8,944 B (00.00%) ── objects/function
        │ │ │ │ └──18,360 B (00.01%) ── other-sundries
        │ │ │ ├──────86,216 B (00.05%) — compartment([System Principal], resource://services-common/utils.js)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──43,968 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──21,568 B (00.01%) ── sundries
        │ │ │ │ ├──10,824 B (00.01%) ── script-data
        │ │ │ │ └───9,856 B (00.01%) ── other-sundries
        │ │ │ ├──────85,904 B (00.05%) — compartment([System Principal], resource://gre/modules/PermissionsInstaller.jsm)
        │ │ │ │ ├──69,632 B (00.04%) — gc-heap
        │ │ │ │ │ ├──51,416 B (00.03%) ── unused-gc-things
        │ │ │ │ │ └──18,216 B (00.01%) ── sundries
        │ │ │ │ └──16,272 B (00.01%) ── other-sundries
        │ │ │ ├──────85,808 B (00.05%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/BrowserElementParent.js)
        │ │ │ │ ├──61,440 B (00.03%) — gc-heap
        │ │ │ │ │ ├──36,816 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──24,624 B (00.01%) ── sundries
        │ │ │ │ ├──13,136 B (00.01%) ── script-data
        │ │ │ │ └──11,232 B (00.01%) ── other-sundries
        │ │ │ ├──────85,464 B (00.05%) — compartment([System Principal], resource://gre/modules/BrowserElementPromptService.jsm)
        │ │ │ │ ├──61,440 B (00.03%) — gc-heap
        │ │ │ │ │ ├──38,280 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──23,160 B (00.01%) ── sundries
        │ │ │ │ ├──12,504 B (00.01%) ── script-data
        │ │ │ │ └──11,520 B (00.01%) ── other-sundries
        │ │ │ ├──────84,984 B (00.05%) — compartment([System Principal], resource://services-sync/identity.js)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──42,808 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──22,728 B (00.01%) ── sundries
        │ │ │ │ └──19,448 B (00.01%) ── other-sundries
        │ │ │ ├──────84,864 B (00.05%) — compartment([System Principal], chrome://global/content/bindings/findbar.xml)
        │ │ │ │ ├──53,248 B (00.03%) — gc-heap
        │ │ │ │ │ ├──33,912 B (00.02%) ── unused-gc-things
        │ │ │ │ │ ├───9,840 B (00.01%) ── scripts
        │ │ │ │ │ └───9,496 B (00.01%) ── sundries
        │ │ │ │ ├──24,512 B (00.01%) ── script-data
        │ │ │ │ └───7,104 B (00.00%) ── other-sundries
        │ │ │ ├──────84,712 B (00.05%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/nsPrivateBrowsingService.js)
        │ │ │ │ ├──61,440 B (00.03%) — gc-heap
        │ │ │ │ │ ├──41,464 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──19,976 B (00.01%) ── sundries
        │ │ │ │ ├──11,800 B (00.01%) ── script-data
        │ │ │ │ └──11,472 B (00.01%) ── other-sundries
        │ │ │ ├──────84,040 B (00.04%) — compartment([System Principal], resource://sendtophone/sendtophone.js)
        │ │ │ │ ├──57,344 B (00.03%) — gc-heap
        │ │ │ │ │ ├──37,136 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──20,208 B (00.01%) ── sundries
        │ │ │ │ ├──16,776 B (00.01%) ── script-data
        │ │ │ │ └───9,920 B (00.01%) ── other-sundries
        │ │ │ ├──────84,024 B (00.04%) — compartment([System Principal], resource://pdf.js.components/PdfStreamConverter.js)
        │ │ │ │ ├──61,440 B (00.03%) — gc-heap
        │ │ │ │ │ ├──38,176 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──23,264 B (00.01%) ── sundries
        │ │ │ │ ├──11,456 B (00.01%) ── other-sundries
        │ │ │ │ └──11,128 B (00.01%) ── script-data
        │ │ │ ├──────83,496 B (00.04%) — compartment([System Principal], resource://services-common/preferences.js)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──43,584 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──21,952 B (00.01%) ── sundries
        │ │ │ │ └──17,960 B (00.01%) ── other-sundries
        │ │ │ ├──────83,432 B (00.04%) — compartment([System Principal], resource://gre/modules/WebappsInstaller.jsm)
        │ │ │ │ ├──57,344 B (00.03%) — gc-heap
        │ │ │ │ │ ├──36,592 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──20,752 B (00.01%) ── sundries
        │ │ │ │ ├──16,632 B (00.01%) ── script-data
        │ │ │ │ └───9,456 B (00.01%) ── other-sundries
        │ │ │ ├──────83,296 B (00.04%) — compartment([System Principal], resource://gre/modules/ctypes.jsm)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──40,624 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──24,912 B (00.01%) ── sundries
        │ │ │ │ ├───9,120 B (00.00%) ── other-sundries
        │ │ │ │ └───8,640 B (00.00%) ── objects-extra/slots
        │ │ │ ├──────83,096 B (00.04%) — compartment([System Principal], resource:///modules/NewTabUtils.jsm)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──39,528 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──26,008 B (00.01%) ── sundries
        │ │ │ │ └──17,560 B (00.01%) ── other-sundries
        │ │ │ ├──────82,888 B (00.04%) — compartment([System Principal], resource://testpilot/modules/lib/cuddlefish.js)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──45,040 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──20,496 B (00.01%) ── sundries
        │ │ │ │ └──17,352 B (00.01%) ── other-sundries
        │ │ │ ├──────81,504 B (00.04%) — compartment([System Principal], resource://sendtophone/protocolHandlers.js)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──46,072 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──19,464 B (00.01%) ── sundries
        │ │ │ │ └──15,968 B (00.01%) ── other-sundries
        │ │ │ ├──────80,936 B (00.04%) — compartment([System Principal], resource://gre/modules/DOMIdentity.jsm)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──44,600 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──20,936 B (00.01%) ── sundries
        │ │ │ │ └──15,400 B (00.01%) ── other-sundries
        │ │ │ ├──────80,584 B (00.04%) — compartment([System Principal], jar:file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/omni.ja!/components/PlacesCategoriesStarter.js)
        │ │ │ │ ├──65,536 B (00.03%) — gc-heap
        │ │ │ │ │ ├──45,400 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──20,136 B (00.01%) ── sundries
        │ │ │ │ └──15,048 B (00.01%) ── other-sundries
        │ │ │ ├──────80,168 B (00.04%) — compartment([System Principal], resource://gre/modules/ActivitiesService.jsm)
        │ │ │ │ ├──61,440 B (00.03%) — gc-heap
        │ │ │ │ │ ├──42,112 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──19,328 B (00.01%) ── sundries
        │ │ │ │ └──18,728 B (00.01%) ── other-sundries
        │ │ │ ├──────79,560 B (00.04%) — compartment([System Principal], resource:///modules/distribution.js)
        │ │ │ │ ├──57,344 B (00.03%) — gc-heap
        │ │ │ │ │ ├──38,056 B (00.02%) ── unused-gc-things
        │ │ │ │ │ └──19,288 B (00.01%) ── sundries
        │ │ │ │ ├──11,240 B (00.01%) ── script-data
        │ │ │ │ └──10,976 B (00.01%) ── other-sundries
        │ │ │ ├─

  3. I filed a bug here regarding excessive Read I/O. Could you take a look ?

    https://bugzilla.mozilla.org/show_bug.cgi?id=814942

  4. Justin Lebar and I added a memory reporter for Freetype, which uses about 2 MiB of memory in the main B2G process. (This reporter also works on Fennec.)

    Why is this B2G/Fennec-specific?

  5. Just looking Bugzilla and Firefox 18 has a total of 24 bug fixed that have been tagged “memshrink”.

    Firefox 19 has nearly double that at 45 bugs fixed. That’s absolutely massive for a project as mature as memshrink.

    The introduction of IonMonkey in early to mid January, with this massive load of memory bugs landing on 19th February, and all the time Project Snappy landing bugs as well, it looks like Firefox is going to be in awesome shape in the first quarter of 2013.

    • Nicholas Nethercote

      A lot of the fixes in FF19 are for B2G, because it’s recently received lots of attention relating to memory consumption. Some of them help desktop Firefox, some don’t. But it’s definitely good to see lots of activity.