Title: [137472] trunk/Source/WebCore
Revision
137472
Author
loi...@chromium.org
Date
2012-12-12 08:52:35 -0800 (Wed, 12 Dec 2012)

Log Message

Web Inspector: instrument static parts of RenderBlock and RenderBox
https://bugs.webkit.org/show_bug.cgi?id=104660

Reviewed by Yury Semikhatsky.

Plain vanilla instrumentation.

* dom/WebCoreMemoryInstrumentation.cpp:
(WebCore):
(WebCore::WebCoreMemoryInstrumentation::reportMemoryUsage):
* dom/WebCoreMemoryInstrumentation.h:
(WebCoreMemoryTypes):
(WebCoreMemoryInstrumentation):
(WebCore):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::reportStaticMembersMemoryUsage):
(WebCore):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::reportStaticMembersMemoryUsage):
(WebCore):
* rendering/RenderBox.h:
(RenderBox):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (137471 => 137472)


--- trunk/Source/WebCore/ChangeLog	2012-12-12 16:49:23 UTC (rev 137471)
+++ trunk/Source/WebCore/ChangeLog	2012-12-12 16:52:35 UTC (rev 137472)
@@ -1,5 +1,34 @@
 2012-12-12  Ilya Tikhonovsky  <loi...@chromium.org>
 
+        Web Inspector: instrument static parts of RenderBlock and RenderBox
+        https://bugs.webkit.org/show_bug.cgi?id=104660
+
+        Reviewed by Yury Semikhatsky.
+
+        Plain vanilla instrumentation.
+
+        * dom/WebCoreMemoryInstrumentation.cpp:
+        (WebCore):
+        (WebCore::WebCoreMemoryInstrumentation::reportMemoryUsage):
+        * dom/WebCoreMemoryInstrumentation.h:
+        (WebCoreMemoryTypes):
+        (WebCoreMemoryInstrumentation):
+        (WebCore):
+        * inspector/InspectorMemoryAgent.cpp:
+        (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::reportStaticMembersMemoryUsage):
+        (WebCore):
+        * rendering/RenderBlock.h:
+        (RenderBlock):
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::reportStaticMembersMemoryUsage):
+        (WebCore):
+        * rendering/RenderBox.h:
+        (RenderBox):
+
+2012-12-12  Ilya Tikhonovsky  <loi...@chromium.org>
+
         Web Inspector: Native Memory Instrumentation: remove fake root MemoryObjectInfo.
         https://bugs.webkit.org/show_bug.cgi?id=104796
 

Modified: trunk/Source/WebCore/dom/WebCoreMemoryInstrumentation.cpp (137471 => 137472)


--- trunk/Source/WebCore/dom/WebCoreMemoryInstrumentation.cpp	2012-12-12 16:49:23 UTC (rev 137471)
+++ trunk/Source/WebCore/dom/WebCoreMemoryInstrumentation.cpp	2012-12-12 16:52:35 UTC (rev 137472)
@@ -31,12 +31,16 @@
 #include "config.h"
 #include "WebCoreMemoryInstrumentation.h"
 
+#include "RenderBlock.h"
+#include "RenderBox.h"
+
 namespace WebCore {
 
 MemoryObjectType WebCoreMemoryTypes::Page = "Page";
 MemoryObjectType WebCoreMemoryTypes::DOM = "Page.DOM";
 MemoryObjectType WebCoreMemoryTypes::CSS = "Page.CSS";
 MemoryObjectType WebCoreMemoryTypes::Binding = "Page.Binding";
+MemoryObjectType WebCoreMemoryTypes::RenderingStructures = "Page.Rendering.Structures";
 
 MemoryObjectType WebCoreMemoryTypes::MemoryCacheStructures = "MemoryCache.InternalStructures";
 MemoryObjectType WebCoreMemoryTypes::CachedResource = "MemoryCache.Resource";
@@ -72,4 +76,11 @@
 
 MemoryObjectType WebCoreMemoryTypes::ProcessPrivateMemory = "ProcessPrivateMemory";
 
+
+void WebCoreMemoryInstrumentation::reportStaticMembersMemoryUsage(WTF::MemoryInstrumentation* memoryInstrumentation)
+{
+    RenderBlock::reportStaticMembersMemoryUsage(memoryInstrumentation);
+    RenderBox::reportStaticMembersMemoryUsage(memoryInstrumentation);
+}
+
 } // namespace WebCore

