Closed Bug 1241701 Opened 4 years ago Closed 4 years ago

Suspicious untracked memory in JSCompartment::init() -> js::SavedStacks::init() (detected by DMD in heap-unclassified)

Categories

(Core :: JavaScript Engine, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla46
Tracking Status
firefox46 --- fixed

People

(Reporter: jujjyl, Assigned: fitzgen)

Details

(Whiteboard: [MemShrink:P?])

Attachments

(2 files)

Torture testing asm.js compiled pages in emunittest 0.5 suite and looking at the results in DMD after three full runs of the suite and closing all tabs before capturing a DMD log, the following memory allocations are untracked in about:memory:

Unreported {
  ~45 blocks in heap block record 9 of 1,837
  ~184,185 bytes (~184,185 requested / ~0 slop)
  Individual block sizes: ~4,093 x 45
  0.29% of the heap (9.58% cumulative)
  0.84% of unreported (27.83% cumulative)
  Allocated at {
    #01: calloc_impl (d:\gecko-dev\memory\build\replace_malloc.c:183)
    #02: js::detail::HashTable<js::HashMapEntry<js::SavedStacks::PCKey,js::SavedStacks::LocationValue>,js::HashMap<js::SavedStacks::PCKey,js::SavedStacks::LocationValue,js::SavedStacks::PCLocationHasher,js::SystemAllocPolicy>::MapHashPolicy,js::SystemAllocPolicy>: (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\js\hashtable.h:1212)
    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)
    #06: js::GlobalObject::new_ (d:\gecko-dev\js\src\vm\globalobject.cpp:292)
    #07: xpc::CreateGlobalObject (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:357)
    #08: XPCWrappedNative::WrapNewGlobal (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:186)
    #09: nsXPConnect::InitClassesWithNewWrappedGlobal (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:457)
    #10: mozJSComponentLoader::PrepareObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:559)
    #11: mozJSComponentLoader::ObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:667)
    #12: mozJSComponentLoader::ImportInto (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:1176)
    #13: mozJSComponentLoader::Import (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:1052)
    #14: nsXPCComponents_Utils::Import (d:\gecko-dev\js\xpconnect\src\xpccomponents.cpp:2482)
    #15: XPTC__InvokebyIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_asm_x86_64.asm:99)
    #16: NS_InvokeByIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_x86_64.cpp:58)
    #17: CallMethodHelper::Invoke (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:2098)
    #18: CallMethodHelper::Call (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1414)
    #19: XPCWrappedNative::CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1381)
    #20: XPC_WN_CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednativejsops.cpp:1115)
    #21: js::Invoke (d:\gecko-dev\js\src\vm\interpreter.cpp:481)
    #22: Interpret (d:\gecko-dev\js\src\vm\interpreter.cpp:2804)
    #23: js::RunScript (d:\gecko-dev\js\src\vm\interpreter.cpp:428)
    #24: js::ExecuteKernel (d:\gecko-dev\js\src\vm\interpreter.cpp:690)
  }
}

Unreported {
  ~39 blocks in heap block record 10 of 1,837
  ~159,627 bytes (~159,627 requested / ~0 slop)
  Individual block sizes: ~4,093 x 39
  0.25% of the heap (9.83% cumulative)
  0.73% of unreported (28.57% cumulative)
  Allocated at {
    #01: calloc_impl (d:\gecko-dev\memory\build\replace_malloc.c:183)
    #02: js::detail::HashTable<js::HashMapEntry<js::SavedStacks::PCKey,js::SavedStacks::LocationValue>,js::HashMap<js::SavedStacks::PCKey,js::SavedStacks::LocationValue,js::SavedStacks::PCLocationHasher,js::SystemAllocPolicy>::MapHashPolicy,js::SystemAllocPolicy>: (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\js\hashtable.h:1212)
    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)
    #06: js::GlobalObject::new_ (d:\gecko-dev\js\src\vm\globalobject.cpp:292)
    #07: xpc::CreateGlobalObject (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:357)
    #08: XPCWrappedNative::WrapNewGlobal (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:186)
    #09: nsXPConnect::InitClassesWithNewWrappedGlobal (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:457)
    #10: mozJSComponentLoader::PrepareObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:559)
    #11: mozJSComponentLoader::ObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:667)
    #12: mozJSComponentLoader::ImportInto (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:1176)
    #13: mozJSComponentLoader::Import (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:1052)
    #14: nsXPCComponents_Utils::Import (d:\gecko-dev\js\xpconnect\src\xpccomponents.cpp:2482)
    #15: XPTC__InvokebyIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_asm_x86_64.asm:99)
    #16: NS_InvokeByIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_x86_64.cpp:58)
    #17: CallMethodHelper::Invoke (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:2098)
    #18: CallMethodHelper::Call (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1414)
    #19: XPCWrappedNative::CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1381)
    #20: XPC_WN_CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednativejsops.cpp:1115)
    #21: ??? (???:???)
    #22: ??? (???:???)
  }
}

Unreported {
  ~16 blocks in heap block record 40 of 1,837
  ~65,488 bytes (~65,488 requested / ~0 slop)
  Individual block sizes: ~4,093 x 16
  0.10% of the heap (14.07% cumulative)
  0.30% of unreported (40.89% cumulative)
  Allocated at {
    #01: calloc_impl (d:\gecko-dev\memory\build\replace_malloc.c:183)
    #02: js::detail::HashTable<js::HashMapEntry<js::SavedStacks::PCKey,js::SavedStacks::LocationValue>,js::HashMap<js::SavedStacks::PCKey,js::SavedStacks::LocationValue,js::SavedStacks::PCLocationHasher,js::SystemAllocPolicy>::MapHashPolicy,js::SystemAllocPolicy>: (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\js\hashtable.h:1212)
    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)
    #06: js::GlobalObject::new_ (d:\gecko-dev\js\src\vm\globalobject.cpp:292)
    #07: xpc::CreateGlobalObject (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:357)
    #08: XPCWrappedNative::WrapNewGlobal (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:186)
    #09: nsXPConnect::InitClassesWithNewWrappedGlobal (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:457)
    #10: mozJSComponentLoader::PrepareObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:559)
    #11: mozJSComponentLoader::ObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:667)
    #12: mozJSComponentLoader::ImportInto (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:1176)
    #13: mozJSComponentLoader::Import (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:1052)
    #14: nsXPCComponents_Utils::Import (d:\gecko-dev\js\xpconnect\src\xpccomponents.cpp:2482)
    #15: XPTC__InvokebyIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_asm_x86_64.asm:99)
    #16: NS_InvokeByIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_x86_64.cpp:58)
    #17: CallMethodHelper::Invoke (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:2098)
    #18: CallMethodHelper::Call (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1414)
    #19: XPCWrappedNative::CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1381)
    #20: XPC_WN_CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednativejsops.cpp:1115)
    #21: js::Invoke (d:\gecko-dev\js\src\vm\interpreter.cpp:481)
    #22: Interpret (d:\gecko-dev\js\src\vm\interpreter.cpp:2804)
    #23: js::RunScript (d:\gecko-dev\js\src\vm\interpreter.cpp:428)
    #24: js::Invoke (d:\gecko-dev\js\src\vm\interpreter.cpp:502)
  }
}

