Title: [139192] trunk/Source/WebCore
Revision
139192
Author
[email protected]
Date
2013-01-09 07:02:47 -0800 (Wed, 09 Jan 2013)

Log Message

Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 1/N
https://bugs.webkit.org/show_bug.cgi?id=106445

Reviewed by Vsevolod Vlasov.

The patch has almost mechanical changes.

* bindings/v8/V8Binding.cpp:
* bindings/v8/V8ValueCache.cpp:
(WTF):
(WebCore::StringCache::reportMemoryUsage):
(WebCore):
* dom/Document.cpp:
(WebCore::Document::reportMemoryUsage):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
* dom/ElementRareData.cpp:
(WebCore::ElementRareData::reportMemoryUsage):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::reportMemoryUsage):
* page/Frame.cpp:
(WebCore::Frame::reportMemoryUsage):
* page/Page.cpp:
(WebCore::Page::reportMemoryUsage):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::reportMemoryUsage):
* platform/network/FormData.cpp:
(WebCore::FormData::reportMemoryUsage):
(WebCore):
(WebCore::FormDataElement::reportMemoryUsage):
* platform/network/FormData.h:
(FormDataElement):
* rendering/RenderView.cpp:
(WebCore::RenderView::reportMemoryUsage):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::reportMemoryUsage):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (139191 => 139192)


