Title: [132998] trunk/Source/WebCore
- Revision
- 132998
- Author
- [email protected]
- Date
- 2012-10-31 01:36:11 -0700 (Wed, 31 Oct 2012)
Log Message
Memory instrumentation: do not report memory occupied by objects referenced using client interfaces
https://bugs.webkit.org/show_bug.cgi?id=100824
Reviewed by Alexander Pavlov.
In many classes we have pointer to a client object. These references should be
reported as weak pointers and the client's memory usage should be reported when
the client is reached from its instrumented owner where we know exact type of
the client. Otherwise we would need to add reportMemoryUsage to all client
interfaces which places additional burden on the client implementers and blurs
the instrumentation boundaries.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::reportMemoryUsage):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::reportMemoryUsage):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::reportMemoryUsage):
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::reportMemoryUsage):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::reportMemoryUsage):
* page/Page.cpp:
(WebCore::Page::reportMemoryUsage):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (132997 => 132998)
--- trunk/Source/WebCore/ChangeLog 2012-10-31 08:18:01 UTC (rev 132997)
+++ trunk/Source/WebCore/ChangeLog 2012-10-31 08:36:11 UTC (rev 132998)
@@ -1,3 +1,30 @@
+2012-10-31 Yury Semikhatsky <[email protected]>
+
+ Memory instrumentation: do not report memory occupied by objects referenced using client interfaces
+ https://bugs.webkit.org/show_bug.cgi?id=100824
+
+ Reviewed by Alexander Pavlov.
+
+ In many classes we have pointer to a client object. These references should be
+ reported as weak pointers and the client's memory usage should be reported when
+ the client is reached from its instrumented owner where we know exact type of
+ the client. Otherwise we would need to add reportMemoryUsage to all client
+ interfaces which places additional burden on the client implementers and blurs
+ the instrumentation boundaries.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::reportMemoryUsage):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::reportMemoryUsage):
+ * inspector/InspectorMemoryAgent.cpp:
+ (WebCore::InspectorMemoryAgent::reportMemoryUsage):
+ * inspector/InspectorOverlay.cpp:
+ (WebCore::InspectorOverlay::reportMemoryUsage):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::InspectorResourceAgent::reportMemoryUsage):
+ * page/Page.cpp:
+ (WebCore::Page::reportMemoryUsage):
+
2012-10-31 Tim Horton <[email protected]>
Unreviewed, attempt to fix the build by exporting NoExceptionAssertionChecker symbols.
Modified: trunk/Source/WebCore/inspector/InspectorController.cpp (132997 => 132998)
--- trunk/Source/WebCore/inspector/InspectorController.cpp 2012-10-31 08:18:01 UTC (rev 132997)
+++ trunk/Source/WebCore/inspector/InspectorController.cpp 2012-10-31 08:36:11 UTC (rev 132998)
@@ -404,7 +404,7 @@
info.addMember(m_inspectorFrontendClient);
info.addMember(m_inspectorFrontend);
info.addMember(m_page);
- info.addMember(m_inspectorClient);
+ info.addWeakPointer(m_inspectorClient);
info.addMember(m_agents);
}
Modified: trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp (132997 => 132998)
--- trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp 2012-10-31 08:18:01 UTC (rev 132997)
+++ trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp 2012-10-31 08:36:11 UTC (rev 132998)
@@ -748,7 +748,7 @@
info.addMember(m_breakpointIdToDebugServerBreakpointIds);
info.addMember(m_continueToLocationBreakpointId);
info.addMember(m_breakAuxData);
- info.addMember(m_listener);
+ info.addWeakPointer(m_listener);
}
void ScriptDebugListener::Script::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
Modified: trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp (132997 => 132998)
--- trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp 2012-10-31 08:18:01 UTC (rev 132997)
+++ trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp 2012-10-31 08:36:11 UTC (rev 132998)
@@ -559,7 +559,7 @@
{
MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Inspector);
InspectorBaseAgent<InspectorMemoryAgent>::reportMemoryUsage(memoryObjectInfo);
- info.addMember(m_inspectorClient);
+ info.addWeakPointer(m_inspectorClient);
info.addMember(m_page);
}
Modified: trunk/Source/WebCore/inspector/InspectorOverlay.cpp (132997 => 132998)
--- trunk/Source/WebCore/inspector/InspectorOverlay.cpp 2012-10-31 08:18:01 UTC (rev 132997)
+++ trunk/Source/WebCore/inspector/InspectorOverlay.cpp 2012-10-31 08:36:11 UTC (rev 132998)
@@ -504,7 +504,7 @@
{
MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::InspectorOverlay);
info.addMember(m_page);
- info.addMember(m_client);
+ info.addWeakPointer(m_client);
info.addMember(m_pausedInDebuggerMessage);
info.addMember(m_highlightNode);
info.addMember(m_nodeHighlightConfig);
Modified: trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp (132997 => 132998)
--- trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp 2012-10-31 08:18:01 UTC (rev 132997)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp 2012-10-31 08:36:11 UTC (rev 132998)
@@ -674,8 +674,8 @@
{
MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::InspectorResourceAgent);
InspectorBaseAgent<InspectorResourceAgent>::reportMemoryUsage(memoryObjectInfo);
- info.addMember(m_pageAgent);
- info.addMember(m_client);
+ info.addWeakPointer(m_pageAgent);
+ info.addWeakPointer(m_client);
info.addWeakPointer(m_frontend);
info.addMember(m_userAgentOverride);
info.addMember(m_resourcesData);
Modified: trunk/Source/WebCore/page/Page.cpp (132997 => 132998)
--- trunk/Source/WebCore/page/Page.cpp 2012-10-31 08:18:01 UTC (rev 132997)
+++ trunk/Source/WebCore/page/Page.cpp 2012-10-31 08:36:11 UTC (rev 132998)
@@ -1295,7 +1295,7 @@
info.addMember(m_mainFrame);
info.addMember(m_pluginData);
info.addMember(m_theme);
- info.addMember(m_editorClient);
+ info.addWeakPointer(m_editorClient);
info.addMember(m_featureObserver);
info.addMember(m_groupName);
info.addMember(m_pagination);
@@ -1308,7 +1308,7 @@
info.addMember(m_relevantUnpaintedRenderObjects);
info.addMember(m_relevantPaintedRegion);
info.addMember(m_relevantUnpaintedRegion);
- info.addMember(m_alternativeTextClient);
+ info.addWeakPointer(m_alternativeTextClient);
info.addMember(m_seenPlugins);
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes