Diff
Modified: trunk/Source/WebCore/CMakeLists.txt (133599 => 133600)
--- trunk/Source/WebCore/CMakeLists.txt 2012-11-06 14:40:11 UTC (rev 133599)
+++ trunk/Source/WebCore/CMakeLists.txt 2012-11-06 14:45:05 UTC (rev 133600)
@@ -1621,6 +1621,7 @@
inspector/WorkerInspectorController.cpp
inspector/WorkerRuntimeAgent.cpp
+ loader/CachedMetadata.cpp
loader/CrossOriginAccessControl.cpp
loader/CrossOriginPreflightResultCache.cpp
loader/DocumentLoadTiming.cpp
Modified: trunk/Source/WebCore/ChangeLog (133599 => 133600)
--- trunk/Source/WebCore/ChangeLog 2012-11-06 14:40:11 UTC (rev 133599)
+++ trunk/Source/WebCore/ChangeLog 2012-11-06 14:45:05 UTC (rev 133600)
@@ -1,3 +1,24 @@
+2012-11-02 Ilya Tikhonovsky <[email protected]>
+
+ Web Inspector: NMI instrument CachedMetadata. It uses ~300k on plus.google.com
+ https://bugs.webkit.org/show_bug.cgi?id=101067
+
+ Reviewed by Yury Semikhatsky.
+
+ Plain vanilla instrumentation for CachedMetadata class.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * loader/CachedMetadata.cpp: Added.
+ (WebCore):
+ (WebCore::CachedMetadata::reportMemoryUsage):
+ * loader/CachedMetadata.h:
+ (CachedMetadata):
+
2012-11-06 Alexei Filippov <[email protected]>
Web Inspector: report physical memory really committed for JS heap in NMI
Modified: trunk/Source/WebCore/GNUmakefile.list.am (133599 => 133600)
--- trunk/Source/WebCore/GNUmakefile.list.am 2012-11-06 14:40:11 UTC (rev 133599)
+++ trunk/Source/WebCore/GNUmakefile.list.am 2012-11-06 14:45:05 UTC (rev 133600)
@@ -3855,6 +3855,7 @@
Source/WebCore/loader/cache/CachedXSLStyleSheet.h \
Source/WebCore/loader/cache/MemoryCache.h \
Source/WebCore/loader/cache/CachePolicy.h \
+ Source/WebCore/loader/CachedMetadata.cpp \
Source/WebCore/loader/CachedMetadata.h \
Source/WebCore/loader/CrossOriginAccessControl.cpp \
Source/WebCore/loader/CrossOriginAccessControl.h \
Modified: trunk/Source/WebCore/Target.pri (133599 => 133600)
--- trunk/Source/WebCore/Target.pri 2012-11-06 14:40:11 UTC (rev 133599)
+++ trunk/Source/WebCore/Target.pri 2012-11-06 14:45:05 UTC (rev 133600)
@@ -804,6 +804,7 @@
loader/appcache/ManifestParser.cpp \
loader/archive/ArchiveResource.cpp \
loader/archive/ArchiveResourceCollection.cpp \
+ loader/CachedMetadata.cpp \
loader/cache/MemoryCache.cpp \
loader/cache/CachedCSSStyleSheet.cpp \
loader/cache/CachedFont.cpp \
Modified: trunk/Source/WebCore/WebCore.gypi (133599 => 133600)
--- trunk/Source/WebCore/WebCore.gypi 2012-11-06 14:40:11 UTC (rev 133599)
+++ trunk/Source/WebCore/WebCore.gypi 2012-11-06 14:45:05 UTC (rev 133600)
@@ -2956,6 +2956,7 @@
'inspector/WorkerInspectorController.h',
'inspector/WorkerRuntimeAgent.cpp',
'inspector/WorkerRuntimeAgent.h',
+ 'loader/CachedMetadata.cpp',
'loader/CachedMetadata.h',
'loader/CrossOriginAccessControl.cpp',
'loader/CrossOriginAccessControl.h',
Modified: trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj (133599 => 133600)
--- trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj 2012-11-06 14:40:11 UTC (rev 133599)
+++ trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj 2012-11-06 14:45:05 UTC (rev 133600)
@@ -27407,6 +27407,14 @@
Name="loader"
>
<File
+ RelativePath="..\loader\CachedMetadata.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\CachedMetadata.h"
+ >
+ </File>
+ <File
RelativePath="..\loader\CrossOriginAccessControl.cpp"
>
</File>
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (133599 => 133600)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2012-11-06 14:40:11 UTC (rev 133599)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2012-11-06 14:45:05 UTC (rev 133600)
@@ -1485,6 +1485,7 @@
4FA3B90A125CD12200300BAD /* InspectorState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FA3B908125CD12100300BAD /* InspectorState.cpp */; };
4FA3B90B125CD12200300BAD /* InspectorState.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FA3B909125CD12200300BAD /* InspectorState.h */; };
4FB390AD15EF61F3007AD51F /* GeneratedImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FB390AC15EF61F3007AD51F /* GeneratedImage.cpp */; };
+ 4FC8534C1644272300D1C275 /* CachedMetadata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FC853491644271B00D1C275 /* CachedMetadata.cpp */; };
4FD8D0F2119C718B002FA825 /* ScriptGCEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FD8D0F0119C718B002FA825 /* ScriptGCEvent.cpp */; };
4FD8D0F3119C718B002FA825 /* ScriptGCEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD8D0F1119C718B002FA825 /* ScriptGCEvent.h */; };
4FFC022B1643B710004E1638 /* NodeRareData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FAB48661643A67E00F70C07 /* NodeRareData.cpp */; };
@@ -8701,6 +8702,8 @@
4FAB48641643A66D00F70C07 /* ElementRareData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ElementRareData.cpp; sourceTree = "<group>"; };
4FAB48661643A67E00F70C07 /* NodeRareData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NodeRareData.cpp; sourceTree = "<group>"; };
4FB390AC15EF61F3007AD51F /* GeneratedImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeneratedImage.cpp; sourceTree = "<group>"; };
+ 4FC853491644271B00D1C275 /* CachedMetadata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CachedMetadata.cpp; sourceTree = "<group>"; };
+ 4FC8534A1644271B00D1C275 /* CachedMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedMetadata.h; sourceTree = "<group>"; };
4FD8D0F0119C718B002FA825 /* ScriptGCEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptGCEvent.cpp; sourceTree = "<group>"; };
4FD8D0F1119C718B002FA825 /* ScriptGCEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptGCEvent.h; sourceTree = "<group>"; };
501BAAA813950E2C00F7ACEB /* WindRule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WindRule.h; sourceTree = "<group>"; };
@@ -20692,6 +20695,8 @@
5126E6B60A2E3AEF005C29FA /* icon */,
93A1EAA20A5634D8006960A0 /* mac */,
E1C416160F6563180092D2FB /* CrossOriginAccessControl.cpp */,
+ 4FC853491644271B00D1C275 /* CachedMetadata.cpp */,
+ 4FC8534A1644271B00D1C275 /* CachedMetadata.h */,
E1C416110F6562FD0092D2FB /* CrossOriginAccessControl.h */,
E1C415DD0F655D7C0092D2FB /* CrossOriginPreflightResultCache.cpp */,
E1C415D90F655D6F0092D2FB /* CrossOriginPreflightResultCache.h */,
@@ -28772,6 +28777,7 @@
4FFC022D1643B726004E1638 /* ElementRareData.cpp in Sources */,
93C38BFE164473C700091EB2 /* ScrollingStateFixedNode.cpp in Sources */,
93C38C04164473DD00091EB2 /* ScrollingTreeFixedNode.mm in Sources */,
+ 4FC8534C1644272300D1C275 /* CachedMetadata.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Added: trunk/Source/WebCore/loader/CachedMetadata.cpp (0 => 133600)
--- trunk/Source/WebCore/loader/CachedMetadata.cpp (rev 0)
+++ trunk/Source/WebCore/loader/CachedMetadata.cpp 2012-11-06 14:45:05 UTC (rev 133600)
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2011 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "CachedMetadata.h"
+
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/MemoryInstrumentationVector.h>
+
+namespace WebCore {
+
+void CachedMetadata::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this);
+ info.addMember(m_serializedData);
+}
+
+} // namespace WebCore
Property changes on: trunk/Source/WebCore/loader/CachedMetadata.cpp
___________________________________________________________________
Added: svn:eol-style
Modified: trunk/Source/WebCore/loader/CachedMetadata.h (133599 => 133600)
--- trunk/Source/WebCore/loader/CachedMetadata.h 2012-11-06 14:40:11 UTC (rev 133599)
+++ trunk/Source/WebCore/loader/CachedMetadata.h 2012-11-06 14:45:05 UTC (rev 133600)
@@ -31,6 +31,7 @@
#ifndef CachedMetadata_h
#define CachedMetadata_h
+#include <wtf/Forward.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
@@ -78,6 +79,8 @@
return m_serializedData.size() - dataStart;
}
+ void reportMemoryUsage(MemoryObjectInfo*) const;
+
private:
// Reads an unsigned value at position. Returns 0 on error.
unsigned readUnsigned(size_t position) const