Unreported {
  ~9 blocks in heap block record 69 of 1,837
  ~36,837 bytes (~36,837 requested / ~0 slop)
  Individual block sizes: ~4,093 x 9
  0.06% of the heap (16.26% cumulative)
  0.17% of unreported (47.25% cumulative)
  Allocated at {
    #01: calloc_impl (d:\gecko-dev\memory\build\replace_malloc.c:183)
    #02: js::detail::HashTable<js::HashMapEntry<js::SavedStacks::PCKey,js::SavedStacks::LocationValue>,js::HashMap<js::SavedStacks::PCKey,js::SavedStacks::LocationValue,js::SavedStacks::PCLocationHasher,js::SystemAllocPolicy>::MapHashPolicy,js::SystemAllocPolicy>: (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\js\hashtable.h:1212)
    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)
    #06: js::GlobalObject::new_ (d:\gecko-dev\js\src\vm\globalobject.cpp:292)
    #07: xpc::CreateGlobalObject (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:357)
    #08: XPCWrappedNative::WrapNewGlobal (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:186)
    #09: nsXPConnect::InitClassesWithNewWrappedGlobal (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:457)
    #10: mozJSComponentLoader::PrepareObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:559)
    #11: mozJSComponentLoader::ObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:667)
    #12: mozJSComponentLoader::LoadModule (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:376)
    #13: nsComponentManagerImpl::KnownModule::Load (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:889)
    #14: nsFactoryEntry::GetFactory (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1934)
    #15: nsComponentManagerImpl::CreateInstanceByContractID (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1232)
    #16: nsComponentManagerImpl::GetServiceByContractID (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1591)
    #17: CallGetService (d:\gecko-dev\xpcom\glue\nscomponentmanagerutils.cpp:70)
    #18: nsGetServiceByContractID::operator() (d:\gecko-dev\xpcom\glue\nscomponentmanagerutils.cpp:280)
    #19: nsCOMPtr_base::assign_from_gs_contractid (d:\gecko-dev\xpcom\glue\nscomptr.cpp:103)
    #20: nsCOMPtr<nsISupports>::nsCOMPtr<nsISupports> (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\nscomptr.h:856)
    #21: NS_CreateServicesFromCategory (d:\gecko-dev\xpcom\components\nscategorymanager.cpp:807)
    #22: nsXREDirProvider::DoStartup (d:\gecko-dev\toolkit\xre\nsxredirprovider.cpp:890)
    #23: XREMain::XRE_mainRun (d:\gecko-dev\toolkit\xre\nsapprunner.cpp:4192)
    #24: XREMain::XRE_main (d:\gecko-dev\toolkit\xre\nsapprunner.cpp:4423)
  }
}

Unreported {
  ~2 blocks in heap block record 386 of 1,837
  ~8,186 bytes (~8,186 requested / ~0 slop)
  Individual block sizes: ~4,093 x 2
  0.01% of the heap (23.90% cumulative)
  0.04% of unreported (69.45% cumulative)
  Allocated at {
    #01: calloc_impl (d:\gecko-dev\memory\build\replace_malloc.c:183)
    #02: js::detail::HashTable<js::HashMapEntry<js::SavedStacks::PCKey,js::SavedStacks::LocationValue>,js::HashMap<js::SavedStacks::PCKey,js::SavedStacks::LocationValue,js::SavedStacks::PCLocationHasher,js::SystemAllocPolicy>::MapHashPolicy,js::SystemAllocPolicy>: (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\js\hashtable.h:1212)
    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)
    #06: js::GlobalObject::new_ (d:\gecko-dev\js\src\vm\globalobject.cpp:292)
    #07: mozilla::dom::CreateGlobal<nsGlobalWindow,&mozilla::dom::WindowBinding::GetProtoObjectHandle> (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\mozilla\dom\bindingutils.h:3029)
    #08: mozilla::dom::WindowBinding::Wrap (d:\gecko-dev\obj-x86_64-pc-mingw32\dom\bindings\windowbinding.cpp:14099)
    #09: CreateNativeGlobalForInner (d:\gecko-dev\dom\base\nsglobalwindow.cpp:2342)
    #10: nsGlobalWindow::SetNewDocument (d:\gecko-dev\dom\base\nsglobalwindow.cpp:2548)
    #11: nsDocumentViewer::InitInternal (d:\gecko-dev\layout\base\nsdocumentviewer.cpp:874)
    #12: nsDocumentViewer::Init (d:\gecko-dev\layout\base\nsdocumentviewer.cpp:615)
    #13: nsDocShell::SetupNewViewer (d:\gecko-dev\docshell\base\nsdocshell.cpp:9230)
    #14: nsDocShell::Embed (d:\gecko-dev\docshell\base\nsdocshell.cpp:7131)
    #15: nsDocShell::CreateContentViewer (d:\gecko-dev\docshell\base\nsdocshell.cpp:9038)
    #16: nsDSURIContentListener::DoContent (d:\gecko-dev\docshell\base\nsdsuricontentlistener.cpp:129)
    #17: nsDocumentOpenInfo::TryContentListener (d:\gecko-dev\uriloader\base\nsuriloader.cpp:721)
    #18: nsDocumentOpenInfo::DispatchContent (d:\gecko-dev\uriloader\base\nsuriloader.cpp:398)
    #19: nsDocumentOpenInfo::OnStartRequest (d:\gecko-dev\uriloader\base\nsuriloader.cpp:259)
    #20: nsBaseChannel::OnStartRequest (d:\gecko-dev\netwerk\base\nsbasechannel.cpp:800)
    #21: nsInputStreamPump::OnStateStart (d:\gecko-dev\netwerk\base\nsinputstreampump.cpp:525)
    #22: nsInputStreamPump::OnInputStreamReady (d:\gecko-dev\netwerk\base\nsinputstreampump.cpp:427)
    #23: nsOutputStreamReadyEvent::Run (d:\gecko-dev\xpcom\io\nsstreamutils.cpp:96)
    #24: nsThread::ProcessNextEvent (d:\gecko-dev\xpcom\threads\nsthread.cpp:989)
  }
}