--- trunk/Source/WebCore/ChangeLog	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/ChangeLog	2013-01-09 15:02:47 UTC (rev 139192)
@@ -1,3 +1,42 @@
+2012-12-29  Ilya Tikhonovsky  <[email protected]>
+
+        Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 1/N
+        https://bugs.webkit.org/show_bug.cgi?id=106445
+
+        Reviewed by Vsevolod Vlasov.
+
+        The patch has almost mechanical changes.
+
+        * bindings/v8/V8Binding.cpp:
+        * bindings/v8/V8ValueCache.cpp:
+        (WTF):
+        (WebCore::StringCache::reportMemoryUsage):
+        (WebCore):
+        * dom/Document.cpp:
+        (WebCore::Document::reportMemoryUsage):
+        * dom/DocumentStyleSheetCollection.cpp:
+        (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
+        * dom/ElementRareData.cpp:
+        (WebCore::ElementRareData::reportMemoryUsage):
+        * loader/cache/CachedResource.cpp:
+        (WebCore::CachedResource::reportMemoryUsage):
+        * page/Frame.cpp:
+        (WebCore::Frame::reportMemoryUsage):
+        * page/Page.cpp:
+        (WebCore::Page::reportMemoryUsage):
+        * platform/graphics/skia/NativeImageSkia.cpp:
+        (WebCore::NativeImageSkia::reportMemoryUsage):
+        * platform/network/FormData.cpp:
+        (WebCore::FormData::reportMemoryUsage):
+        (WebCore):
+        (WebCore::FormDataElement::reportMemoryUsage):
+        * platform/network/FormData.h:
+        (FormDataElement):
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::reportMemoryUsage):
+        * rendering/style/StyleRareNonInheritedData.cpp:
+        (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
+
 2013-01-09  Florin Malita  <[email protected]>
 
         [Skia] Implement GraphicsContext::fillRoundedRect() using SkCanvas::drawRRect()

Modified: trunk/Source/WebCore/bindings/v8/V8Binding.cpp (139191 => 139192)


--- trunk/Source/WebCore/bindings/v8/V8Binding.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/bindings/v8/V8Binding.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -53,7 +53,6 @@
 #include "XPathNSResolver.h"
 #include <wtf/MathExtras.h>
 #include <wtf/MainThread.h>
-#include <wtf/MemoryInstrumentationHashMap.h>
 #include <wtf/StdLibExtras.h>
 #include <wtf/Threading.h>
 #include <wtf/text/AtomicString.h>
@@ -62,14 +61,6 @@
 #include <wtf/text/StringHash.h>
 #include <wtf/text/WTFString.h>
 
-namespace WTF {
-
-template<> struct SequenceMemoryInstrumentationTraits<v8::String*> {
-    template <typename I> static void reportMemoryUsage(I, I, MemoryClassInfo&) { }
-};
-
-}
-
 namespace WebCore {
 
 v8::Handle<v8::Value> setDOMException(int exceptionCode, v8::Isolate* isolate)
@@ -190,12 +181,6 @@
     return v8::Persistent<v8::FunctionTemplate>::New(result);
 }        
 
-void StringCache::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
-    MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding);
-    info.addMember(m_stringCache);
-}
-    
 PassRefPtr<DOMStringList> toDOMStringList(v8::Handle<v8::Value> value, v8::Isolate* isolate)
 {
     v8::Local<v8::Value> v8Value(v8::Local<v8::Value>::New(value));

Modified: trunk/Source/WebCore/bindings/v8/V8ValueCache.cpp (139191 => 139192)


--- trunk/Source/WebCore/bindings/v8/V8ValueCache.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/bindings/v8/V8ValueCache.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -27,7 +27,17 @@
 #include "V8ValueCache.h"
 
 #include "V8Binding.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/MemoryInstrumentationHashMap.h>
 
+namespace WTF {
+
+template<> struct SequenceMemoryInstrumentationTraits<v8::String*> {
+    template <typename I> static void reportMemoryUsage(I, I, MemoryClassInfo&) { }
+};
+
+}
+
 namespace WebCore {
 
 static v8::Local<v8::String> makeExternalString(const String& string)
@@ -100,6 +110,14 @@
     return newString;
 }
 
+void StringCache::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+    MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding);
+    info.addMember(m_stringCache);
+    info.ignoreMember(m_lastV8String);
+    info.addMember(m_lastStringImpl);
+}
+
 IntegerCache::IntegerCache()
 {
     v8::HandleScope handleScope;

Modified: trunk/Source/WebCore/dom/Document.cpp (139191 => 139192)


--- trunk/Source/WebCore/dom/Document.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/dom/Document.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -176,6 +176,7 @@
 #include <wtf/CurrentTime.h>
 #include <wtf/HashFunctions.h>
 #include <wtf/MainThread.h>
+#include <wtf/MemoryInstrumentationHashCountedSet.h>
 #include <wtf/MemoryInstrumentationHashMap.h>
 #include <wtf/MemoryInstrumentationHashSet.h>
 #include <wtf/MemoryInstrumentationVector.h>
@@ -5948,6 +5949,76 @@
     info.addMember(m_prerenderer);
 #endif
     info.addMember(m_listsInvalidatedAtDocument);
+    info.addMember(m_styleResolverThrowawayTimer);
+    info.addMember(m_domWindow);
+    info.addMember(m_parser);
+    info.addMember(m_contextFeatures);
+    info.addMember(m_focusedNode);
+    info.addMember(m_hoverNode);
+    info.addMember(m_documentElement);
+    info.addMember(m_visitedLinkState);
+    info.addMember(m_styleRecalcTimer);
+    info.addMember(m_titleElement);
+    info.ignoreMember(m_renderArena);
+    info.addMember(m_axObjectCache);
+    info.addMember(m_markers);
+    info.addMember(m_cssTarget);
+    info.addMember(m_updateFocusAppearanceTimer);
+    info.addMember(m_pendingStateObject);
+    info.addMember(m_scriptRunner);
+#if ENABLE(XSLT)
+    info.addMember(m_transformSource);
+    info.addMember(m_transformSourceDocument);
+#endif
+    info.addMember(m_savedRenderer);
+    info.addMember(m_decoder);
+    info.addMember(m_xpathEvaluator);
+#if ENABLE(SVG)
+    info.addMember(m_svgExtensions);
+#endif
+    info.addMember(m_selectorQueryCache);
+    info.addMember(m_renderer);
+    info.addMember(m_weakReference);
+    info.addMember(m_idAttributeName);
+#if ENABLE(FULLSCREEN_API)
+    info.addMember(m_fullScreenElement);
+    info.addMember(m_fullScreenElementStack);
+    info.addMember(m_fullScreenRenderer);
+    info.addMember(m_fullScreenChangeDelayTimer);
+    info.addMember(m_fullScreenChangeEventTargetQueue);
+    info.addMember(m_fullScreenErrorEventTargetQueue);
+    info.addMember(m_savedPlaceholderRenderStyle);
+#endif
+#if ENABLE(DIALOG_ELEMENT)
+    info.addMember(m_topLayerElements);
+#endif
+    info.addMember(m_loadEventDelayTimer);
+    info.addMember(m_viewportArguments);
+    info.addMember(m_documentTiming);
+    info.addMember(m_mediaQueryMatcher);
+#if ENABLE(TOUCH_EVENTS)
+    info.addMember(m_touchEventTargets);
+#endif
+#if ENABLE(REQUEST_ANIMATION_FRAME)
+    info.addMember(m_scriptedAnimationController);
+#endif
+    info.addMember(m_pendingTasksTimer);
+#if ENABLE(TEXT_AUTOSIZING)
+    info.addMember(m_textAutosizer);
+#endif
+    info.addMember(m_visualUpdatesSuppressionTimer);
+    info.addMember(m_namedFlows);
+#if ENABLE(CSP_NEXT)
+    info.addMember(m_domSecurityPolicy);
+#endif
+    info.addMember(m_sharedObjectPoolClearTimer);
+    info.addMember(m_sharedObjectPool);
+    info.addMember(m_localeCache);
+#if ENABLE(TEMPLATE_ELEMENT)
+    info.addMember(m_templateDocument);
+    info.addMember(m_templateDocumentHost);
+#endif
+    info.addMember(m_activeElement);
 }
 
 bool Document::haveStylesheetsLoaded() const

Modified: trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp (139191 => 139192)


--- trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -510,6 +510,7 @@
     info.addMember(m_styleSheetCandidateNodes);
     info.addMember(m_preferredStylesheetSetName);
     info.addMember(m_selectedStylesheetSetName);
+    info.addMember(m_document);
 }
 
 }

Modified: trunk/Source/WebCore/dom/ElementRareData.cpp (139191 => 139192)


--- trunk/Source/WebCore/dom/ElementRareData.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/dom/ElementRareData.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -46,6 +46,8 @@
     info.addMember(m_classList);
     info.addMember(m_shadow);
     info.addMember(m_attributeMap);
+    info.addMember(m_generatedBefore);
+    info.addMember(m_generatedAfter);
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/loader/cache/CachedResource.cpp (139191 => 139192)


--- trunk/Source/WebCore/loader/cache/CachedResource.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/loader/cache/CachedResource.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -893,6 +893,7 @@
     MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResource);
     memoryObjectInfo->setName(url().string());
     info.addMember(m_resourceRequest);
+    info.addMember(m_fragmentIdentifierForRequest);
     info.addMember(m_clients);
     info.addMember(m_accept);
     info.addMember(m_loader);
@@ -907,6 +908,9 @@
     info.addMember(m_resourceToRevalidate);
     info.addMember(m_proxyResource);
     info.addMember(m_handlesToRevalidate);
+    info.addMember(m_options);
+    info.addMember(m_decodedDataDeletionTimer);
+    info.ignoreMember(m_clientsAwaitingCallback);
 
     if (m_purgeableData && !m_purgeableData->wasPurged())
         info.addRawBuffer(m_purgeableData.get(), m_purgeableData->size());

Modified: trunk/Source/WebCore/page/Frame.cpp (139191 => 139192)


--- trunk/Source/WebCore/page/Frame.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/page/Frame.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -668,8 +668,12 @@
 void Frame::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
 {
     MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
-    info.addMember(m_doc.get());
+    info.addMember(m_doc);
+    info.ignoreMember(m_view);
+    info.addMember(m_ownerElement);
+    info.addMember(m_page);
     info.addMember(m_loader);
+    info.ignoreMember(m_destructionObservers);
 }
 
 void Frame::willDetachPage()

Modified: trunk/Source/WebCore/page/Page.cpp (139191 => 139192)


--- trunk/Source/WebCore/page/Page.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/page/Page.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -1356,7 +1356,6 @@
     info.addMember(m_mainFrame);
     info.addMember(m_pluginData);
     info.addMember(m_theme);