Modified: trunk/Source/WebCore/dom/WebCoreMemoryInstrumentation.h (137471 => 137472)


--- trunk/Source/WebCore/dom/WebCoreMemoryInstrumentation.h	2012-12-12 16:49:23 UTC (rev 137471)
+++ trunk/Source/WebCore/dom/WebCoreMemoryInstrumentation.h	2012-12-12 16:52:35 UTC (rev 137472)
@@ -45,6 +45,7 @@
     static MemoryObjectType DOM;
     static MemoryObjectType CSS;
     static MemoryObjectType Binding;
+    static MemoryObjectType RenderingStructures;
 
     static MemoryObjectType MemoryCacheStructures;
     static MemoryObjectType CachedResource;
@@ -81,6 +82,12 @@
     static MemoryObjectType ProcessPrivateMemory;
 };
 
+class WebCoreMemoryInstrumentation {
+public:
+    static void reportStaticMembersMemoryUsage(WTF::MemoryInstrumentation*);
+};
+
+
 } // namespace WebCore
 
 #endif // !defined(WebCoreMemoryInstrumentation_h)

Modified: trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp (137471 => 137472)


--- trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp	2012-12-12 16:49:23 UTC (rev 137471)
+++ trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp	2012-12-12 16:52:35 UTC (rev 137472)
@@ -545,7 +545,8 @@
     reportRenderTreeInfo(memoryInstrumentationClient, m_page);
     collectDomTreeInfo(memoryInstrumentation, m_page); // FIXME: collect for all pages?
 
-    PlatformMemoryInstrumentation::reportMemoryUsage(&memoryInstrumentation);
+    PlatformMemoryInstrumentation::reportStaticMembersMemoryUsage(&memoryInstrumentation);
+    WebCoreMemoryInstrumentation::reportStaticMembersMemoryUsage(&memoryInstrumentation);
 
     RefPtr<InspectorMemoryBlocks> children = InspectorMemoryBlocks::create();
     addPlatformComponentsInfo(children);

Modified: trunk/Source/WebCore/platform/PlatformMemoryInstrumentation.cpp (137471 => 137472)


--- trunk/Source/WebCore/platform/PlatformMemoryInstrumentation.cpp	2012-12-12 16:49:23 UTC (rev 137471)
+++ trunk/Source/WebCore/platform/PlatformMemoryInstrumentation.cpp	2012-12-12 16:52:35 UTC (rev 137472)
@@ -45,7 +45,7 @@
 MemoryObjectType PlatformMemoryTypes::Audio = "Page.Audio";
 MemoryObjectType PlatformMemoryTypes::AudioSharedData = "Page.Audio.SharedData";
 
-void PlatformMemoryInstrumentation::reportMemoryUsage(WTF::MemoryInstrumentation* memoryInstrumentation)
+void PlatformMemoryInstrumentation::reportStaticMembersMemoryUsage(WTF::MemoryInstrumentation* memoryInstrumentation)
 {
 #if ENABLE(WEB_AUDIO)
     memoryInstrumentation->addRootObject(HRTFDatabaseLoader::loader());

Modified: trunk/Source/WebCore/platform/PlatformMemoryInstrumentation.h (137471 => 137472)


--- trunk/Source/WebCore/platform/PlatformMemoryInstrumentation.h	2012-12-12 16:49:23 UTC (rev 137471)
+++ trunk/Source/WebCore/platform/PlatformMemoryInstrumentation.h	2012-12-12 16:52:35 UTC (rev 137472)
@@ -52,7 +52,7 @@
 
 class PlatformMemoryInstrumentation {
 public:
-    static void reportMemoryUsage(WTF::MemoryInstrumentation*);
+    static void reportStaticMembersMemoryUsage(WTF::MemoryInstrumentation*);
 };
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (137471 => 137472)


--- trunk/Source/WebCore/rendering/RenderBlock.cpp	2012-12-12 16:49:23 UTC (rev 137471)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp	2012-12-12 16:52:35 UTC (rev 137472)
@@ -66,6 +66,9 @@
 #if ENABLE(CSS_EXCLUSIONS)
 #include "ExclusionShapeInsideInfo.h"
 #endif
+#include <wtf/MemoryInstrumentationHashMap.h>
+#include <wtf/MemoryInstrumentationHashSet.h>
+#include <wtf/MemoryInstrumentationListHashSet.h>
 
 using namespace std;
 using namespace WTF;
@@ -7705,4 +7708,14 @@
     info.addMember(m_lineBoxes);
 }
 