Unreported {
  ~2 blocks in heap block record 457 of 1,837
  ~8,186 bytes (~8,186 requested / ~0 slop)
  Individual block sizes: ~4,093 x 2
  0.01% of the heap (24.82% cumulative)
  0.04% of unreported (72.12% cumulative)
  Allocated at {
    #01: calloc_impl (d:\gecko-dev\memory\build\replace_malloc.c:183)
    #02: js::detail::HashTable<js::HashMapEntry<js::SavedStacks::PCKey,js::SavedStacks::LocationValue>,js::HashMap<js::SavedStacks::PCKey,js::SavedStacks::LocationValue,js::SavedStacks::PCLocationHasher,js::SystemAllocPolicy>::MapHashPolicy,js::SystemAllocPolicy>: (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\js\hashtable.h:1212)
    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)
    #06: js::GlobalObject::new_ (d:\gecko-dev\js\src\vm\globalobject.cpp:292)
    #07: xpc::CreateGlobalObject (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:357)
    #08: XPCWrappedNative::WrapNewGlobal (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:186)
    #09: nsXPConnect::InitClassesWithNewWrappedGlobal (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:457)
    #10: mozJSComponentLoader::PrepareObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:559)
    #11: mozJSComponentLoader::ObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:667)
    #12: mozJSComponentLoader::LoadModule (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:376)
    #13: nsComponentManagerImpl::KnownModule::Load (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:889)
    #14: nsFactoryEntry::GetFactory (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1934)
    #15: nsComponentManagerImpl::CreateInstance (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1150)
    #16: nsComponentManagerImpl::GetService (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1395)
    #17: nsJSCID::GetService (d:\gecko-dev\js\xpconnect\src\xpcjsid.cpp:684)
    #18: XPTC__InvokebyIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_asm_x86_64.asm:99)
    #19: NS_InvokeByIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_x86_64.cpp:58)
    #20: CallMethodHelper::Invoke (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:2098)
    #21: CallMethodHelper::Call (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1414)
    #22: XPCWrappedNative::CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1381)
    #23: XPC_WN_CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednativejsops.cpp:1115)
    #24: js::Invoke (d:\gecko-dev\js\src\vm\interpreter.cpp:481)
  }
}

Unreported {
  ~2 blocks in heap block record 458 of 1,837
  ~8,186 bytes (~8,186 requested / ~0 slop)
  Individual block sizes: ~4,093 x 2
  0.01% of the heap (24.83% cumulative)
  0.04% of unreported (72.16% cumulative)
  Allocated at {
    #01: calloc_impl (d:\gecko-dev\memory\build\replace_malloc.c:183)
    #02: js::detail::HashTable<js::HashMapEntry<js::SavedStacks::PCKey,js::SavedStacks::LocationValue>,js::HashMap<js::SavedStacks::PCKey,js::SavedStacks::LocationValue,js::SavedStacks::PCLocationHasher,js::SystemAllocPolicy>::MapHashPolicy,js::SystemAllocPolicy>: (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\js\hashtable.h:1212)
    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)
    #06: js::GlobalObject::new_ (d:\gecko-dev\js\src\vm\globalobject.cpp:292)
    #07: xpc::CreateGlobalObject (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:357)
    #08: XPCWrappedNative::WrapNewGlobal (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:186)
    #09: nsXPConnect::InitClassesWithNewWrappedGlobal (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:457)
    #10: mozJSComponentLoader::PrepareObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:559)
    #11: mozJSComponentLoader::ObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:667)
    #12: mozJSComponentLoader::LoadModule (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:376)
    #13: nsComponentManagerImpl::KnownModule::Load (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:889)
    #14: nsFactoryEntry::GetFactory (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1934)
    #15: nsComponentManagerImpl::CreateInstanceByContractID (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1232)
    #16: nsComponentManagerImpl::GetServiceByContractID (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1591)
    #17: CallGetService (d:\gecko-dev\xpcom\glue\nscomponentmanagerutils.cpp:70)
    #18: nsGetServiceByContractID::operator() (d:\gecko-dev\xpcom\glue\nscomponentmanagerutils.cpp:280)
    #19: nsCOMPtr_base::assign_from_gs_contractid (d:\gecko-dev\xpcom\glue\nscomptr.cpp:103)
    #20: nsCOMPtr<nsICommandLineHandler>::nsCOMPtr<nsICommandLineHandler> (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\nscomptr.h:541)
    #21: nsCommandLine::EnumerateHandlers (d:\gecko-dev\toolkit\components\commandlines\nscommandline.cpp:527)
    #22: nsCommandLine::Run (d:\gecko-dev\toolkit\components\commandlines\nscommandline.cpp:607)
    #23: XREMain::XRE_mainRun (d:\gecko-dev\toolkit\xre\nsapprunner.cpp:4295)
    #24: XREMain::XRE_main (d:\gecko-dev\toolkit\xre\nsapprunner.cpp:4423)
  }
}