-    info.addWeakPointer(m_editorClient);
     info.addMember(m_featureObserver);
     info.addMember(m_groupName);
     info.addMember(m_pagination);
@@ -1364,13 +1363,17 @@
     info.addMember(m_userStyleSheet);
     info.addMember(m_singlePageGroup);
     info.addMember(m_group);
-    info.addWeakPointer(m_debugger);
     info.addMember(m_sessionStorage);
     info.addMember(m_relevantUnpaintedRenderObjects);
     info.addMember(m_relevantPaintedRegion);
     info.addMember(m_relevantUnpaintedRegion);
-    info.addWeakPointer(m_alternativeTextClient);
     info.addMember(m_seenPlugins);
+    info.addMember(m_seenMediaEngines);
+
+    info.ignoreMember(m_debugger);
+    info.ignoreMember(m_alternativeTextClient);
+    info.ignoreMember(m_editorClient);
+    info.ignoreMember(m_validationMessageClient);
 }
 
 Page::PageClients::PageClients()

Modified: trunk/Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp (139191 => 139192)


--- trunk/Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -181,6 +181,7 @@
     MemoryClassInfo info(memoryObjectInfo, this);
     info.addMember(m_image);
     info.addMember(m_resizedImage);
+    info.addMember(m_cachedImageInfo);
 }
 
 void reportMemoryUsage(const NativeImageSkia* image, MemoryObjectInfo* memoryObjectInfo)

Modified: trunk/Source/WebCore/platform/network/FormData.cpp (139191 => 139192)


--- trunk/Source/WebCore/platform/network/FormData.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/platform/network/FormData.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -422,8 +422,20 @@
 {
     MemoryClassInfo info(memoryObjectInfo, this, PlatformMemoryTypes::Loader);
     info.addMember(m_boundary);
+    info.addMember(m_elements);
 }
 
+void FormDataElement::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+    MemoryClassInfo info(memoryObjectInfo, this, PlatformMemoryTypes::Loader);
+    info.addMember(m_data);
+    info.addMember(m_filename);
+#if ENABLE(BLOB)
+    info.addMember(m_url);
+#endif
+    info.addMember(m_generatedFilename);
+}
+
 static void encodeElement(Encoder& encoder, const FormDataElement& element)
 {
     encoder.encodeUInt32(element.m_type);

Modified: trunk/Source/WebCore/platform/network/FormData.h (139191 => 139192)


--- trunk/Source/WebCore/platform/network/FormData.h	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/platform/network/FormData.h	2013-01-09 15:02:47 UTC (rev 139192)
@@ -47,6 +47,8 @@
     FormDataElement(const KURL& url, long long start, long long length, double expectedFileModificationTime) : m_type(encodedURL), m_url(url), m_fileStart(start), m_fileLength(length), m_expectedFileModificationTime(expectedFileModificationTime), m_shouldGenerateFile(false) { }
 #endif
 
+    void reportMemoryUsage(MemoryObjectInfo*) const;
+
     enum Type {
         data,
         encodedFile

Modified: trunk/Source/WebCore/rendering/RenderView.cpp (139191 => 139192)


--- trunk/Source/WebCore/rendering/RenderView.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/rendering/RenderView.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -1030,6 +1030,7 @@
     info.addMember(m_flowThreadController);
     info.addMember(m_intervalArena);
     info.addWeakPointer(m_renderQuoteHead);
+    info.addMember(m_legacyPrinting);
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp (139191 => 139192)


--- trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp	2013-01-09 14:31:59 UTC (rev 139191)
+++ trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp	2013-01-09 15:02:47 UTC (rev 139192)
@@ -343,6 +343,12 @@
     info.addMember(m_clipPath);
     info.addMember(m_flowThread);
     info.addMember(m_regionThread);
+
+    info.ignoreMember(m_perspectiveOriginX);
+    info.ignoreMember(m_perspectiveOriginY);
+    info.ignoreMember(m_pageSize);
+    info.ignoreMember(m_shapeMargin);
+    info.ignoreMember(m_shapePadding);
 }
 
 } // namespace WebCore
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to