+void RenderBlock::reportStaticMembersMemoryUsage(MemoryInstrumentation* memoryInstrumentation)
+{
+    memoryInstrumentation->addRootObject(gColumnInfoMap, WebCoreMemoryTypes::RenderingStructures);
+    memoryInstrumentation->addRootObject(gPositionedDescendantsMap, WebCoreMemoryTypes::RenderingStructures);
+    memoryInstrumentation->addRootObject(gPercentHeightDescendantsMap, WebCoreMemoryTypes::RenderingStructures);
+    memoryInstrumentation->addRootObject(gPositionedContainerMap, WebCoreMemoryTypes::RenderingStructures);
+    memoryInstrumentation->addRootObject(gPercentHeightContainerMap, WebCoreMemoryTypes::RenderingStructures);
+    memoryInstrumentation->addRootObject(gDelayedUpdateScrollInfoSet, WebCoreMemoryTypes::RenderingStructures);
+}
+
 } // namespace WebCore

Modified: trunk/Source/WebCore/rendering/RenderBlock.h (137471 => 137472)


--- trunk/Source/WebCore/rendering/RenderBlock.h	2012-12-12 16:49:23 UTC (rev 137471)
+++ trunk/Source/WebCore/rendering/RenderBlock.h	2012-12-12 16:52:35 UTC (rev 137472)
@@ -437,6 +437,7 @@
 #endif
 
     virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
+    static void reportStaticMembersMemoryUsage(MemoryInstrumentation*);
 
 protected:
     virtual void willBeDestroyed();

Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (137471 => 137472)


--- trunk/Source/WebCore/rendering/RenderBox.cpp	2012-12-12 16:49:23 UTC (rev 137471)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp	2012-12-12 16:52:35 UTC (rev 137472)
@@ -57,9 +57,16 @@
 #include "WebCoreMemoryInstrumentation.h"
 #include <algorithm>
 #include <math.h>
+#include <wtf/MemoryInstrumentationHashMap.h>
 
 using namespace std;
 
+namespace WTF {
+template<> struct SequenceMemoryInstrumentationTraits<WebCore::LayoutUnit> {
+    template <typename I> static void reportMemoryUsage(I, I, MemoryClassInfo&) { }
+};
+}
+
 namespace WebCore {
 
 using namespace HTMLNames;
@@ -4240,4 +4247,12 @@
     info.addMember(m_overflow);
 }
 
+void RenderBox::reportStaticMembersMemoryUsage(MemoryInstrumentation* memoryInstrumentation)
+{
+    memoryInstrumentation->addRootObject(gOverrideHeightMap, WebCoreMemoryTypes::RenderingStructures);
+    memoryInstrumentation->addRootObject(gOverrideWidthMap, WebCoreMemoryTypes::RenderingStructures);
+    memoryInstrumentation->addRootObject(gOverrideContainingBlockLogicalHeightMap, WebCoreMemoryTypes::RenderingStructures);
+    memoryInstrumentation->addRootObject(gOverrideContainingBlockLogicalWidthMap, WebCoreMemoryTypes::RenderingStructures);
+}
+
 } // namespace WebCore

Modified: trunk/Source/WebCore/rendering/RenderBox.h (137471 => 137472)


--- trunk/Source/WebCore/rendering/RenderBox.h	2012-12-12 16:49:23 UTC (rev 137471)
+++ trunk/Source/WebCore/rendering/RenderBox.h	2012-12-12 16:52:35 UTC (rev 137472)
@@ -567,6 +567,7 @@
     bool hasSameDirectionAs(const RenderBox* object) const { return style()->direction() == object->style()->direction(); }
 
     virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
+    static void reportStaticMembersMemoryUsage(MemoryInstrumentation*);
 
 protected:
     virtual void willBeDestroyed();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to