Unreported {
  ~2 blocks in heap block record 474 of 1,837
  ~8,186 bytes (~8,186 requested / ~0 slop)
  Individual block sizes: ~4,093 x 2
  0.01% of the heap (25.04% cumulative)
  0.04% of unreported (72.76% cumulative)
  Allocated at {
    #01: calloc_impl (d:\gecko-dev\memory\build\replace_malloc.c:183)
    #02: js::detail::HashTable<js::HashMapEntry<js::SavedStacks::PCKey,js::SavedStacks::LocationValue>,js::HashMap<js::SavedStacks::PCKey,js::SavedStacks::LocationValue,js::SavedStacks::PCLocationHasher,js::SystemAllocPolicy>::MapHashPolicy,js::SystemAllocPolicy>: (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\js\hashtable.h:1212)
    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)
    #06: js::GlobalObject::new_ (d:\gecko-dev\js\src\vm\globalobject.cpp:292)
    #07: xpc::CreateGlobalObject (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:357)
    #08: XPCWrappedNative::WrapNewGlobal (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:186)
    #09: nsXPConnect::InitClassesWithNewWrappedGlobal (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:457)
    #10: mozJSComponentLoader::PrepareObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:559)
    #11: mozJSComponentLoader::ObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:667)
    #12: mozJSComponentLoader::LoadModule (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:376)
    #13: nsComponentManagerImpl::KnownModule::Load (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:889)
    #14: nsFactoryEntry::GetFactory (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1934)
    #15: nsComponentManagerImpl::CreateInstance (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1150)
    #16: nsComponentManagerImpl::GetService (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1395)
    #17: nsJSCID::GetService (d:\gecko-dev\js\xpconnect\src\xpcjsid.cpp:684)
    #18: XPTC__InvokebyIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_asm_x86_64.asm:99)
    #19: NS_InvokeByIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_x86_64.cpp:58)
    #20: CallMethodHelper::Invoke (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:2098)
    #21: CallMethodHelper::Call (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1414)
    #22: XPCWrappedNative::CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1381)
    #23: XPC_WN_CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednativejsops.cpp:1115)
    #24: ??? (???:???)
  }
}

Unreported {
  ~1 block in heap block record 746 of 1,837
  ~4,093 bytes (~4,093 requested / ~0 slop)
  0.01% of the heap (27.37% cumulative)
  0.02% of unreported (79.52% cumulative)
  Allocated at {
    #01: calloc_impl (d:\gecko-dev\memory\build\replace_malloc.c:183)
    #02: js::detail::HashTable<js::HashMapEntry<js::SavedStacks::PCKey,js::SavedStacks::LocationValue>,js::HashMap<js::SavedStacks::PCKey,js::SavedStacks::LocationValue,js::SavedStacks::PCLocationHasher,js::SystemAllocPolicy>::MapHashPolicy,js::SystemAllocPolicy>: (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\js\hashtable.h:1212)
    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)
    #06: js::GlobalObject::new_ (d:\gecko-dev\js\src\vm\globalobject.cpp:292)
    #07: xpc::CreateGlobalObject (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:357)
    #08: xpc::CreateSandboxObject (d:\gecko-dev\js\xpconnect\src\sandbox.cpp:1027)
    #09: XPCWrappedNativeScope::EnsureContentXBLScope (d:\gecko-dev\js\xpconnect\src\xpcwrappednativescope.cpp:291)
    #10: xpc::GetXBLScope (d:\gecko-dev\js\xpconnect\src\xpcwrappednativescope.cpp:319)
    #11: mozilla::dom::WrapNativeParent<nsIConstraintValidation> (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\mozilla\dom\bindingutils.h:1608)
    #12: mozilla::dom::WrapNativeParent<mozilla::dom::ParentObject> (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\mozilla\dom\bindingutils.h:1625)
    #13: mozilla::dom::XULElementBinding::Wrap (d:\gecko-dev\obj-x86_64-pc-mingw32\dom\bindings\xulelementbinding.cpp:7679)
    #14: mozilla::dom::XULElementBinding::Wrap<nsXULElement> (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\mozilla\dom\xulelementbinding.h:56)
    #15: nsXULElement::WrapNode (d:\gecko-dev\dom\xul\nsxulelement.cpp:2119)
    #16: nsINode::WrapObject (d:\gecko-dev\dom\base\nsinode.cpp:2781)
    #17: mozilla::dom::Element::WrapObject (d:\gecko-dev\dom\base\element.cpp:432)
    #18: XPCConvert::NativeInterface2JSObject (d:\gecko-dev\js\xpconnect\src\xpcconvert.cpp:785)
    #19: NativeInterface2JSObject (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:487)
    #20: nsXPConnect::WrapNativeToJSVal (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:554)
    #21: nsContentUtils::WrapNative (d:\gecko-dev\dom\base\nscontentutils.cpp:6163)
    #22: nsContentUtils::WrapNative (d:\gecko-dev\dom\base\nscontentutils.h:1836)
    #23: nsXBLProtoImpl::InitTargetObjects (d:\gecko-dev\dom\xbl\nsxblprotoimpl.cpp:218)
    #24: nsXBLProtoImpl::InstallImplementation (d:\gecko-dev\dom\xbl\nsxblprotoimpl.cpp:66)
  }
}

Unreported {
  ~1 block in heap block record 778 of 1,837
  ~4,093 bytes (~4,093 requested / ~0 slop)
  0.01% of the heap (27.57% cumulative)
  0.02% of unreported (80.12% cumulative)
  Allocated at {
    #01: calloc_impl (d:\gecko-dev\memory\build\replace_malloc.c:183)
    #02: js::detail::HashTable<js::HashMapEntry<js::SavedStacks::PCKey,js::SavedStacks::LocationValue>,js::HashMap<js::SavedStacks::PCKey,js::SavedStacks::LocationValue,js::SavedStacks::PCLocationHasher,js::SystemAllocPolicy>::MapHashPolicy,js::SystemAllocPolicy>: (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\js\hashtable.h:1212)
    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)
    #06: js::GlobalObject::new_ (d:\gecko-dev\js\src\vm\globalobject.cpp:292)
    #07: xpc::CreateGlobalObject (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:357)
    #08: XPCWrappedNative::WrapNewGlobal (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:186)
    #09: nsXPConnect::InitClassesWithNewWrappedGlobal (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:457)
    #10: mozJSComponentLoader::PrepareObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:559)
    #11: mozJSComponentLoader::ObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:667)
    #12: mozJSComponentLoader::LoadModule (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:376)
    #13: nsComponentManagerImpl::KnownModule::Load (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:889)
    #14: nsFactoryEntry::GetFactory (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1934)
    #15: nsComponentManagerImpl::CreateInstanceByContractID (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1232)
    #16: nsComponentManagerImpl::GetServiceByContractID (d:\gecko-dev\xpcom\components\nscomponentmanager.cpp:1591)
    #17: CallGetService (d:\gecko-dev\xpcom\glue\nscomponentmanagerutils.cpp:70)
    #18: nsGetServiceByContractID::operator() (d:\gecko-dev\xpcom\glue\nscomponentmanagerutils.cpp:280)
    #19: nsCOMPtr_base::assign_from_gs_contractid (d:\gecko-dev\xpcom\glue\nscomptr.cpp:103)
    #20: nsCOMPtr<nsISiteSpecificUserAgent>::nsCOMPtr<nsISiteSpecificUserAgent> (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\nscomptr.h:541)
    #21: mozilla::dom::Navigator::GetUserAgent (d:\gecko-dev\dom\base\navigator.cpp:2830)
    #22: mozilla::dom::Navigator::GetUserAgent (d:\gecko-dev\dom\base\navigator.cpp:397)
    #23: mozilla::dom::NavigatorBinding::get_userAgent (d:\gecko-dev\obj-x86_64-pc-mingw32\dom\bindings\navigatorbinding.cpp:2870)
    #24: mozilla::dom::GenericBindingGetter (d:\gecko-dev\dom\bindings\bindingutils.cpp:2648)
  }
}

