Bug 922094 - part 1 - report proto/iface cache size to about:memory; r=njn
☠☠ backed out by 987504ee4b4c ☠ ☠
authorNathan Froyd <froydnj@mozilla.com>
Wed, 13 Nov 2013 16:43:25 -0500
changeset 156394 427cd48f6c6d59df383fc1cd516ead04cf37e5b3
parent 156393 ddf925dab8617170c22d558de5c11fa3e1a5e167
child 156395 7e5acb32bd117554b2e39cb6acf3d026ce33b248
push id25678
push userryanvm@gmail.com
push dateWed, 20 Nov 2013 03:26:13 +0000
treeherdermozilla-central@4f993fa378eb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnjn
bugs922094
milestone28.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 922094 - part 1 - report proto/iface cache size to about:memory; r=njn
dom/base/nsWindowMemoryReporter.cpp
dom/base/nsWindowMemoryReporter.h
--- a/dom/base/nsWindowMemoryReporter.cpp
+++ b/dom/base/nsWindowMemoryReporter.cpp
@@ -305,16 +305,21 @@ CollectWindowReports(nsGlobalWindow *aWi
   aWindowTotalSizes->mDOMEventListenersCount +=
     windowSizes.mDOMEventListenersCount;
 
   REPORT_SIZE("/dom/other", windowSizes.mDOMOtherSize,
               "Memory used by a window's DOM that isn't measured by the "
               "other 'dom/' numbers.");
   aWindowTotalSizes->mDOMOtherSize += windowSizes.mDOMOtherSize;
 
+  REPORT_SIZE("/proto-iface-cache", windowSizes.mProtoIfaceCacheSize,
+              "Memory used for prototype and interface binding caches "
+              "with a window.");
+  aWindowTotalSizes->mProtoIfaceCacheSize += windowSizes.mProtoIfaceCacheSize;
+
   REPORT_SIZE("/property-tables",
               windowSizes.mPropertyTablesSize,
               "Memory used for the property tables within a window.");
   aWindowTotalSizes->mPropertyTablesSize += windowSizes.mPropertyTablesSize;
 
   REPORT_SIZE("/style-sheets", windowSizes.mStyleSheetsSize,
               "Memory used by style sheets within a window.");
   aWindowTotalSizes->mStyleSheetsSize += windowSizes.mStyleSheetsSize;
@@ -526,16 +531,19 @@ nsWindowMemoryReporter::CollectReports(n
          "This is the sum of all windows' 'dom/comment-nodes' numbers.");
 
   REPORT("window-objects/dom/event-targets", windowTotalSizes.mDOMEventTargetsSize,
          "This is the sum of all windows' 'dom/event-targets' numbers.");
 
   REPORT("window-objects/dom/other", windowTotalSizes.mDOMOtherSize,
          "This is the sum of all windows' 'dom/other' numbers.");
 
+  REPORT("window-objects/proto-iface-cache", windowTotalSizes.mProtoIfaceCacheSize,
+         "This is the sum of all windows' 'proto-iface-cache' numbers.");
+
   REPORT("window-objects/property-tables",
          windowTotalSizes.mPropertyTablesSize,
          "This is the sum of all windows' 'property-tables' numbers.");
 
   REPORT("window-objects/style-sheets", windowTotalSizes.mStyleSheetsSize,
          "This is the sum of all windows' 'style-sheets' numbers.");
 
   REPORT("window-objects/layout/pres-shell", windowTotalSizes.mLayoutPresShellSize,
--- a/dom/base/nsWindowMemoryReporter.h
+++ b/dom/base/nsWindowMemoryReporter.h
@@ -35,16 +35,17 @@ class nsWindowSizes {
   macro(DOM,   mDOMEventTargetsSize) \
   macro(DOM,   mDOMOtherSize) \
   macro(Style, mStyleSheetsSize) \
   macro(Other, mLayoutPresShellSize) \
   macro(Style, mLayoutStyleSetsSize) \
   macro(Other, mLayoutTextRunsSize) \
   macro(Other, mLayoutPresContextSize) \
   macro(Other, mPropertyTablesSize) \
+  macro(Other, mProtoIfaceCacheSize) \
 
 public:
   nsWindowSizes(mozilla::MallocSizeOf aMallocSizeOf)
     :
       #define ZERO_SIZE(kind, mSize)  mSize(0),
       FOR_EACH_SIZE(ZERO_SIZE)
       #undef ZERO_SIZE
       mDOMEventTargetsCount(0),