Unreported {
  ~1 block in heap block record 951 of 1,837
  ~4,093 bytes (~4,093 requested / ~0 slop)
  0.01% of the heap (28.69% cumulative)
  0.02% of unreported (83.37% cumulative)
  Allocated at {
    #01: calloc_impl (d:\gecko-dev\memory\build\replace_malloc.c:183)
    #02: js::detail::HashTable<js::HashMapEntry<js::SavedStacks::PCKey,js::SavedStacks::LocationValue>,js::HashMap<js::SavedStacks::PCKey,js::SavedStacks::LocationValue,js::SavedStacks::PCLocationHasher,js::SystemAllocPolicy>::MapHashPolicy,js::SystemAllocPolicy>: (d:\gecko-dev\obj-x86_64-pc-mingw32\dist\include\js\hashtable.h:1212)
    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)
    #06: js::GlobalObject::new_ (d:\gecko-dev\js\src\vm\globalobject.cpp:292)
    #07: xpc::CreateGlobalObject (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:357)
    #08: XPCWrappedNative::WrapNewGlobal (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:186)
    #09: nsXPConnect::InitClassesWithNewWrappedGlobal (d:\gecko-dev\js\xpconnect\src\nsxpconnect.cpp:457)
    #10: mozJSComponentLoader::PrepareObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:559)
    #11: mozJSComponentLoader::ObjectForLocation (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:667)
    #12: mozJSComponentLoader::ImportInto (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:1176)
    #13: mozJSComponentLoader::Import (d:\gecko-dev\js\xpconnect\loader\mozjscomponentloader.cpp:1052)
    #14: nsXPCComponents_Utils::Import (d:\gecko-dev\js\xpconnect\src\xpccomponents.cpp:2482)
    #15: XPTC__InvokebyIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_asm_x86_64.asm:99)
    #16: NS_InvokeByIndex (d:\gecko-dev\xpcom\reflect\xptcall\md\win32\xptcinvoke_x86_64.cpp:58)
    #17: CallMethodHelper::Invoke (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:2098)
    #18: CallMethodHelper::Call (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1414)
    #19: XPCWrappedNative::CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednative.cpp:1381)
    #20: XPC_WN_CallMethod (d:\gecko-dev\js\xpconnect\src\xpcwrappednativejsops.cpp:1115)
    #21: js::Invoke (d:\gecko-dev\js\src\vm\interpreter.cpp:481)
    #22: js::Invoke (d:\gecko-dev\js\src\vm\interpreter.cpp:533)
    #23: js::jit::DoCallFallback (d:\gecko-dev\js\src\jit\baselineic.cpp:6186)
    #24: ??? (???:???)
  }
}

In total, there are 120 memory allocations sharing the same callstack

    #03: js::SavedStacks::init (d:\gecko-dev\js\src\vm\savedstacks.cpp:992)
    #04: JSCompartment::init (d:\gecko-dev\js\src\jscompartment.cpp:143)
    #05: js::NewCompartment (d:\gecko-dev\js\src\jsgc.cpp:6792)

Some thoughts:

a) since there are a lot of these kind of blocks, it would be good to get tracked in about:memory
b) are JSCompartment and js::SavedStacks 1:1 or 1:n? In a browser state that does not have any windows or tabs open except a single about:memory tab, is it expected that there would exist 120 memory allocations under js::SavedStacks::init? Or could this be a memory leak?
(In reply to Jukka Jylänki from comment #0)
> a) since there are a lot of these kind of blocks, it would be good to get
> tracked in about:memory

I thought we did have some... https://dxr.mozilla.org/mozilla-central/source/js/src/vm/SavedStacks.cpp#1064

> b) are JSCompartment and js::SavedStacks 1:1 or 1:n?

Each compartment has one SavedStacks.

> In a browser state that
> does not have any windows or tabs open except a single about:memory tab, is
> it expected that there would exist 120 memory allocations under
> js::SavedStacks::init? Or could this be a memory leak?

This is a bit unexpected, but perhaps it is from the initial table's capacity?
Here is the corresponding about:memory log from the run.

It looks like there are a lot of JS compartments alive at the time, the log has

131.42 MB (100.0%) -- explicit
├───42.70 MB (32.49%) -- js-non-window
│   ├──30.50 MB (23.21%) -- zones
│   │  ├──27.60 MB (21.00%) -- zone(0x1ce8e762000)
│   │  │  ├──25.98 MB (19.77%) -- (286 tiny)
│   │  │  │  ├───1.31 MB (01.00%) ++ object-groups
│   │  │  │  ├───1.24 MB (00.94%) ++ compartment([System Principal], inProcessTabChildGlobal?ownedBy=chrome://browser/content/browser.xul)
│   │  │  │  ├───0.89 MB (00.68%) ── type-pool
│   │  │  │  ├───0.82 MB (00.62%) ── unused-gc-things
│   │  │  │  ├───0.53 MB (00.40%) ++ compartment([System Principal], resource://gre/modules/XPCOMUtils.jsm)
│   │  │  │  ├───0.49 MB (00.37%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsBlocklistService.js)
│   │  │  │  ├───0.46 MB (00.35%) ++ compartment([System Principal], resource://gre/modules/addons/XPIProvider.jsm)
│   │  │  │  ├───0.40 MB (00.30%) ++ strings
│   │  │  │  ├───0.36 MB (00.28%) ── gc-heap-arena-admin
│   │  │  │  ├───0.29 MB (00.22%) ++ compartment([System Principal], resource://gre/modules/NewTabUtils.jsm)
│   │  │  │  ├───0.28 MB (00.21%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsSearchService.js)
│   │  │  │  ├───0.27 MB (00.20%) ++ compartment([System Principal], resource:///modules/CustomizableUI.jsm)
│   │  │  │  ├───0.26 MB (00.19%) ++ compartment([System Principal], resource://gre/modules/Webapps.jsm)
│   │  │  │  ├───0.24 MB (00.19%) ++ compartment([System Principal], resource://gre/modules/PlacesUtils.jsm)
│   │  │  │  ├───0.24 MB (00.18%) ++ compartment([System Principal], Addon-SDK (from: resource://gre/modules/commonjs/toolkit/loader.js:249))
│   │  │  │  ├───0.24 MB (00.18%) ++ compartment([System Principal], resource://gre/modules/AddonManager.jsm)
│   │  │  │  ├───0.23 MB (00.18%) ++ compartment([System Principal], resource:///modules/sessionstore/SessionStore.jsm)
│   │  │  │  ├───0.22 MB (00.16%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/browser/components/nsBrowserGlue.js)
│   │  │  │  ├───0.19 MB (00.15%) ++ compartment([System Principal], resource://gre/modules/AsyncShutdown.jsm)
│   │  │  │  ├───0.19 MB (00.14%) ++ compartment([System Principal], resource://gre/modules/ctypes.jsm)
│   │  │  │  ├───0.19 MB (00.14%) ── unique-id-map
│   │  │  │  ├───0.19 MB (00.14%) ++ compartment([System Principal], resource://gre/modules/TelemetryStorage.jsm)
│   │  │  │  ├───0.19 MB (00.14%) ++ compartment([System Principal], resource://gre/modules/commonjs/toolkit/loader.js)
│   │  │  │  ├───0.18 MB (00.14%) ++ compartment([System Principal], inProcessTabChildGlobal?ownedBy=data:application/vnd.mozilla.xul+xml;charset=utf-8,<window%20id='win'/>)
│   │  │  │  ├───0.17 MB (00.13%) ++ compartment([System Principal], resource:///modules/experiments/Experiments.jsm)
│   │  │  │  ├───0.17 MB (00.13%) ++ compartment([System Principal], resource://gre/modules/TelemetrySession.jsm)
│   │  │  │  ├───0.16 MB (00.12%) ++ compartment([System Principal], resource://gre/modules/Promise.jsm)
│   │  │  │  ├───0.16 MB (00.12%) ++ compartment([System Principal], resource://gre/modules/TelemetryEnvironment.jsm)
│   │  │  │  ├───0.15 MB (00.11%) ++ compartment([System Principal], resource://gre/modules/CrashManager.jsm)
│   │  │  │  ├───0.15 MB (00.11%) ++ compartment([System Principal], resource:///modules/DirectoryLinksProvider.jsm)
│   │  │  │  ├───0.15 MB (00.11%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/UnifiedComplete.js)
│   │  │  │  ├───0.14 MB (00.11%) ++ compartment([System Principal], resource:///modules/UITour.jsm)
│   │  │  │  ├───0.14 MB (00.11%) ++ compartment([System Principal], resource://gre/modules/addons/AddonRepository.jsm)
│   │  │  │  ├───0.14 MB (00.11%) ++ compartment([System Principal], processChildGlobal)
│   │  │  │  ├───0.13 MB (00.10%) ++ compartment([System Principal], resource://gre/modules/addons/XPIProviderUtils.js (from: resource://gre/modules/addons/XPIProvider.jsm:287))
│   │  │  │  ├───0.13 MB (00.10%) ++ compartment([System Principal], resource://gre/modules/PageThumbs.jsm)
│   │  │  │  ├───0.13 MB (00.10%) ++ compartment([System Principal], resource://gre/modules/Sqlite.jsm)
│   │  │  │  ├───0.13 MB (00.10%) ++ compartment([System Principal], resource://gre/modules/Log.jsm)
│   │  │  │  ├───0.13 MB (00.10%) ++ compartment([System Principal], resource://gre/modules/PromiseUtils.jsm)
│   │  │  │  ├───0.13 MB (00.10%) ++ compartment([System Principal], resource://devtools/client/framework/gDevTools.jsm)
│   │  │  │  ├───0.13 MB (00.10%) ++ compartment([System Principal], resource://gre/modules/FxAccounts.jsm)
│   │  │  │  ├───0.13 MB (00.10%) ++ compartment([System Principal], resource://gre/modules/Console.jsm)
│   │  │  │  ├───0.13 MB (00.10%) ++ compartment([System Principal], resource://gre/modules/Task.jsm)
│   │  │  │  ├───0.12 MB (00.09%) ++ compartment([System Principal], resource://gre/modules/osfile/osfile_async_front.jsm)
│   │  │  │  ├───0.12 MB (00.09%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/PeerConnection.js)
│   │  │  │  ├───0.11 MB (00.09%) ++ compartment([System Principal], resource://gre/modules/TelemetryController.jsm)
│   │  │  │  ├───0.11 MB (00.09%) ++ compartment([System Principal], resource://gre/modules/Bookmarks.jsm)
│   │  │  │  ├───0.11 MB (00.08%) ++ compartment([System Principal], resource://gre/modules/SocialService.jsm)
│   │  │  │  ├───0.11 MB (00.08%) ++ compartment([System Principal], resource://gre/modules/RemoteAddonsParent.jsm)
│   │  │  │  ├───0.11 MB (00.08%) ++ compartment([System Principal], resource://gre/modules/TelemetrySend.jsm)
│   │  │  │  ├───0.11 MB (00.08%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsPlacesAutoComplete.js)
│   │  │  │  ├───0.11 MB (00.08%) ++ compartment([System Principal], resource://gre/modules/DownloadCore.jsm)
│   │  │  │  ├───0.11 MB (00.08%) ++ compartment([System Principal], resource:///modules/CustomizableWidgets.jsm)
│   │  │  │  ├───0.11 MB (00.08%) ++ compartment([System Principal], resource://gre/modules/RemotePageManager.jsm)
│   │  │  │  ├───0.10 MB (00.08%) ++ compartment([System Principal], resource://gre/modules/PushService.jsm)
│   │  │  │  ├───0.10 MB (00.08%) ++ compartment([System Principal], resource://gre/modules/osfile/osfile_shared_allthreads.jsm)
│   │  │  │  ├───0.10 MB (00.08%) ++ compartment([System Principal], resource://gre/modules/addons/GMPProvider.jsm)
│   │  │  │  ├───0.10 MB (00.08%) ++ compartment([System Principal], resource:///modules/DownloadsCommon.jsm)
│   │  │  │  ├───0.10 MB (00.08%) ++ compartment([System Principal], resource:///modules/PlacesUIUtils.jsm)
│   │  │  │  ├───0.10 MB (00.07%) ++ compartment([System Principal], XPConnect Privileged Junk Compartment)
│   │  │  │  ├───0.10 MB (00.07%) ++ compartment([System Principal], resource://gre/modules/PlacesBackups.jsm)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource://gre/modules/DownloadIntegration.jsm)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource://services-sync/util.js)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsUrlClassifierLib.js)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/browser/components/WebContentConverter.js)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource://gre/modules/BookmarkJSONUtils.jsm)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource://gre/modules/LightweightThemeManager.jsm)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsContentPrefService.js)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource://gre/modules/PerformanceStats.jsm)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource://gre/modules/LoginManagerContent.jsm)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsHandlerService.js)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource://gre/modules/ExtensionUtils.jsm)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource://gre/modules/PromiseWorker.jsm)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource:///modules/BrowserUITelemetry.jsm)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource://gre/modules/addons/PluginProvider.jsm)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource://gre/modules/PushDB.jsm)
│   │  │  │  ├───0.09 MB (00.07%) ++ compartment([System Principal], resource://gre/modules/FxAccountsStorage.jsm)
│   │  │  │  ├───0.09 MB (00.06%) ++ compartment([System Principal], resource:///modules/ContentSearch.jsm)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsUrlClassifierListManager.js)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsPlacesExpiration.js)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], resource://gre/modules/PushServiceWebSocket.jsm)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], resource://pdf.js/PdfStreamConverter.jsm)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], resource://gre/modules/SessionRecorder.jsm)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], resource:///modules/WindowsPreviewPerTab.jsm)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], resource://gre/modules/Preferences.jsm)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], resource://gre/modules/IndexedDBHelper.jsm)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], resource:///modules/sessionstore/SessionCookies.jsm)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], resource://gre/modules/AppsUtils.jsm)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], resource://gre/modules/ReaderMode.jsm)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsUpdateTimerManager.js)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], resource://gre/modules/PushServiceHttp2.jsm)
│   │  │  │  ├───0.08 MB (00.06%) ++ compartment([System Principal], resource://devtools/shared/Loader.jsm)
│   │  │  │  ├───0.07 MB (00.06%) ++ compartment([System Principal], resource://gre/modules/ContentPrefService2.jsm)
│   │  │  │  ├───0.07 MB (00.06%) ++ compartment([System Principal], resource://gre/modules/ExtensionContent.jsm)
│   │  │  │  ├───0.07 MB (00.06%) ++ compartment([System Principal], resource:///modules/webrtcUI.jsm)
│   │  │  │  ├───0.07 MB (00.05%) ++ compartment([System Principal], resource://services-common/utils.js)
│   │  │  │  ├───0.07 MB (00.05%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsURLFormatter.js)
│   │  │  │  ├───0.07 MB (00.05%) ++ compartment([System Principal], resource:///modules/WindowsJumpLists.jsm)
│   │  │  │  ├───0.07 MB (00.05%) ++ compartment([System Principal], resource:///modules/PluginContent.jsm)
│   │  │  │  ├───0.07 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/InlineSpellChecker.jsm)
│   │  │  │  ├───0.07 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/SafeBrowsing.jsm)
│   │  │  │  ├───0.07 MB (00.05%) ++ compartment([System Principal], resource:///modules/sessionstore/SessionHistory.jsm)
│   │  │  │  ├───0.07 MB (00.05%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/XULStore.js)
│   │  │  │  ├───0.07 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/GMPInstallManager.jsm)
│   │  │  │  ├───0.07 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/FxAccountsCommon.js)
│   │  │  │  ├───0.07 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/osfile/ospath_win.jsm)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource:///modules/distribution.js)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/BrowserUtils.jsm)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/PushComponents.js)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/Prefetcher.jsm)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/PushCrypto.jsm)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/browser/components/nsBrowserContentHandler.js)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource:///modules/ContentLinkHandler.jsm)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource:///modules/Social.jsm)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/FormData.jsm)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource:///modules/ReaderParent.jsm)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/LoginManagerParent.jsm)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource:///modules/SelfSupportBackend.jsm)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/InterAppCommService.jsm)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/storage-json.js)
│   │  │  │  ├───0.06 MB (00.05%) ++ compartment([System Principal], resource://gre/modules/TelemetryUtils.jsm)
│   │  │  │  ├───0.06 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/TelemetryReportingPolicy.jsm)
│   │  │  │  ├───0.06 MB (00.04%) ++ compartment([System Principal], resource:///modules/sessionstore/SessionFile.jsm)
│   │  │  │  ├───0.06 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/ActivitiesService.jsm)
│   │  │  │  ├───0.06 MB (00.04%) ++ compartment([System Principal], resource://pdf.js/PdfJs.jsm)
│   │  │  │  ├───0.06 MB (00.04%) ++ compartment([System Principal], resource:///modules/sessionstore/FrameTree.jsm)
│   │  │  │  ├───0.06 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/DownloadList.jsm)
│   │  │  │  ├───0.06 MB (00.04%) ++ compartment([System Principal], resource:///modules/sessionstore/ContentRestore.jsm)
│   │  │  │  ├───0.06 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/UserAgentUpdates.jsm)
│   │  │  │  ├───0.06 MB (00.04%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsLoginManager.js)
│   │  │  │  ├───0.06 MB (00.04%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsAsyncShutdown.js)
│   │  │  │  ├───0.06 MB (00.04%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsUrlClassifierHashCompleter.js)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/FxAccountsWebChannel.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/NetworkGeolocationProvider.js)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/osfile/ospath_unix.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource:///modules/sessionstore/SessionSaver.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/osfile/osfile_win_allthreads.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource:///modules/AboutHome.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/NotificationDB.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/Services.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource:///modules/ContentCrashHandlers.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource:///modules/sessionstore/TabState.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/PageThumbsProtocol.js)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/PlacesSearchAutocompleteProvider.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://services-crypto/utils.js)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/browser/components/nsSessionStartup.js)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/TelemetryStopwatch.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/FxAccountsOAuthClient.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/Langpacks.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/GMPUtils.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/ClientID.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/ExtensionManagement.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/PerformanceWatcher.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/UpdateUtils.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/CompatWarning.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource:///modules/ProcessHangMonitor.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/ShortcutUtils.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/WebChannel.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/LoginManagerContextMenu.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/Downloads.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/addonManager.js)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/AddonWatcher.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/ImageObjectProcessor.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/addons/ProductAddonChecker.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://pdf.js/PdfjsChromeUtils.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource:///modules/WebappManager.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/LoginStore.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/ContentPrefStore.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource:///modules/sessionstore/PrivacyFilter.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource:///modules/ContentWebRTC.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/BackgroundPageThumbs.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://devtools/shared/event-emitter.js)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/PageThumbUtils.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/Weave.js)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/PushRecord.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/ProfileAge.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://services-sync/constants.js)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/ThirdPartyCookieProbe.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource://gre/modules/ManifestProcessor.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], resource:///modules/PanelWideWidgetTracker.jsm)
│   │  │  │  ├───0.05 MB (00.04%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/SanityTest.js)
│   │  │  │  ├───0.05 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/SearchStaticData.jsm)
│   │  │  │  ├───0.05 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/marionettecomponent.js)
│   │  │  │  ├───0.05 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/DeferredTask.jsm)
│   │  │  │  ├───0.05 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/Locale.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/CrashMonitor.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/browser/components/aboutNewTabService.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/PlacesRemoteTabsAutocompleteProvider.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/LightweightThemeConsumer.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/AppsService.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/sessionstore/DocShellCapabilities.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/ManifestObtainer.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/FormSubmitObserver.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/ContentPrefServiceParent.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/DownloadStore.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/multiprocessShims.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/WindowDraggingUtils.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/UserAgentOverrides.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/NetUtil.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/LoginHelper.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/osfile/osfile_native.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://services-common/async.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/DownloadsViewUI.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/FileUtils.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/sessionstore/SessionStorage.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/MessageBroadcaster.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/Feeds.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsTerminatorTelemetry.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/RemoteWebProgress.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/TelemetryTimestamps.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/NetworkPrioritizer.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/sessionstore/StartupPerformance.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/ConsoleAPIStorage.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://services-common/stringbundle.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/SharedPromptUtils.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/DownloadsTaskbar.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://pdf.js/PdfjsContentUtils.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/NewTabPrefsProvider.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/sessionstore/TabStateFlusher.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/sessionstore/GlobalState.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/Timer.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/crypto-SDR.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://services-common/observers.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/CloudSync.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/browser/components/devtools-clhandler.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/TelemetryArchive.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://services-sync/main.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/ScrollPosition.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/InlineSpellCheckerContent.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/RemotePrompt.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/ObjectUtils.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/AppConstants.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/AboutNewTab.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/XPathGenerator.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/sessionstore/TabAttributes.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/CertUtils.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/FormValidationHandler.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/KeyValueParser.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/browser/components/ExperimentsService.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/UITelemetry.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/ShellService.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/HiddenFrame.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/MainProcessSingleton.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsDefaultCLH.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/SiteSpecificUserAgent.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/FormHistoryStartup.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/sessionstore/TabStateCache.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource:///modules/ContentClick.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/FormAutofillStartup.js)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/PrivateBrowsingUtils.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/AppDownloadManager.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/ManifestFinder.jsm)
│   │  │  │  ├───0.04 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/messageWakeupService.js)
│   │  │  │  ├───0.03 MB (00.03%) ++ compartment([System Principal], resource:///modules/sessionstore/Utils.jsm)
│   │  │  │  ├───0.03 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/InterAppCommService.js)
│   │  │  │  ├───0.03 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/CrashService.js)
│   │  │  │  ├───0.03 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/ContentPrefUtils.jsm)
│   │  │  │  ├───0.03 MB (00.03%) ++ compartment([System Principal], resource://shumway/ShumwayUtils.jsm)
│   │  │  │  ├───0.03 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsUpdateServiceStub.js)
│   │  │  │  ├───0.03 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/TelemetryStartup.js)
│   │  │  │  ├───0.03 MB (00.03%) ++ compartment([System Principal], resource:///modules/UserContextUI.jsm)
│   │  │  │  ├───0.03 MB (00.03%) ++ compartment([System Principal], resource://gre/modules/ShimWaiver.jsm)
│   │  │  │  ├───0.03 MB (00.03%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/defaultShims.js)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/browser/components/nsSetDefaultBrowser.js)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/browser/components/webideCli.js)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource:///modules/sessionstore/PageStyle.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource:///modules/RecentWindow.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource://gre/modules/PushServiceChildPreload.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/recording-cmdline.js)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource://gre/modules/ValueExtractor.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource://gre/modules/osfile/ospath.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource:///modules/sessionstore/RunState.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/nsCrashMonitor.js)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource:///modules/ContentObservers.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource:///modules/sessionstore/PrivacyLevel.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource://gre/modules/PromiseMessage.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource://gre/modules/BinarySearch.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource:///modules/sessionstore/SessionWorker.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource://gre/modules/addons/AddonConstants.jsm)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource://gre/modules/devtools/event-emitter.js)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], file:///d:/gecko-dev/obj-x86_64-pc-mingw32/dist/bin/components/SlowScriptDebug.js)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource://gre/modules/debug.js)
│   │  │  │  ├───0.03 MB (00.02%) ++ compartment([System Principal], resource://gre/modules/osfile.jsm)
│   │  │  │  ├───0.02 MB (00.02%) ++ compartment(moz-nullprincipal:{959614b0-9804-4d43-aab0-5905f26b9fd2}, XPConnect Junk Compartment)
│   │  │  │  ├───0.02 MB (00.01%) ── baseline/optimized-stubs
│   │  │  │  └───0.01 MB (00.01%) ++ sundries
│   │  │  └───1.61 MB (01.23%) ++ compartment(moz-nullprincipal:{90cf35c2-75ea-4c1c-9c15-30c380f72c53}, XPConnect Compilation Compartment)

Perhaps the memory used by that hash table is just not tracked (or something is off with the tracking?) and that's why DMD is showing that up as unreported.
Whiteboard: [MemShrink:P?]
Just realized we aren't counting the `pcLocationMap` hash table, which is where all of these stacks are from.
Assignee: nobody → nfitzgerald
Status: NEW → ASSIGNED
Attachment #8711090 - Flags: review?(n.nethercote) → review+
Jukka: you can use the -f / --max-frames option to dmd.py to reduce the number of frames shown in the stack traces. This causes some record to be merged, which can be useful. E.g. if you used |-f 5| I think all the records in comment 0 would get merged.
https://hg.mozilla.org/mozilla-central/rev/9e6d0180994b
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
You need to log in before you can comment on or make changes to this bug.