+2013-04-22 Benjamin Poulain <benjamin@webkit.org>
+
+ Remove the memory instrumentation code
+ https://bugs.webkit.org/show_bug.cgi?id=114931
+
+ Reviewed by Andreas Kling.
+
+ * Source/autotools/symbols.filter:
+
2013-04-22 Martin Robinson <mrobinson@igalia.com>
[GTK] Enable introspection always for developer builds
+2013-04-22 Benjamin Poulain <benjamin@webkit.org>
+
+ Remove the memory instrumentation code
+ https://bugs.webkit.org/show_bug.cgi?id=114931
+
+ Reviewed by Andreas Kling.
+
+ * inspector/profiler/memory-instrumentation-cached-images-expected.txt: Removed.
+ * inspector/profiler/memory-instrumentation-cached-images.html: Removed.
+ * inspector/profiler/memory-instrumentation-canvas-expected.txt: Removed.
+ * inspector/profiler/memory-instrumentation-canvas.html: Removed.
+ * inspector/profiler/memory-instrumentation-external-array-expected.txt: Removed.
+ * inspector/profiler/memory-instrumentation-external-array.html: Removed.
+ * inspector/profiler/memory-instrumentation-external-string-expected.txt: Removed.
+ * inspector/profiler/memory-instrumentation-external-string.html: Removed.
+ * inspector/profiler/memory-instrumentation-test.js: Removed.
+
2013-04-22 Bear Travis <betravis@adobe.com>
Do not reuse ExclusionShapeInsideInfo in a recursive region layout
+++ /dev/null
-This test checks that CachedImages size reported by the memory agent includes images decoded size. Bug 93366
-
-
-PASS: block size for path = [ProcessPrivateMemory, Image] is OK.
-
+++ /dev/null
-<html>
-<head>
-<script src="../../http/tests/inspector/inspector-test.js"></script>
-<script src="memory-instrumentation-test.js"></script>
-<script>
-
-function displayAndRunTest()
-{
- if (window.testRunner)
- testRunner.display();
- runTest();
-}
-
-function test()
-{
- var jpegDecodedSizeExpected = 20000000;
- InspectorTest.validateMemoryBlockSize(["ProcessPrivateMemory", "Image"], jpegDecodedSizeExpected);
-}
-
-</script>
-</head>
-
-<body>
-<p>
-This test checks that CachedImages size reported by the memory agent includes images decoded size.
-<a href="https://bugs.webkit.org/show_bug.cgi?id=93366">Bug 93366</a>
-</p>
-<img src="resources/image.jpeg" width="100" height="60" onload="displayAndRunTest()"/>
-</body>
-</html>
+++ /dev/null
-This test checks that page's image size reported by the memory agent includes size of canvas internal image buffer.
-
- PASS: block size for path = [ProcessPrivateMemory, Image] is OK.
-
+++ /dev/null
-<html>
-<head>
-<script src="../../http/tests/inspector/inspector-test.js"></script>
-<script src="memory-instrumentation-test.js"></script>
-<script>
-
-function displayAndRunTest()
-{
- var canvasContext = document.getElementById("canvas").getContext("2d");
- canvasContext.fillRect(0, 0, 1024, 1024);
-
- if (window.testRunner)
- testRunner.display();
- runTest();
-}
-
-function test()
-{
- var canvasImageBufferExpected = 4000000;
- InspectorTest.validateMemoryBlockSize(["ProcessPrivateMemory", "Image"], canvasImageBufferExpected);
-}
-
-</script>
-</head>
-
-<body onload="displayAndRunTest()">
-<p>
-This test checks that page's image size reported by the memory agent includes size of canvas internal image buffer.
-</p>
-<canvas id="canvas" width="1024" height="1024"></canvas>
-</body>
-</html>
+++ /dev/null
-This test checks that page's external arrays size reported by the memory agent includes size of all external arrays created by the page. Bug 113790.
-
-PASS: block size for path = [ProcessPrivateMemory, JSExternalResources] is OK.
-
+++ /dev/null
-<html>
-<head>
-<script src="../../http/tests/inspector/inspector-test.js"></script>
-<script src="memory-instrumentation-test.js"></script>
-<script>
-
-var bigExternalArray = new Int32Array(1024 * 1024);
-
-function test()
-{
- var externalArraysExpectedMinimum = 4 * 1024 * 1024;
- InspectorTest.validateMemoryBlockSize(["ProcessPrivateMemory", "JSExternalResources"], externalArraysExpectedMinimum);
-}
-</script>
-</head>
-
-<body onload="runTest()">
-<p>
-This test checks that page's external arrays size reported by the memory agent
-includes size of all external arrays created by the page.
-<a href="https://bugs.webkit.org/show_bug.cgi?id=113790">Bug 113790.</a>
-</p>
-</body>
-</html>
+++ /dev/null
-This test checks that page's external strings size reported by the memory agent includes size of script elements.Bug 113788.
-
-PASS: block size for path = [ProcessPrivateMemory, JSExternalResources] is OK.
-
+++ /dev/null
-<html>
-<head>
-<script src="../../http/tests/inspector/inspector-test.js"></script>
-<script src="memory-instrumentation-test.js"></script>
-<script>
-function generateLongFunction()
-{
- var source = [];
- source.push("function longFunction(x) {");
- for (var i = 0; i < 100*1000; i++) {
- source.push(" x += x * i;");
- }
- source.push("}");
- var sourceString = source.join("\n");
- sourceSize = sourceString.length;
- var script = document.createElement("script");
- script.textContent = sourceString;
- document.head.appendChild(script);
- return sourceSize;
-}
-
-function test()
-{
- InspectorTest.evaluateInPage("generateLongFunction()", didGenerateLongScript);
- function didGenerateLongScript(result) {
- var externalStringsExpectedMinimum = result.value;
- if (externalStringsExpectedMinimum < 1024 * 1024) {
- InspectorTest.addResult("FAIL: script is less than 1Mb: " + externalStringsExpectedMinimum);
- return InspectorTest.completeTest();
- }
- InspectorTest.validateMemoryBlockSize(["ProcessPrivateMemory", "JSExternalResources"], externalStringsExpectedMinimum);
- }
-}
-</script>
-</head>
-
-<body onload="runTest()">
-<p>
-This test checks that page's external strings size reported by the memory agent
-includes size of script elements.<a href="https://bugs.webkit.org/show_bug.cgi?id=113788">Bug 113788.</a>
-</p>
-</body>
-</html>
+++ /dev/null
-var initialize_MemoryInstrumentationTest = function() {
-
-InspectorTest._memoryBlockSize = function(path, root)
-{
- var pathPos = 0;
- var children = [root];
-
- while (true) {
- var name = path[pathPos++];
- var child = null;
- for (var i = 0; i < children.length; i++) {
- if (children[i].name === name) {
- if (pathPos === path.length)
- return children[i].size;
- else {
- child = children[i];
- break;
- }
- }
- }
- if (child) {
- children = child.children;
- if (!children) {
- InspectorTest.addResult(name + " has no children");
- return -1;
- }
- } else {
- InspectorTest.addResult(name + " not found");
- return -1;
- }
- }
- return -1;
-};
-
-InspectorTest.validateMemoryBlockSize = function(path, expectedMinimalSize)
-{
- function didReceiveMemorySnapshot(error, memoryBlock)
- {
- var size = InspectorTest._memoryBlockSize(path, memoryBlock);
- if (size > expectedMinimalSize)
- InspectorTest.addResult("PASS: block size for path = [" + path.join(", ") + "] is OK.");
- else {
- InspectorTest.addResult("FAIL: block size for path = [" + path.join(", ") + "] is too small.");
- InspectorTest.addResult("expected minimal block size is " + expectedMinimalSize + " actual is " + size);
- }
- InspectorTest.completeTest();
- }
-
- MemoryAgent.getProcessMemoryDistribution(didReceiveMemorySnapshot.bind(this));
-};
-
-};
+2013-04-22 Benjamin Poulain <benjamin@webkit.org>
+
+ Remove the memory instrumentation code
+ https://bugs.webkit.org/show_bug.cgi?id=114931
+
+ Reviewed by Andreas Kling.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
+ * JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:
+
2013-04-22 Mark Lam <mark.lam@apple.com>
Fix broken 32-bit build to green the bots.
??0JSLockHolder@JSC@@QAE@PAVVM@1@@Z
??0MD5@WTF@@QAE@XZ
??0MediaTime@WTF@@QAE@_JHI@Z
- ??0MemoryInstrumentation@WTF@@QAE@PAVMemoryInstrumentationClient@1@@Z
??0Mutex@WTF@@QAE@XZ
??0ParallelEnvironment@WTF@@QAE@P6AXPAX@ZIH@Z
??0RefCountedLeakCounter@WTF@@QAE@PBD@Z
??0SuperRegion@JSC@@QAE@XZ
??0ThreadCondition@WTF@@QAE@XZ
??0WTFThreadData@WTF@@QAE@XZ
- ??0WrapperBase@MemoryInstrumentation@WTF@@QAE@PBDPBX@Z
??0YarrPattern@Yarr@JSC@@QAE@ABVString@WTF@@_N1PAPBD@Z
??1ArrayBufferView@WTF@@UAE@XZ
??1ClientData@VM@JSC@@UAE@XZ
??1JSGlobalObject@JSC@@QAE@XZ
??1JSLockHolder@JSC@@QAE@XZ
??1MediaTime@WTF@@QAE@XZ
- ??1MemoryInstrumentation@WTF@@UAE@XZ
??1Mutex@WTF@@QAE@XZ
??1OpaqueJSClass@@QAE@XZ
??1RefCountedLeakCounter@WTF@@QAE@XZ
?callHostFunctionAsConstructor@JSC@@YI_JPAVExecState@1@@Z
?callOnMainThread@WTF@@YAXP6AXPAX@Z0@Z
?callOnMainThreadAndWait@WTF@@YAXP6AXPAX@Z0@Z
- ?callReportObjectInfo@MemoryClassInfo@WTF@@SAXPAVMemoryObjectInfo@2@PBXPBD2I@Z
?canShrink@StringBuilder@WTF@@QBE_NXZ
?cancelCallOnMainThread@WTF@@YAXP6AXPAX@Z0@Z
?capacity@Heap@JSC@@QAEIXZ
?getData16SlowCase@StringImpl@WTF@@ABEPB_WXZ
?getID@SourceProvider@JSC@@AAEXXZ
?getObject@JSCell@JSC@@QAEPAVJSObject@2@XZ
- ?getObjectType@MemoryInstrumentation@WTF@@CAPBDPAVMemoryObjectInfo@2@@Z
?getOwnNonIndexPropertyNames@JSObject@JSC@@SAXPAV12@PAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z
?getOwnNonIndexPropertyNames@JSSymbolTableObject@JSC@@SAXPAVJSObject@2@PAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z
?getOwnPropertyDescriptor@JSGlobalObject@JSC@@SA_NPAVJSObject@2@PAVExecState@2@VPropertyName@2@AAVPropertyDescriptor@2@@Z
?parseDateFromNullTerminatedCharacters@WTF@@YANPBD@Z
?parseDoubleFromLongString@Internal@WTF@@YANPB_WIAAI@Z
?positiveInfiniteTime@MediaTime@WTF@@SAABV12@XZ
- ?process@WrapperBase@MemoryInstrumentation@WTF@@QAEXPAV23@@Z
- ?processPointer@WrapperBase@MemoryInstrumentation@WTF@@QAEXPAV23@_N@Z
- ?processRootObjectRef@WrapperBase@MemoryInstrumentation@WTF@@QAEXPAV23@@Z
?profiler@LegacyProfiler@JSC@@SAPAV12@XZ
?protect@Heap@JSC@@QAEXVJSValue@2@@Z
?protectedGlobalObjectCount@Heap@JSC@@QAEIXZ
?replace@StringImpl@WTF@@QAE?AV?$PassRefPtr@VStringImpl@WTF@@@2@_WPAV12@@Z
?replace@StringImpl@WTF@@QAE?AV?$PassRefPtr@VStringImpl@WTF@@@2@_WPBEI@Z
?reportAbandonedObjectGraph@Heap@JSC@@QAEXXZ
- ?reportEdge@MemoryInstrumentation@WTF@@AAEXPBXPBDW4MemberType@2@@Z
?reportExtraMemoryCostSlowCase@Heap@JSC@@AAEXI@Z
?reportSuccess@HeapStatistics@JSC@@SAXXZ
?reserveAndCommit@OSAllocator@WTF@@SAPAXIW4Usage@12@_N11@Z
??0JSLockHolder@JSC@@QAE@PAVVM@1@@Z
??0MD5@WTF@@QAE@XZ
??0MediaTime@WTF@@QAE@_JHI@Z
- ??0MemoryInstrumentation@WTF@@QAE@PAVMemoryInstrumentationClient@1@@Z
??0Mutex@WTF@@QAE@XZ
??0ParallelEnvironment@WTF@@QAE@P6AXPAX@ZIH@Z
??0RefCountedLeakCounter@WTF@@QAE@PBD@Z
??0SuperRegion@JSC@@QAE@XZ
??0ThreadCondition@WTF@@QAE@XZ
??0WTFThreadData@WTF@@QAE@XZ
- ??0WrapperBase@MemoryInstrumentation@WTF@@QAE@PBDPBX@Z
??0YarrPattern@Yarr@JSC@@QAE@ABVString@WTF@@_N1PAPBD@Z
??1ArrayBufferView@WTF@@UAE@XZ
??1ClientData@VM@JSC@@UAE@XZ
??1JSGlobalObject@JSC@@QAE@XZ
??1JSLockHolder@JSC@@QAE@XZ
??1MediaTime@WTF@@QAE@XZ
- ??1MemoryInstrumentation@WTF@@UAE@XZ
??1Mutex@WTF@@QAE@XZ
??1OpaqueJSClass@@QAE@XZ
??1RefCountedLeakCounter@WTF@@QAE@XZ
?callHostFunctionAsConstructor@JSC@@YI_JPAVExecState@1@@Z
?callOnMainThread@WTF@@YAXP6AXPAX@Z0@Z
?callOnMainThreadAndWait@WTF@@YAXP6AXPAX@Z0@Z
- ?callReportObjectInfo@MemoryClassInfo@WTF@@SAXPAVMemoryObjectInfo@2@PBXPBD2I@Z
?canShrink@StringBuilder@WTF@@QBE_NXZ
?cancelCallOnMainThread@WTF@@YAXP6AXPAX@Z0@Z
?capacity@Heap@JSC@@QAEIXZ
?getData16SlowCase@StringImpl@WTF@@ABEPB_WXZ
?getID@SourceProvider@JSC@@AAEXXZ
?getObject@JSCell@JSC@@QAEPAVJSObject@2@XZ
- ?getObjectType@MemoryInstrumentation@WTF@@CAPBDPAVMemoryObjectInfo@2@@Z
?getOwnNonIndexPropertyNames@JSObject@JSC@@SAXPAV12@PAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z
?getOwnNonIndexPropertyNames@JSSymbolTableObject@JSC@@SAXPAVJSObject@2@PAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z
?getOwnPropertyDescriptor@JSGlobalObject@JSC@@SA_NPAVJSObject@2@PAVExecState@2@VPropertyName@2@AAVPropertyDescriptor@2@@Z
?parseDateFromNullTerminatedCharacters@WTF@@YANPBD@Z
?parseDoubleFromLongString@Internal@WTF@@YANPB_WIAAI@Z
?positiveInfiniteTime@MediaTime@WTF@@SAABV12@XZ
- ?process@WrapperBase@MemoryInstrumentation@WTF@@QAEXPAV23@@Z
- ?processPointer@WrapperBase@MemoryInstrumentation@WTF@@QAEXPAV23@_N@Z
- ?processRootObjectRef@WrapperBase@MemoryInstrumentation@WTF@@QAEXPAV23@@Z
?profiler@LegacyProfiler@JSC@@SAPAV12@XZ
?protect@Heap@JSC@@QAEXVJSValue@2@@Z
?protectedGlobalObjectCount@Heap@JSC@@QAEIXZ
?replace@StringImpl@WTF@@QAE?AV?$PassRefPtr@VStringImpl@WTF@@@2@_WPAV12@@Z
?replace@StringImpl@WTF@@QAE?AV?$PassRefPtr@VStringImpl@WTF@@@2@_WPBEI@Z
?reportAbandonedObjectGraph@Heap@JSC@@QAEXXZ
- ?reportEdge@MemoryInstrumentation@WTF@@AAEXPBXPBDW4MemberType@2@@Z
?reportExtraMemoryCostSlowCase@Heap@JSC@@AAEXI@Z
?reportSuccess@HeapStatistics@JSC@@SAXXZ
?reserveAndCommit@OSAllocator@WTF@@SAPAXIW4Usage@12@_N11@Z
+2013-04-22 Benjamin Poulain <benjamin@webkit.org>
+
+ Remove the memory instrumentation code
+ https://bugs.webkit.org/show_bug.cgi?id=114931
+
+ Reviewed by Andreas Kling.
+
+ On Mac x86_64, the code removal cause the binary to be
+ 9224 bytes smaller.
+
+ * GNUmakefile.list.am:
+ * WTF.pro:
+ * WTF.vcproj/WTF.vcproj:
+ * WTF.vcxproj/WTF.vcxproj:
+ * WTF.vcxproj/WTF.vcxproj.filters:
+ * WTF.xcodeproj/project.pbxproj:
+ * wtf/CMakeLists.txt:
+ * wtf/Forward.h:
+ * wtf/ListHashSet.h:
+ (ListHashSet):
+ (ListHashSetNodeAllocator):
+ (WTF::ListHashSetNodeAllocator::pool):
+ (WTF::ListHashSetNodeAllocator::pastPool):
+ * wtf/MemoryInstrumentation.cpp: Removed.
+ * wtf/MemoryInstrumentation.h: Removed.
+ * wtf/MemoryInstrumentationArrayBufferView.h: Removed.
+ * wtf/MemoryInstrumentationHashCountedSet.h: Removed.
+ * wtf/MemoryInstrumentationHashMap.h: Removed.
+ * wtf/MemoryInstrumentationHashSet.h: Removed.
+ * wtf/MemoryInstrumentationListHashSet.h: Removed.
+ * wtf/MemoryInstrumentationSequence.h: Removed.
+ * wtf/MemoryInstrumentationString.h: Removed.
+ * wtf/MemoryInstrumentationVector.h: Removed.
+ * wtf/MemoryObjectInfo.h: Removed.
+ * wtf/text/AtomicString.h:
+ * wtf/text/StringImpl.h:
+ (WTF::StringImpl::isASCIILiteral):
+ * wtf/text/WTFString.h:
+
2013-04-22 David Kilzer <ddkilzer@apple.com>
StringImpl.h should compile with -Wshorten-64-to-32
Source/WTF/wtf/MathExtras.h \
Source/WTF/wtf/MediaTime.h \
Source/WTF/wtf/MediaTime.cpp \
- Source/WTF/wtf/MemoryInstrumentation.cpp \
- Source/WTF/wtf/MemoryInstrumentation.h \
- Source/WTF/wtf/MemoryInstrumentationArrayBufferView.h \
- Source/WTF/wtf/MemoryInstrumentationHashCountedSet.h \
- Source/WTF/wtf/MemoryInstrumentationHashMap.h \
- Source/WTF/wtf/MemoryInstrumentationHashSet.h \
- Source/WTF/wtf/MemoryInstrumentationListHashSet.h \
- Source/WTF/wtf/MemoryInstrumentationSequence.h \
- Source/WTF/wtf/MemoryInstrumentationString.h \
- Source/WTF/wtf/MemoryInstrumentationVector.h \
- Source/WTF/wtf/MemoryObjectInfo.h \
Source/WTF/wtf/MessageQueue.h \
Source/WTF/wtf/MetaAllocator.cpp \
Source/WTF/wtf/MetaAllocator.h \
MathExtras.h \
MD5.h \
MediaTime.h \
- MemoryInstrumentation.h \
- MemoryInstrumentationArrayBufferView.h \
- MemoryInstrumentationHashCountedSet.h \
- MemoryInstrumentationHashMap.h \
- MemoryInstrumentationHashSet.h \
- MemoryInstrumentationListHashSet.h \
- MemoryInstrumentationSequence.h \
- MemoryInstrumentationString.h \
- MemoryInstrumentationVector.h \
- MemoryObjectInfo.h \
MessageQueue.h \
MetaAllocator.h \
MetaAllocatorHandle.h \
MD5.cpp \
MainThread.cpp \
MediaTime.cpp \
- MemoryInstrumentation.cpp \
MetaAllocator.cpp \
NullPtr.cpp \
NumberOfCores.cpp \
RelativePath="..\wtf\MediaTime.cpp"
>
</File>
- <File
- RelativePath="..\wtf\MemoryInstrumentation.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\MemoryInstrumentation.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MemoryInstrumentationArrayBufferView.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MemoryInstrumentationHashCountedSet.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MemoryInstrumentationHashMap.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MemoryInstrumentationHashSet.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MemoryInstrumentationListHashSet.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MemoryInstrumentationSequence.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MemoryInstrumentationString.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MemoryInstrumentationVector.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MemoryObjectInfo.h"
- >
- </File>
<File
RelativePath="..\wtf\MessageQueue.h"
>
<ClCompile Include="..\wtf\MainThread.cpp" />\r
<ClCompile Include="..\wtf\MD5.cpp" />\r
<ClCompile Include="..\wtf\MediaTime.cpp" />\r
- <ClCompile Include="..\wtf\MemoryInstrumentation.cpp" />\r
<ClCompile Include="..\wtf\MetaAllocator.cpp" />\r
<ClCompile Include="..\wtf\NullPtr.cpp" />\r
<ClCompile Include="..\wtf\NumberOfCores.cpp" />\r
<ClInclude Include="..\wtf\MathExtras.h" />\r
<ClInclude Include="..\wtf\MD5.h" />\r
<ClInclude Include="..\wtf\MediaTime.h" />\r
- <ClInclude Include="..\wtf\MemoryInstrumentation.h" />\r
- <ClInclude Include="..\wtf\MemoryInstrumentationArrayBufferView.h" />\r
- <ClInclude Include="..\wtf\MemoryInstrumentationHashCountedSet.h" />\r
- <ClInclude Include="..\wtf\MemoryInstrumentationHashMap.h" />\r
- <ClInclude Include="..\wtf\MemoryInstrumentationHashSet.h" />\r
- <ClInclude Include="..\wtf\MemoryInstrumentationListHashSet.h" />\r
- <ClInclude Include="..\wtf\MemoryInstrumentationSequence.h" />\r
- <ClInclude Include="..\wtf\MemoryInstrumentationString.h" />\r
- <ClInclude Include="..\wtf\MemoryInstrumentationVector.h" />\r
- <ClInclude Include="..\wtf\MemoryObjectInfo.h" />\r
<ClInclude Include="..\wtf\MessageQueue.h" />\r
<ClInclude Include="..\wtf\MetaAllocator.h" />\r
<ClInclude Include="..\wtf\MetaAllocatorHandle.h" />\r
<ClCompile Include="..\wtf\MediaTime.cpp">\r
<Filter>wtf</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\wtf\MemoryInstrumentation.cpp">\r
- <Filter>wtf</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\wtf\MetaAllocator.cpp">\r
<Filter>wtf</Filter>\r
</ClCompile>\r
<ClInclude Include="..\wtf\MediaTime.h">\r
<Filter>wtf</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\wtf\MemoryInstrumentation.h">\r
- <Filter>wtf</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\wtf\MemoryInstrumentationArrayBufferView.h">\r
- <Filter>wtf</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\wtf\MemoryInstrumentationHashCountedSet.h">\r
- <Filter>wtf</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\wtf\MemoryInstrumentationHashMap.h">\r
- <Filter>wtf</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\wtf\MemoryInstrumentationHashSet.h">\r
- <Filter>wtf</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\wtf\MemoryInstrumentationListHashSet.h">\r
- <Filter>wtf</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\wtf\MemoryInstrumentationSequence.h">\r
- <Filter>wtf</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\wtf\MemoryInstrumentationString.h">\r
- <Filter>wtf</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\wtf\MemoryInstrumentationVector.h">\r
- <Filter>wtf</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\wtf\MemoryObjectInfo.h">\r
- <Filter>wtf</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\wtf\MessageQueue.h">\r
<Filter>wtf</Filter>\r
</ClInclude>\r
2CCD892A15C0390200285083 /* GregorianDateTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2CCD892915C0390200285083 /* GregorianDateTime.cpp */; };
44F66008171AFAE600E4AD19 /* EnumClass.h in Headers */ = {isa = PBXBuildFile; fileRef = 44F66007171AFAA900E4AD19 /* EnumClass.h */; };
4F0321BC156AA8D1006EBAF6 /* BitArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F0321BB156AA8D1006EBAF6 /* BitArray.h */; };
- 4F1B2DB6160B44AA00586559 /* MemoryInstrumentationHashSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F1B2DB5160B44AA00586559 /* MemoryInstrumentationHashSet.h */; };
- 4F1D115415FF11BE0026E908 /* MemoryInstrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F1D115315FF11BE0026E908 /* MemoryInstrumentation.h */; };
- 4FCB710A160A1A07008425EC /* MemoryInstrumentationVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FCB7109160A1A07008425EC /* MemoryInstrumentationVector.h */; };
- 4FCF27E116172E8600CBF037 /* MemoryInstrumentationString.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FCF27E016172E8600CBF037 /* MemoryInstrumentationString.h */; };
- 4FD8554716133E0E00C5B704 /* MemoryInstrumentationArrayBufferView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD8554616133E0E00C5B704 /* MemoryInstrumentationArrayBufferView.h */; };
7E29C33E15FFD79B00516D61 /* ObjcRuntimeExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E29C33D15FFD79B00516D61 /* ObjcRuntimeExtras.h */; };
8134013815B092FD001FF0B8 /* Base64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8134013615B092FD001FF0B8 /* Base64.cpp */; };
8134013915B092FD001FF0B8 /* Base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 8134013715B092FD001FF0B8 /* Base64.h */; };
CD5497AC15857D0300B5BC30 /* MediaTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD5497AA15857D0300B5BC30 /* MediaTime.cpp */; };
CD5497AD15857D0300B5BC30 /* MediaTime.h in Headers */ = {isa = PBXBuildFile; fileRef = CD5497AB15857D0300B5BC30 /* MediaTime.h */; };
EB95E1F0161A72410089A2F5 /* ByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = EB95E1EF161A72410089A2F5 /* ByteOrder.h */; };
- F322CCDF165699FF004852DD /* MemoryInstrumentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F322CCDE165699FF004852DD /* MemoryInstrumentation.cpp */; };
- F322CCE116569A10004852DD /* MemoryObjectInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = F322CCE016569A10004852DD /* MemoryObjectInfo.h */; };
- F3525E2A16149FF400278BC1 /* MemoryInstrumentationListHashSet.h in Headers */ = {isa = PBXBuildFile; fileRef = F3525E2916149FF400278BC1 /* MemoryInstrumentationListHashSet.h */; };
- F3525E461619A4EE00278BC1 /* MemoryInstrumentationHashMap.h in Headers */ = {isa = PBXBuildFile; fileRef = F3525E451619A4EE00278BC1 /* MemoryInstrumentationHashMap.h */; };
- F3FBC71E161AF7BF00BB4BD4 /* MemoryInstrumentationHashCountedSet.h in Headers */ = {isa = PBXBuildFile; fileRef = F3FBC71D161AF7BF00BB4BD4 /* MemoryInstrumentationHashCountedSet.h */; };
- F3FBC720161AF7CD00BB4BD4 /* MemoryInstrumentationSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = F3FBC71F161AF7CD00BB4BD4 /* MemoryInstrumentationSequence.h */; };
FEDACD3D1630F83F00C69634 /* StackStats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FEDACD3B1630F83F00C69634 /* StackStats.cpp */; };
FEDACD3E1630F83F00C69634 /* StackStats.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDACD3C1630F83F00C69634 /* StackStats.h */; };
/* End PBXBuildFile section */
44DEE74A152274BB00C6EC37 /* iOS.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = iOS.xcconfig; sourceTree = "<group>"; };
44F66007171AFAA900E4AD19 /* EnumClass.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EnumClass.h; sourceTree = "<group>"; };
4F0321BB156AA8D1006EBAF6 /* BitArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitArray.h; sourceTree = "<group>"; };
- 4F1B2DB5160B44AA00586559 /* MemoryInstrumentationHashSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentationHashSet.h; sourceTree = "<group>"; };
- 4F1D115315FF11BE0026E908 /* MemoryInstrumentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentation.h; sourceTree = "<group>"; };
- 4FCB7109160A1A07008425EC /* MemoryInstrumentationVector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentationVector.h; sourceTree = "<group>"; };
- 4FCF27E016172E8600CBF037 /* MemoryInstrumentationString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentationString.h; sourceTree = "<group>"; };
- 4FD8554616133E0E00C5B704 /* MemoryInstrumentationArrayBufferView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentationArrayBufferView.h; sourceTree = "<group>"; };
5D247B6214689B8600E78B76 /* libWTF.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libWTF.a; sourceTree = BUILT_PRODUCTS_DIR; };
5D247B6E14689C4700E78B76 /* Base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
5D247B7014689C4700E78B76 /* DebugRelease.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
CD5497AA15857D0300B5BC30 /* MediaTime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaTime.cpp; sourceTree = "<group>"; };
CD5497AB15857D0300B5BC30 /* MediaTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaTime.h; sourceTree = "<group>"; };
EB95E1EF161A72410089A2F5 /* ByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByteOrder.h; sourceTree = "<group>"; };
- F322CCDE165699FF004852DD /* MemoryInstrumentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MemoryInstrumentation.cpp; sourceTree = "<group>"; };
- F322CCE016569A10004852DD /* MemoryObjectInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryObjectInfo.h; sourceTree = "<group>"; };
- F3525E2916149FF400278BC1 /* MemoryInstrumentationListHashSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentationListHashSet.h; sourceTree = "<group>"; };
- F3525E451619A4EE00278BC1 /* MemoryInstrumentationHashMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentationHashMap.h; sourceTree = "<group>"; };
- F3FBC71D161AF7BF00BB4BD4 /* MemoryInstrumentationHashCountedSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentationHashCountedSet.h; sourceTree = "<group>"; };
- F3FBC71F161AF7CD00BB4BD4 /* MemoryInstrumentationSequence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentationSequence.h; sourceTree = "<group>"; };
FEDACD3B1630F83F00C69634 /* StackStats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StackStats.cpp; sourceTree = "<group>"; };
FEDACD3C1630F83F00C69634 /* StackStats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StackStats.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
A8A472CB151A825B004123FF /* MD5.h */,
CD5497AA15857D0300B5BC30 /* MediaTime.cpp */,
CD5497AB15857D0300B5BC30 /* MediaTime.h */,
- F322CCDE165699FF004852DD /* MemoryInstrumentation.cpp */,
- 4F1D115315FF11BE0026E908 /* MemoryInstrumentation.h */,
- 4FD8554616133E0E00C5B704 /* MemoryInstrumentationArrayBufferView.h */,
- F3FBC71D161AF7BF00BB4BD4 /* MemoryInstrumentationHashCountedSet.h */,
- F3525E451619A4EE00278BC1 /* MemoryInstrumentationHashMap.h */,
- 4F1B2DB5160B44AA00586559 /* MemoryInstrumentationHashSet.h */,
- F3525E2916149FF400278BC1 /* MemoryInstrumentationListHashSet.h */,
- F3FBC71F161AF7CD00BB4BD4 /* MemoryInstrumentationSequence.h */,
- 4FCF27E016172E8600CBF037 /* MemoryInstrumentationString.h */,
- 4FCB7109160A1A07008425EC /* MemoryInstrumentationVector.h */,
- F322CCE016569A10004852DD /* MemoryObjectInfo.h */,
A8A472CC151A825B004123FF /* MessageQueue.h */,
A8A472CD151A825B004123FF /* MetaAllocator.cpp */,
A8A472CE151A825B004123FF /* MetaAllocator.h */,
A8A473E8151A825B004123FF /* MathExtras.h in Headers */,
A8A473EA151A825B004123FF /* MD5.h in Headers */,
CD5497AD15857D0300B5BC30 /* MediaTime.h in Headers */,
- 4F1D115415FF11BE0026E908 /* MemoryInstrumentation.h in Headers */,
- 4FD8554716133E0E00C5B704 /* MemoryInstrumentationArrayBufferView.h in Headers */,
- F3FBC71E161AF7BF00BB4BD4 /* MemoryInstrumentationHashCountedSet.h in Headers */,
- F3525E461619A4EE00278BC1 /* MemoryInstrumentationHashMap.h in Headers */,
- 4F1B2DB6160B44AA00586559 /* MemoryInstrumentationHashSet.h in Headers */,
- F3525E2A16149FF400278BC1 /* MemoryInstrumentationListHashSet.h in Headers */,
- F3FBC720161AF7CD00BB4BD4 /* MemoryInstrumentationSequence.h in Headers */,
- 4FCF27E116172E8600CBF037 /* MemoryInstrumentationString.h in Headers */,
- 4FCB710A160A1A07008425EC /* MemoryInstrumentationVector.h in Headers */,
- F322CCE116569A10004852DD /* MemoryObjectInfo.h in Headers */,
A8A473EB151A825B004123FF /* MessageQueue.h in Headers */,
A8A473ED151A825B004123FF /* MetaAllocator.h in Headers */,
A8A473EE151A825B004123FF /* MetaAllocatorHandle.h in Headers */,
1469419316EAAF6D0024E146 /* RunLoopTimerCF.cpp in Sources */,
A8A473E9151A825B004123FF /* MD5.cpp in Sources */,
CD5497AC15857D0300B5BC30 /* MediaTime.cpp in Sources */,
- F322CCDF165699FF004852DD /* MemoryInstrumentation.cpp in Sources */,
A8A473EC151A825B004123FF /* MetaAllocator.cpp in Sources */,
A8A473F2151A825B004123FF /* NullPtr.cpp in Sources */,
A8A473F4151A825B004123FF /* NumberOfCores.cpp in Sources */,
MallocZoneSupport.h
MathExtras.h
MediaTime.h
- MemoryInstrumentation.h
- MemoryInstrumentationArrayBufferView.h
- MemoryInstrumentationHashCountedSet.h
- MemoryInstrumentationHashMap.h
- MemoryInstrumentationHashSet.h
- MemoryInstrumentationListHashSet.h
- MemoryInstrumentationSequence.h
- MemoryInstrumentationString.h
- MemoryInstrumentationVector.h
- MemoryObjectInfo.h
MessageQueue.h
MetaAllocator.h
MetaAllocatorHandle.h
MediaTime.cpp
MetaAllocator.cpp
OSRandomSource.cpp
- MemoryInstrumentation.cpp
NumberOfCores.cpp
RAMSize.cpp
PageAllocationAligned.cpp
class Int8Array;
class Int16Array;
class Int32Array;
- class MemoryInstrumentation;
- class MemoryObjectInfo;
class PrintStream;
class String;
template <typename T> class StringBuffer;
using WTF::Int8Array;
using WTF::Int16Array;
using WTF::Int32Array;
-using WTF::MemoryInstrumentation;
-using WTF::MemoryObjectInfo;
using WTF::PrintStream;
using WTF::String;
using WTF::StringBuffer;
int capacity() const;
bool isEmpty() const;
- size_t sizeInBytes() const;
-
iterator begin();
iterator end();
const_iterator begin() const;
fastFree(node);
}
+ private:
+ Node* pool() { return reinterpret_cast_ptr<Node*>(m_pool.pool); }
+ Node* pastPool() { return pool() + m_poolSize; }
bool inPool(Node* node)
{
return node >= pool() && node < pastPool();
}
- private:
- Node* pool() { return reinterpret_cast_ptr<Node*>(m_pool.pool); }
- Node* pastPool() { return pool() + m_poolSize; }
-
Node* m_freeList;
bool m_isDoneWithInitialFreeList;
static const size_t m_poolSize = inlineCapacity;
return m_impl.isEmpty();
}
- template<typename T, size_t inlineCapacity, typename U>
- size_t ListHashSet<T, inlineCapacity, U>::sizeInBytes() const
- {
- size_t result = sizeof(*this) + sizeof(*m_allocator);
- result += sizeof(typename ImplType::ValueType) * m_impl.capacity();
- for (Node* node = m_head; node; node = node->m_next) {
- if (!m_allocator->inPool(node))
- result += sizeof(Node);
- }
- return result;
- }
-
template<typename T, size_t inlineCapacity, typename U>
inline typename ListHashSet<T, inlineCapacity, U>::iterator ListHashSet<T, inlineCapacity, U>::begin()
{
+++ /dev/null
-/*
- * Copyright (C) 2012 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 "MemoryInstrumentation.h"
-
-#include <wtf/MemoryObjectInfo.h>
-
-#if DEBUG_POINTER_INSTRUMENTATION
-#include <stdio.h>
-#include <wtf/Assertions.h>
-#endif
-
-namespace WTF {
-
-MemoryInstrumentation::MemoryInstrumentation(MemoryInstrumentationClient* client)
- : m_client(client)
-{
-}
-
-MemoryInstrumentation::~MemoryInstrumentation()
-{
-}
-
-void MemoryInstrumentation::reportEdge(const void* target, const char* name, MemberType memberType)
-{
- m_client->reportEdge(target, name, memberType);
-}
-
-MemoryObjectType MemoryInstrumentation::getObjectType(MemoryObjectInfo* objectInfo)
-{
- return objectInfo->objectType();
-}
-
-void MemoryInstrumentation::reportLinkToBuffer(const void* buffer, MemoryObjectType ownerObjectType, size_t size, const char* className, const char* edgeName)
-{
- MemoryObjectInfo memoryObjectInfo(this, ownerObjectType, 0);
- memoryObjectInfo.reportObjectInfo(buffer, ownerObjectType, size);
- memoryObjectInfo.setClassName(className);
- m_client->reportLeaf(memoryObjectInfo, edgeName);
-}
-
-MemoryInstrumentation::WrapperBase::WrapperBase(MemoryObjectType objectType, const void* pointer)
- : m_pointer(pointer)
- , m_ownerObjectType(objectType)
-{
-#if DEBUG_POINTER_INSTRUMENTATION
- m_callStackSize = s_maxCallStackSize;
- WTFGetBacktrace(m_callStack, &m_callStackSize);
-#endif
-}
-
-void MemoryInstrumentation::WrapperBase::process(MemoryInstrumentation* memoryInstrumentation)
-{
- processPointer(memoryInstrumentation, false);
-}
-
-void MemoryInstrumentation::WrapperBase::processPointer(MemoryInstrumentation* memoryInstrumentation, bool isRoot)
-{
- MemoryObjectInfo memoryObjectInfo(memoryInstrumentation, m_ownerObjectType, m_pointer);
- if (isRoot)
- memoryObjectInfo.markAsRoot();
- callReportMemoryUsage(&memoryObjectInfo);
-
- const void* realAddress = memoryObjectInfo.reportedPointer();
- ASSERT(realAddress);
-
- if (memoryObjectInfo.firstVisit()) {
- memoryInstrumentation->countObjectSize(realAddress, memoryObjectInfo.objectType(), memoryObjectInfo.objectSize());
- memoryInstrumentation->m_client->reportNode(memoryObjectInfo);
- }
-
- if (realAddress != m_pointer)
- memoryInstrumentation->m_client->reportBaseAddress(m_pointer, realAddress);
-
- if (memoryObjectInfo.firstVisit()
- && !memoryObjectInfo.customAllocation()
- && !memoryInstrumentation->checkCountedObject(realAddress)) {
-#if DEBUG_POINTER_INSTRUMENTATION
- fputs("Unknown object counted:\n", stderr);
- WTFPrintBacktrace(m_callStack, m_callStackSize);
-#endif
- }
-}
-
-void MemoryInstrumentation::WrapperBase::processRootObjectRef(MemoryInstrumentation* memoryInstrumentation)
-{
- MemoryObjectInfo memoryObjectInfo(memoryInstrumentation, m_ownerObjectType, m_pointer);
- memoryObjectInfo.markAsRoot();
- callReportMemoryUsage(&memoryObjectInfo);
-
- ASSERT(m_pointer == memoryObjectInfo.reportedPointer());
- memoryInstrumentation->m_client->reportNode(memoryObjectInfo);
-}
-
-#if COMPILER(MSVC)
-static const char* className(const char* functionName, char* buffer, const int maxLength)
-{
- // MSVC generates names like this: 'WTF::FN<class WebCore::SharedBuffer>::fn'
- static const char prefix[] = "WTF::FN<";
- ASSERT(!strncmp(functionName, prefix, sizeof(prefix) - 1));
- const char* begin = strchr(functionName, ' ');
- if (!begin) { // Fallback.
- strncpy(buffer, functionName, maxLength);
- buffer[maxLength - 1] = 0;
- return buffer;
- }
- const char* end = strrchr(begin, '>');
- ASSERT(end);
- int length = end - begin;
- length = length < maxLength ? length : maxLength - 1;
- memcpy(buffer, begin, length);
- buffer[length] = 0;
- return buffer;
-}
-#else
-static const char* className(const char* functionName, char* buffer, const int maxLength)
-{
-#if COMPILER(CLANG)
- static const char prefix[] = "[T =";
-#elif COMPILER(GCC)
- static const char prefix[] = "[with T =";
-#else
- static const char prefix[] = "T =";
-#endif
- const char* begin = strstr(functionName, prefix);
- if (!begin) { // Fallback.
- strncpy(buffer, functionName, maxLength);
- buffer[maxLength - 1] = 0;
- return buffer;
- }
- begin += sizeof(prefix);
- const char* end = strchr(begin, ']');
- ASSERT(end);
- int length = end - begin;
- length = length < maxLength ? length : maxLength - 1;
- memcpy(buffer, begin, length);
- buffer[length] = 0;
- return buffer;
-}
-#endif
-
-void MemoryClassInfo::callReportObjectInfo(MemoryObjectInfo* memoryObjectInfo, const void* objectAddress, const char* stringWithClassName, MemoryObjectType objectType, size_t actualSize)
-{
- memoryObjectInfo->reportObjectInfo(objectAddress, objectType, actualSize);
- char buffer[256];
- memoryObjectInfo->setClassName(className(stringWithClassName, buffer, sizeof(buffer)));
-}
-
-void MemoryClassInfo::init(const void* objectAddress, const char* stringWithClassName, MemoryObjectType objectType, size_t actualSize)
-{
- callReportObjectInfo(m_memoryObjectInfo, objectAddress, stringWithClassName, objectType, actualSize);
- m_memoryInstrumentation = m_memoryObjectInfo->memoryInstrumentation();
- m_objectType = m_memoryObjectInfo->objectType();
- m_skipMembers = !m_memoryObjectInfo->firstVisit();
-}
-
-void MemoryClassInfo::addRawBuffer(const void* buffer, size_t size, const char* className, const char* edgeName)
-{
- if (!m_skipMembers)
- m_memoryInstrumentation->addRawBuffer(buffer, m_objectType, size, className, edgeName);
-}
-
-void MemoryClassInfo::addPrivateBuffer(size_t size, MemoryObjectType ownerObjectType, const char* className, const char* edgeName)
-{
- if (!size)
- return;
- if (m_skipMembers)
- return;
- if (!ownerObjectType)
- ownerObjectType = m_objectType;
- m_memoryInstrumentation->countObjectSize(0, ownerObjectType, size);
- m_memoryInstrumentation->reportLinkToBuffer(0, ownerObjectType, size, className, edgeName);
-}
-
-void MemoryClassInfo::setCustomAllocation(bool customAllocation)
-{
- m_memoryObjectInfo->setCustomAllocation(customAllocation);
-}
-
-} // namespace WTF
+++ /dev/null
-/*
- * Copyright (C) 2012 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.
- */
-
-#ifndef MemoryInstrumentation_h
-#define MemoryInstrumentation_h
-
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/RefPtr.h>
-
-#define DEBUG_POINTER_INSTRUMENTATION 0
-
-namespace WTF {
-
-class MemoryClassInfo;
-class MemoryObjectInfo;
-class MemoryInstrumentation;
-
-typedef const char* MemoryObjectType;
-
-enum MemberType {
- PointerMember,
- ReferenceMember,
- RetainingPointer,
- LastMemberTypeEntry
-};
-
-template<typename T> void reportMemoryUsage(const T*, MemoryObjectInfo*);
-
-class MemoryInstrumentationClient {
-public:
- virtual ~MemoryInstrumentationClient() { }
- virtual void countObjectSize(const void*, MemoryObjectType, size_t) = 0;
- virtual bool visited(const void*) = 0;
- virtual bool checkCountedObject(const void*) = 0;
-
- virtual void reportNode(const MemoryObjectInfo&) = 0;
- virtual void reportEdge(const void* target, const char* edgeName, MemberType) = 0;
- virtual void reportLeaf(const MemoryObjectInfo&, const char* edgeName) = 0;
- virtual void reportBaseAddress(const void* base, const void* real) = 0;
- virtual int registerString(const char*) = 0;
-};
-
-class MemoryInstrumentation {
-public:
- WTF_EXPORT_PRIVATE explicit MemoryInstrumentation(MemoryInstrumentationClient*);
- WTF_EXPORT_PRIVATE virtual ~MemoryInstrumentation();
-
- template <typename T> void addRootObject(const T& t, MemoryObjectType objectType = 0)
- {
- MemberTypeTraits<T>::addRootObject(this, t, objectType);
- processDeferredObjects();
- }
-
- template <typename T> void addRootObject(const OwnPtr<T>&, MemoryObjectType = 0); // Link time guard.
- template <typename T> void addRootObject(const RefPtr<T>&, MemoryObjectType = 0); // Link time guard.
-
-protected:
- class WrapperBase {
- public:
- WTF_EXPORT_PRIVATE WrapperBase(MemoryObjectType, const void* pointer);
- virtual ~WrapperBase() { }
- WTF_EXPORT_PRIVATE void process(MemoryInstrumentation*);
- WTF_EXPORT_PRIVATE void processPointer(MemoryInstrumentation*, bool isRoot);
- WTF_EXPORT_PRIVATE void processRootObjectRef(MemoryInstrumentation*);
-
- protected:
- virtual void callReportMemoryUsage(MemoryObjectInfo*) = 0;
- const void* m_pointer;
- const MemoryObjectType m_ownerObjectType;
-
- private:
-#if DEBUG_POINTER_INSTRUMENTATION
- static const int s_maxCallStackSize = 32;
- void* m_callStack[s_maxCallStackSize];
- int m_callStackSize;
-#endif
- };
-
-private:
- void countObjectSize(const void* object, MemoryObjectType objectType, size_t size) { m_client->countObjectSize(object, objectType, size); }
- bool visited(const void* pointer) { return m_client->visited(pointer); }
- bool checkCountedObject(const void* pointer) { return m_client->checkCountedObject(pointer); }
-
- WTF_EXPORT_PRIVATE void reportEdge(const void* target, const char* edgeName, MemberType);
-
- virtual void deferObject(PassOwnPtr<WrapperBase>) = 0;
- virtual void processDeferredObjects() = 0;
-
- WTF_EXPORT_PRIVATE static MemoryObjectType getObjectType(MemoryObjectInfo*);
-
- friend class MemoryObjectInfo;
- friend class MemoryClassInfo;
- template<typename T> friend void reportMemoryUsage(const T*, MemoryObjectInfo*);
-
- template <typename Type>
- class IsInstrumented {
- class yes {
- char m;
- };
-
- class no {
- yes m[2];
- };
-
- struct BaseMixin {
- void reportMemoryUsage(MemoryObjectInfo*) const { }
- };
-
-#if COMPILER(MSVC)
-#pragma warning(push)
-#pragma warning(disable: 4624) // Disable warning: destructor could not be generated because a base class destructor is inaccessible.
-#endif
- struct Base : public Type, public BaseMixin { };
-#if COMPILER(MSVC)
-#pragma warning(pop)
-#endif
-
- template <typename T, T t> class Helper { };
-
- template <typename U> static no deduce(U*, Helper<void (BaseMixin::*)(MemoryObjectInfo*) const, &U::reportMemoryUsage>* = 0);
- static yes deduce(...);
-
- public:
- static const bool result = sizeof(yes) == sizeof(deduce((Base*)(0)));
-
- };
-
- template <int>
- struct InstrumentationSelector {
- template <typename T> static void reportObjectMemoryUsage(const T*, MemoryObjectInfo*);
- };
-
- template<typename T> class Wrapper : public WrapperBase {
- public:
- Wrapper(const T* pointer, MemoryObjectType);
-
- protected:
- virtual void callReportMemoryUsage(MemoryObjectInfo*) OVERRIDE;
- };
-
- template<typename T> void addObject(const T& t, MemoryObjectInfo* ownerObjectInfo, const char* edgeName, MemberType memberType)
- {
- MemberTypeTraits<T>::addObject(this, t, ownerObjectInfo, edgeName, memberType);
- }
- void addRawBuffer(const void* buffer, MemoryObjectType ownerObjectType, size_t size, const char* className = 0, const char* edgeName = 0)
- {
- if (!buffer || visited(buffer))
- return;
- countObjectSize(buffer, ownerObjectType, size);
- reportLinkToBuffer(buffer, ownerObjectType, size, className, edgeName);
- }
- WTF_EXPORT_PRIVATE void reportLinkToBuffer(const void* buffer, MemoryObjectType ownerObjectType, size_t, const char* nodeName, const char* edgeName);
-
- template<typename T>
- struct MemberTypeTraits { // Default ReferenceMember implementation.
- static void addObject(MemoryInstrumentation* instrumentation, const T& t, MemoryObjectInfo* ownerObjectInfo, const char* edgeName, MemberType)
- {
- instrumentation->addObjectImpl(&t, ownerObjectInfo, ReferenceMember, edgeName);
- }
-
- static void addRootObject(MemoryInstrumentation* instrumentation, const T& t, MemoryObjectType objectType)
- {
- Wrapper<T>(&t, objectType).processRootObjectRef(instrumentation);
- }
- };
-
- template<typename T>
- struct MemberTypeTraits<T*> { // Custom PointerMember implementation.
- static void addObject(MemoryInstrumentation* instrumentation, const T* const& t, MemoryObjectInfo* ownerObjectInfo, const char* edgeName, MemberType memberType)
- {
- instrumentation->addObjectImpl(t, ownerObjectInfo, memberType != LastMemberTypeEntry ? memberType : PointerMember, edgeName);
- }
-
- static void addRootObject(MemoryInstrumentation* instrumentation, const T* const& t, MemoryObjectType objectType)
- {
- if (t && !instrumentation->visited(t))
- Wrapper<T>(t, objectType).processPointer(instrumentation, true);
- }
- };
-
- template<typename T> void addObjectImpl(const T*, MemoryObjectInfo*, MemberType, const char* edgeName);
- template<typename T> void addObjectImpl(const OwnPtr<T>*, MemoryObjectInfo*, MemberType, const char* edgeName);
- template<typename T> void addObjectImpl(const RefPtr<T>*, MemoryObjectInfo*, MemberType, const char* edgeName);
-
- MemoryInstrumentationClient* m_client;
-};
-
-// We are trying to keep the signature of the function as small as possible
-// because it significantly affects the binary size.
-// We caluclates class name for 624 classes at the moment.
-// So one extra byte of the function signature increases the binary size to 624 extra bytes.
-#if COMPILER(MSVC)
-template <typename T> struct FN {
- static char* fn() { return const_cast<char*>(__FUNCTION__); }
-};
-
-template <typename T> char* fn() { return FN<T>::fn(); }
-#else
-template <typename T> char* fn() { return const_cast<char*>(__PRETTY_FUNCTION__); }
-#endif
-
-class MemoryClassInfo {
-public:
- template<typename T>
- MemoryClassInfo(MemoryObjectInfo* memoryObjectInfo, const T* pointer, MemoryObjectType objectType = 0, size_t actualSize = sizeof(T))
- : m_memoryObjectInfo(memoryObjectInfo)
- , m_memoryInstrumentation(0)
- , m_objectType(0)
- , m_skipMembers(false)
- {
- init(pointer, fn<T>(), objectType, actualSize);
- }
-
- template<typename M> void addMember(const M& member, const char* edgeName = 0, MemberType memberType = LastMemberTypeEntry)
- {
- if (!m_skipMembers)
- m_memoryInstrumentation->addObject(member, m_memoryObjectInfo, edgeName, memberType);
- }
-
- WTF_EXPORT_PRIVATE void addRawBuffer(const void* buffer, size_t, const char* className = 0, const char* edgeName = 0);
- WTF_EXPORT_PRIVATE void addPrivateBuffer(size_t, MemoryObjectType ownerObjectType = 0, const char* className = 0, const char* edgeName = 0);
- WTF_EXPORT_PRIVATE void setCustomAllocation(bool);
-
- void addWeakPointer(void*) { }
- template<typename M> void ignoreMember(const M&) { }
-
- WTF_EXPORT_PRIVATE static void callReportObjectInfo(MemoryObjectInfo*, const void* pointer, const char* stringWithClassName, MemoryObjectType, size_t actualSize);
-
-private:
- WTF_EXPORT_PRIVATE void init(const void* pointer, const char* stringWithClassName, MemoryObjectType, size_t actualSize);
-
- MemoryObjectInfo* m_memoryObjectInfo;
- MemoryInstrumentation* m_memoryInstrumentation;
- MemoryObjectType m_objectType;
- bool m_skipMembers;
-};
-
-template <>
-template <typename T>
-void MemoryInstrumentation::InstrumentationSelector<true>::reportObjectMemoryUsage(const T* object, MemoryObjectInfo* memoryObjectInfo)
-{
- object->reportMemoryUsage(memoryObjectInfo);
-}
-
-template <>
-template <typename T>
-void MemoryInstrumentation::InstrumentationSelector<false>::reportObjectMemoryUsage(const T* object, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo::callReportObjectInfo(memoryObjectInfo, object, fn<T>(), 0, sizeof(T));
-}
-
-template<typename T>
-void reportMemoryUsage(const T* object, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryInstrumentation::InstrumentationSelector<MemoryInstrumentation::IsInstrumented<T>::result>::reportObjectMemoryUsage(object, memoryObjectInfo);
-}
-
-template<typename T>
-void MemoryInstrumentation::addObjectImpl(const T* object, MemoryObjectInfo* ownerObjectInfo, MemberType memberType, const char* edgeName)
-{
- if (memberType == PointerMember)
- return;
- if (memberType == ReferenceMember)
- reportMemoryUsage(object, ownerObjectInfo);
- else {
- if (!object)
- return;
- reportEdge(object, edgeName, memberType);
- if (visited(object))
- return;
- deferObject(adoptPtr(new Wrapper<T>(object, getObjectType(ownerObjectInfo))));
- }
-}
-
-template<typename T>
-void MemoryInstrumentation::addObjectImpl(const OwnPtr<T>* object, MemoryObjectInfo* ownerObjectInfo, MemberType memberType, const char* edgeName)
-{
- if (memberType == PointerMember && !visited(object))
- countObjectSize(object, getObjectType(ownerObjectInfo), sizeof(*object));
- addObjectImpl(object->get(), ownerObjectInfo, RetainingPointer, edgeName);
-}
-
-template<typename T>
-void MemoryInstrumentation::addObjectImpl(const RefPtr<T>* object, MemoryObjectInfo* ownerObjectInfo, MemberType memberType, const char* edgeName)
-{
- if (memberType == PointerMember && !visited(object))
- countObjectSize(object, getObjectType(ownerObjectInfo), sizeof(*object));
- addObjectImpl(object->get(), ownerObjectInfo, RetainingPointer, edgeName);
-}
-
-template<typename T>
-MemoryInstrumentation::Wrapper<T>::Wrapper(const T* pointer, MemoryObjectType ownerObjectType)
- : WrapperBase(ownerObjectType, pointer)
-{
-}
-
-template<typename T>
-void MemoryInstrumentation::Wrapper<T>::callReportMemoryUsage(MemoryObjectInfo* memoryObjectInfo)
-{
- reportMemoryUsage(static_cast<const T*>(m_pointer), memoryObjectInfo);
-}
-
-// Link time guard for classes with external memory instrumentation.
-template<typename T, size_t inlineCapacity, typename OverflowHandler> class Vector;
-template<typename T, size_t inlineCapacity, typename OverflowHandler> void reportMemoryUsage(const Vector<T, inlineCapacity, OverflowHandler>*, MemoryObjectInfo*);
-
-template<typename KeyArg, typename MappedArg, typename HashArg, typename KeyTraitsArg, typename MappedTraitsArg> class HashMap;
-template<typename KeyArg, typename MappedArg, typename HashArg, typename KeyTraitsArg, typename MappedTraitsArg> void reportMemoryUsage(const HashMap<KeyArg, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg>*, MemoryObjectInfo*);
-
-template<typename ValueArg, typename HashArg, typename TraitsArg> class HashCountedSet;
-template<typename ValueArg, typename HashArg, typename TraitsArg> void reportMemoryUsage(const HashCountedSet<ValueArg, HashArg, TraitsArg>*, MemoryObjectInfo*);
-
-template<typename ValueArg, size_t inlineCapacity, typename HashArg> class ListHashSet;
-template<typename ValueArg, size_t inlineCapacity, typename HashArg> void reportMemoryUsage(const ListHashSet<ValueArg, inlineCapacity, HashArg>*, MemoryObjectInfo*);
-
-class String;
-void reportMemoryUsage(const String*, MemoryObjectInfo*);
-
-class StringImpl;
-void reportMemoryUsage(const StringImpl*, MemoryObjectInfo*);
-
-class AtomicString;
-void reportMemoryUsage(const AtomicString*, MemoryObjectInfo*);
-
-class CString;
-void reportMemoryUsage(const CString*, MemoryObjectInfo*);
-
-class CStringBuffer;
-void reportMemoryUsage(const CStringBuffer*, MemoryObjectInfo*);
-
-class ParsedURL;
-void reportMemoryUsage(const ParsedURL*, MemoryObjectInfo*);
-
-class URLString;
-void reportMemoryUsage(const URLString*, MemoryObjectInfo*);
-
-} // namespace WTF
-
-#endif // !defined(MemoryInstrumentation_h)
+++ /dev/null
-/*
- * Copyright (C) 2012 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.
- */
-
-#ifndef MemoryInstrumentationArrayBufferView_h
-#define MemoryInstrumentationArrayBufferView_h
-
-#include <wtf/ArrayBufferView.h>
-#include <wtf/MemoryInstrumentation.h>
-
-namespace WTF {
-
-inline void reportMemoryUsage(const ArrayBufferView* arrayBufferView, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, arrayBufferView);
- info.addMember(arrayBufferView->buffer().get(), "buffer", RetainingPointer);
-}
-
-inline void reportMemoryUsage(const ArrayBuffer* arrayBuffer, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, arrayBuffer);
- info.addRawBuffer(arrayBuffer->data(), arrayBuffer->byteLength(), "byte[]", "data");
-}
-
-}
-
-#endif // !defined(MemoryInstrumentationArrayBufferView_h)
+++ /dev/null
-/*
- * Copyright (C) 2012 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.
- */
-
-#ifndef MemoryInstrumentationHashCountedSet_h
-#define MemoryInstrumentationHashCountedSet_h
-
-#include <wtf/HashCountedSet.h>
-#include <wtf/MemoryInstrumentationSequence.h>
-
-namespace WTF {
-
-template<typename ValueArg, typename HashArg, typename TraitsArg>
-void reportMemoryUsage(const HashCountedSet<ValueArg, HashArg, TraitsArg>* hashSet, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, hashSet);
-
- typedef HashMap<ValueArg, unsigned, HashArg, TraitsArg> HashMapType;
- info.addPrivateBuffer(sizeof(typename HashMapType::ValueType) * hashSet->capacity(), 0, "ValueType[]", "data");
- SequenceMemoryInstrumentationTraits<ValueArg>::reportMemoryUsage(hashSet->begin().keys(), hashSet->end().keys(), info);
-}
-
-}
-
-#endif // !defined(MemoryInstrumentationHashCountedSet_h)
+++ /dev/null
-/*
- * Copyright (C) 2012 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.
- */
-
-#ifndef MemoryInstrumentationHashMap_h
-#define MemoryInstrumentationHashMap_h
-
-#include <wtf/HashMap.h>
-#include <wtf/MemoryInstrumentationSequence.h>
-
-namespace WTF {
-
-template<typename KeyArg, typename MappedArg, typename HashArg, typename KeyTraitsArg, typename MappedTraitsArg>
-void reportMemoryUsage(const HashMap<KeyArg, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg>* hashMap, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, hashMap);
- typedef HashMap<KeyArg, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg> HashMapType;
- info.addPrivateBuffer(sizeof(typename HashMapType::ValueType) * hashMap->capacity(), 0, "ValueType[]", "data");
-
- SequenceMemoryInstrumentationTraits<KeyArg>::reportMemoryUsage(hashMap->begin().keys(), hashMap->end().keys(), info);
- SequenceMemoryInstrumentationTraits<MappedArg>::reportMemoryUsage(hashMap->begin().values(), hashMap->end().values(), info);
-}
-
-}
-
-#endif // !defined(MemoryInstrumentationHashMap_h)
+++ /dev/null
-/*
- * Copyright (C) 2012 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.
- */
-
-#ifndef MemoryInstrumentationHashSet_h
-#define MemoryInstrumentationHashSet_h
-
-#include <wtf/HashSet.h>
-#include <wtf/MemoryInstrumentationSequence.h>
-
-namespace WTF {
-
-template<typename ValueArg, typename HashArg, typename TraitsArg>
-void reportMemoryUsage(const HashSet<ValueArg, HashArg, TraitsArg>* hashSet, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, hashSet);
- info.addPrivateBuffer(sizeof(typename HashTable<ValueArg, ValueArg, IdentityExtractor, HashArg, TraitsArg, TraitsArg>::ValueType) * hashSet->capacity(), 0, "ValueType[]", "data");
- SequenceMemoryInstrumentationTraits<ValueArg>::reportMemoryUsage(hashSet->begin(), hashSet->end(), info);
-}
-
-}
-
-#endif // !defined(MemoryInstrumentationHashSet_h)
+++ /dev/null
-/*
- * Copyright (C) 2012 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.
- */
-
-#ifndef MemoryInstrumentationListHashSet_h
-#define MemoryInstrumentationListHashSet_h
-
-#include <wtf/ListHashSet.h>
-#include <wtf/MemoryInstrumentationSequence.h>
-
-namespace WTF {
-
-template<typename ValueArg, size_t inlineCapacity, typename HashArg>
-void reportMemoryUsage(const ListHashSet<ValueArg, inlineCapacity, HashArg>* set, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, set);
- info.addPrivateBuffer(set->sizeInBytes() - sizeof(*set), 0, "ValueType[]", "data");
- SequenceMemoryInstrumentationTraits<ValueArg>::reportMemoryUsage(set->begin(), set->end(), info);
-}
-
-}
-
-#endif // !defined(MemoryInstrumentationListHashSet_h)
+++ /dev/null
-/*
- * Copyright (C) 2012 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.
- */
-
-#ifndef MemoryInstrumentationSequence_h
-#define MemoryInstrumentationSequence_h
-
-#include <wtf/MemoryInstrumentation.h>
-#include <wtf/TypeTraits.h>
-
-namespace WTF {
-
-template <typename T> struct NotConvertibleToInteger {
-};
-
-// Default implementation with integer type filter.
-template<typename ValueType>
-struct SequenceMemoryInstrumentationTraits {
- template <typename I> static void reportMemoryUsage(I begin, I end, MemoryClassInfo& info)
- {
- // Check if type is convertible to integer to handle iteration through enum values.
- typedef SequenceMemoryInstrumentationTraits<typename Conditional<IsConvertibleToInteger<ValueType>::value, int, NotConvertibleToInteger<ValueType> >::Type> SequenceTraits;
- SequenceTraits::reportMemoryUsage(begin, end, info);
- }
-
-};
-
-// Specialization for the types which can't be converted to int.
-template<typename ValueType>
-struct SequenceMemoryInstrumentationTraits<NotConvertibleToInteger<ValueType> > {
- template <typename I>
- static void reportMemoryUsage(I iterator, I end, MemoryClassInfo& info)
- {
- while (iterator != end) {
- info.addMember(*iterator, "item");
- ++iterator;
- }
- }
-};
-
-template<> struct SequenceMemoryInstrumentationTraits<int> {
- template <typename I> static void reportMemoryUsage(I, I, MemoryClassInfo&) { }
-};
-
-template<> struct SequenceMemoryInstrumentationTraits<void*> {
- template <typename I> static void reportMemoryUsage(I, I, MemoryClassInfo&) { }
-};
-
-template<> struct SequenceMemoryInstrumentationTraits<char*> {
- template <typename I> static void reportMemoryUsage(I, I, MemoryClassInfo&) { }
-};
-
-template<> struct SequenceMemoryInstrumentationTraits<const char*> {
- template <typename I> static void reportMemoryUsage(I, I, MemoryClassInfo&) { }
-};
-
-template<> struct SequenceMemoryInstrumentationTraits<const void*> {
- template <typename I> static void reportMemoryUsage(I, I, MemoryClassInfo&) { }
-};
-
-}
-
-#endif // !defined(MemoryInstrumentationSequence_h)
+++ /dev/null
-/*
- * Copyright (C) 2012 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.
- */
-
-#ifndef MemoryInstrumentationString_h
-#define MemoryInstrumentationString_h
-
-#include <wtf/MemoryInstrumentation.h>
-#include <wtf/text/AtomicString.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/StringBuilder.h>
-#include <wtf/text/WTFString.h>
-
-namespace WTF {
-
-inline void reportMemoryUsage(const StringImpl* stringImpl, MemoryObjectInfo* memoryObjectInfo)
-{
- size_t selfSize = sizeof(StringImpl);
-
- size_t length = stringImpl->length() + (stringImpl->hasTerminatingNullCharacter() ? 1 : 0);
- size_t bufferSize = length * (stringImpl->is8Bit() ? sizeof(LChar) : sizeof(UChar));
- const void* buffer = stringImpl->is8Bit() ? static_cast<const void*>(stringImpl->characters8()) : static_cast<const void*>(stringImpl->characters16());
-
- // Count size used by internal buffer but skip strings that were constructed from literals.
- if (stringImpl->hasInternalBuffer() && buffer == stringImpl + 1)
- selfSize += bufferSize;
-
- MemoryClassInfo info(memoryObjectInfo, stringImpl, 0, selfSize);
-
- if (StringImpl* baseString = stringImpl->baseString())
- info.addMember(baseString, "baseString", RetainingPointer);
- else {
- if (stringImpl->hasOwnedBuffer())
- info.addRawBuffer(buffer, bufferSize, "char[]", "ownedBuffer");
-
- if (stringImpl->has16BitShadow())
- info.addRawBuffer(stringImpl->characters(), length * sizeof(UChar), "UChar[]", "16bitShadow");
- }
-}
-
-inline void reportMemoryUsage(const String* string, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, string);
- info.addMember(string->impl(), "stringImpl", RetainingPointer);
-}
-
-template <typename CharType> class StringBuffer;
-template <typename CharType>
-inline void reportMemoryUsage(const StringBuffer<CharType>* stringBuffer, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, stringBuffer);
- info.addRawBuffer(stringBuffer->characters(), sizeof(CharType) * stringBuffer->length(), "CharType[]", "data");
-}
-
-inline void reportMemoryUsage(const AtomicString* atomicString, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, atomicString);
- info.addMember(atomicString->string(), "string");
-}
-
-inline void reportMemoryUsage(const CStringBuffer* cStringBuffer, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, cStringBuffer, 0, sizeof(*cStringBuffer) + cStringBuffer->length());
-}
-
-inline void reportMemoryUsage(const CString* cString, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, cString);
- info.addMember(cString->buffer(), "buffer", RetainingPointer);
-}
-
-}
-
-#endif // !defined(MemoryInstrumentationVector_h)
+++ /dev/null
-/*
- * Copyright (C) 2012 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.
- */
-
-#ifndef MemoryInstrumentationVector_h
-#define MemoryInstrumentationVector_h
-
-#include <wtf/MemoryInstrumentationSequence.h>
-#include <wtf/Vector.h>
-
-namespace WTF {
-
-template<typename T, size_t inlineCapacity>
-void reportMemoryUsage(const Vector<T, inlineCapacity>* vector, MemoryObjectInfo* memoryObjectInfo)
-{
- MemoryClassInfo info(memoryObjectInfo, vector);
- if (inlineCapacity < vector->capacity())
- info.addRawBuffer(vector->data(), vector->capacity() * sizeof(T), "ValueType[]", "data");
- SequenceMemoryInstrumentationTraits<T>::reportMemoryUsage(vector->begin(), vector->end(), info);
-}
-
-}
-
-#endif // !defined(MemoryInstrumentationVector_h)
+++ /dev/null
-/*
- * Copyright (C) 2012 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.
- */
-
-#ifndef MemoryObjectInfo_h
-#define MemoryObjectInfo_h
-
-#include <wtf/MemoryInstrumentation.h>
-
-namespace WTF {
-
-class MemoryClassInfo;
-class MemoryInstrumentation;
-
-typedef const char* MemoryObjectType;
-
-class MemoryObjectInfo {
-public:
- MemoryObjectInfo(MemoryInstrumentation* memoryInstrumentation, MemoryObjectType ownerObjectType, const void* pointer)
- : m_memoryInstrumentation(memoryInstrumentation)
- , m_objectType(ownerObjectType)
- , m_objectSize(0)
- , m_pointer(pointer)
- , m_firstVisit(true)
- , m_customAllocation(false)
- , m_isRoot(false)
- , m_classNameId(0)
- , m_nameId(0)
- { }
-
- typedef MemoryClassInfo ClassInfo;
-
- MemoryObjectType objectType() const { return m_objectType; }
- size_t objectSize() const { return m_objectSize; }
- const void* reportedPointer() const { return m_pointer; }
- bool firstVisit() const { return m_firstVisit; }
- bool customAllocation() const { return m_customAllocation; }
- void setCustomAllocation(bool customAllocation) { m_customAllocation = customAllocation; }
-
- void setClassName(const char* className)
- {
- if (!m_classNameId)
- m_classNameId = m_memoryInstrumentation->m_client->registerString(className);
- }
- int classNameId() const { return m_classNameId; }
- void setName(const char* name)
- {
- if (!m_nameId)
- m_nameId = m_memoryInstrumentation->m_client->registerString(name);
- }
- int nameId() const { return m_nameId; }
- bool isRoot() const { return m_isRoot; }
- void markAsRoot() { m_isRoot = true; }
-
- MemoryInstrumentation* memoryInstrumentation() { return m_memoryInstrumentation; }
-
-private:
- friend class MemoryClassInfo;
- friend class MemoryInstrumentation;
-
- void reportObjectInfo(const void* pointer, MemoryObjectType objectType, size_t objectSize)
- {
- if (!m_objectSize) {
- if (m_pointer != pointer && m_pointer && m_memoryInstrumentation->visited(pointer))
- m_firstVisit = false;
- m_pointer = pointer;
- m_objectSize = objectSize;
- if (objectType)
- m_objectType = objectType;
- }
- }
-
- MemoryInstrumentation* m_memoryInstrumentation;
- MemoryObjectType m_objectType;
- size_t m_objectSize;
- const void* m_pointer;
- bool m_firstVisit;
- bool m_customAllocation;
- bool m_isRoot;
- int m_classNameId;
- int m_nameId;
-};
-
-} // namespace WTF
-
-#endif // !defined(MemoryObjectInfo_h)
namespace WTF {
struct AtomicStringHash;
-class MemoryObjectInfo;
class AtomicString {
public:
unsigned length() const { return m_length; }
bool is8Bit() const { return m_hashAndFlags & s_hashFlag8BitBuffer; }
- bool hasInternalBuffer() const { return bufferOwnership() == BufferInternal; }
- bool hasOwnedBuffer() const { return bufferOwnership() == BufferOwned; }
- StringImpl* baseString() const { return bufferOwnership() == BufferSubstring ? m_substringBuffer : 0; }
// FIXME: Remove all unnecessary usages of characters()
ALWAYS_INLINE const LChar* characters8() const { ASSERT(is8Bit()); return m_data8; }
bool isASCIILiteral() const
{
- return is8Bit() && hasInternalBuffer() && reinterpret_cast<const void*>(m_data8) != reinterpret_cast<const void*>(this + 1);
+ return is8Bit() && bufferOwnership() == BufferInternal && reinterpret_cast<const void*>(m_data8) != reinterpret_cast<const void*>(this + 1);
}
// This number must be at least 2 to avoid sharing empty, null as well as 1 character strings from SmallStrings.
namespace WTF {
class CString;
-class MemoryObjectInfo;
struct StringHash;
// Declarations of string operations
dom/UserTypingGestureIndicator.cpp
dom/ViewportArguments.cpp
dom/VisitedLinkState.cpp
- dom/WebCoreMemoryInstrumentation.cpp
dom/WebKitAnimationEvent.cpp
dom/WebKitNamedFlow.cpp
dom/WebKitTransitionEvent.cpp
inspector/ContentSearchUtils.cpp
inspector/DOMEditor.cpp
inspector/DOMPatchSupport.cpp
- inspector/HeapGraphSerializer.cpp
inspector/IdentifiersFactory.cpp
inspector/InjectedScript.cpp
inspector/InjectedScriptBase.cpp
inspector/InspectorValues.cpp
inspector/InspectorWorkerAgent.cpp
inspector/InstrumentingAgents.cpp
- inspector/MemoryInstrumentationImpl.cpp
inspector/NetworkResourcesData.cpp
inspector/PageConsoleAgent.cpp
inspector/PageDebuggerAgent.cpp
loader/SinkDocument.cpp
loader/SubframeLoader.cpp
loader/SubresourceLoader.cpp
- loader/SubstituteData.cpp
loader/TextResourceDecoder.cpp
loader/TextTrackLoader.cpp
loader/ThreadableLoader.cpp
platform/NotImplemented.cpp
platform/PlatformEvent.cpp
platform/PlatformInstrumentation.cpp
- platform/PlatformMemoryInstrumentation.cpp
platform/RunLoop.cpp
platform/RuntimeApplicationChecks.cpp
platform/ScrollAnimator.cpp
+2013-04-22 Benjamin Poulain <benjamin@webkit.org>
+
+ Remove the memory instrumentation code
+ https://bugs.webkit.org/show_bug.cgi?id=114931
+
+ Reviewed by Andreas Kling.
+
+ The Memory Instrumentation code is unfinished and has already
+ become out of sync the objects it is supposed to represent.
+
+ The current approach does not seem maintainable, it is better to
+ remove it before someone gets hurt.
+
+ By removing the code, the binary become 1240976 bytes smaller.
+ Yep, almost 1 Mb, bringing WebCore to the size it has 5 months ago :)
+
+ * MostWebCoreFiles: remove the support for memory instrumentation.
+
2013-04-22 Bear Travis <betravis@adobe.com>
Do not reuse ExclusionShapeInsideInfo in a recursive region layout
Source/WebCore/dom/ViewportArguments.h \
Source/WebCore/dom/VisitedLinkState.cpp \
Source/WebCore/dom/VisitedLinkState.h \
- Source/WebCore/dom/WebCoreMemoryInstrumentation.cpp \
- Source/WebCore/dom/WebCoreMemoryInstrumentation.h \
Source/WebCore/dom/WebKitAnimationEvent.cpp \
Source/WebCore/dom/WebKitAnimationEvent.h \
Source/WebCore/dom/WebKitNamedFlow.cpp \
Source/WebCore/inspector/DOMEditor.h \
Source/WebCore/inspector/DOMPatchSupport.cpp \
Source/WebCore/inspector/DOMPatchSupport.h \
- Source/WebCore/inspector/HeapGraphSerializer.cpp \
- Source/WebCore/inspector/HeapGraphSerializer.h \
Source/WebCore/inspector/IdentifiersFactory.cpp \
Source/WebCore/inspector/IdentifiersFactory.h \
Source/WebCore/inspector/InjectedScript.cpp \
Source/WebCore/inspector/InspectorWorkerResource.h \
Source/WebCore/inspector/InstrumentingAgents.cpp \
Source/WebCore/inspector/InstrumentingAgents.h \
- Source/WebCore/inspector/MemoryInstrumentationImpl.cpp \
- Source/WebCore/inspector/MemoryInstrumentationImpl.h \
Source/WebCore/inspector/NetworkResourcesData.cpp \
Source/WebCore/inspector/NetworkResourcesData.h \
Source/WebCore/inspector/PageConsoleAgent.cpp \
Source/WebCore/loader/SubframeLoader.h \
Source/WebCore/loader/SubresourceLoader.cpp \
Source/WebCore/loader/SubresourceLoader.h \
- Source/WebCore/loader/SubstituteData.cpp \
Source/WebCore/loader/SubstituteData.h \
Source/WebCore/loader/SubstituteResource.h \
Source/WebCore/loader/TextResourceDecoder.cpp \
Source/WebCore/platform/PlatformEvent.h \
Source/WebCore/platform/PlatformExportMacros.h \
Source/WebCore/platform/PlatformKeyboardEvent.h \
- Source/WebCore/platform/PlatformMemoryInstrumentation.cpp \
- Source/WebCore/platform/PlatformMemoryInstrumentation.h \
Source/WebCore/platform/PlatformMenuDescription.h \
Source/WebCore/platform/PlatformMouseEvent.h \
Source/WebCore/platform/PlatformPasteboard.h \
#include "ScriptProcessorNode.h"
#include "WaveShaperNode.h"
#include "WaveTable.h"
-#include "WebCoreMemoryInstrumentation.h"
-#include <wtf/MemoryInstrumentationHashSet.h>
-#include <wtf/MemoryInstrumentationVector.h>
#if ENABLE(MEDIA_STREAM)
#include "MediaStream.h"
atomicDecrement(&m_activeSourceCount);
}
-void AudioContext::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- AutoLocker locker(const_cast<AudioContext*>(this));
-
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Audio);
- ActiveDOMObject::reportMemoryUsage(memoryObjectInfo);
- info.addMember(m_destinationNode, "destinationNode");
- info.addMember(m_listener, "listener");
- info.addMember(m_finishedNodes, "finishedNodes");
- info.addMember(m_referencedNodes, "referencedNodes");
- info.addMember(m_nodesMarkedForDeletion, "nodesMarkedForDeletion");
- info.addMember(m_nodesToDelete, "nodesToDelete");
- info.addMember(m_dirtySummingJunctions, "dirtySummingJunctions");
- info.addMember(m_dirtyAudioNodeOutputs, "dirtyAudioNodeOutputs");
- info.addMember(m_automaticPullNodes, "automaticPullNodes");
- info.addMember(m_renderingAutomaticPullNodes, "renderingAutomaticPullNodes");
- info.addMember(m_contextGraphMutex, "contextGraphMutex");
- info.addMember(m_deferredFinishDerefList, "deferredFinishDerefList");
- info.addMember(m_hrtfDatabaseLoader, "hrtfDatabaseLoader");
- info.addMember(m_eventTargetData, "eventTargetData");
- info.addMember(m_renderTarget, "renderTarget");
- info.addMember(m_audioDecoder, "audioDecoder");
-}
-
} // namespace WebCore
#endif // ENABLE(WEB_AUDIO)
static unsigned s_hardwareContextCount;
- virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
-
protected:
explicit AudioContext(Document*);
AudioContext(Document*, unsigned numberOfChannels, size_t numberOfFrames, float sampleRate);
#include "AudioNodeOutput.h"
#include "AudioParam.h"
#include "ExceptionCode.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/Atomics.h>
#include <wtf/MainThread.h>
-#include <wtf/MemoryInstrumentationVector.h>
#if DEBUG_AUDIONODE_REFERENCES
#include <stdio.h>
}
}
-void AudioNode::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Audio);
- info.addMember(m_context, "context");
- info.addMember(m_inputs, "inputs");
- info.addMember(m_outputs, "outputs");
-}
-
#if DEBUG_AUDIONODE_REFERENCES
bool AudioNode::s_isNodeCountInitialized = false;
void enableOutputsIfNecessary();
void disableOutputsIfNecessary();
- void reportMemoryUsage(MemoryObjectInfo*) const;
-
unsigned long channelCount();
virtual void setChannelCount(unsigned long, ExceptionCode&);
dom/UserTypingGestureIndicator.cpp \
dom/ViewportArguments.cpp \
dom/VisitedLinkState.cpp \
- dom/WebCoreMemoryInstrumentation.cpp \
dom/WebKitAnimationEvent.cpp \
dom/WebKitTransitionEvent.cpp \
dom/WheelEvent.cpp \
inspector/ContentSearchUtils.cpp \
inspector/DOMEditor.cpp \
inspector/DOMPatchSupport.cpp \
- inspector/HeapGraphSerializer.cpp \
inspector/IdentifiersFactory.cpp \
inspector/InjectedScript.cpp \
inspector/InjectedScriptBase.cpp \
inspector/InspectorValues.cpp \
inspector/InspectorWorkerAgent.cpp \
inspector/InstrumentingAgents.cpp \
- inspector/MemoryInstrumentationImpl.cpp \
inspector/NetworkResourcesData.cpp \
inspector/PageConsoleAgent.cpp \
inspector/PageDebuggerAgent.cpp \
loader/SinkDocument.cpp \
loader/SubframeLoader.cpp \
loader/SubresourceLoader.cpp \
- loader/SubstituteData.cpp \
loader/TextResourceDecoder.cpp \
loader/ThreadableLoader.cpp \
page/animation/AnimationBase.cpp \
platform/text/RegularExpression.cpp \
platform/PlatformEvent.cpp \
platform/PlatformInstrumentation.cpp \
- platform/PlatformMemoryInstrumentation.cpp \
platform/RuntimeApplicationChecks.cpp \
platform/RunLoop.cpp \
platform/SchemeRegistry.cpp \
dom/UIEventWithKeyState.h \
dom/UserGestureIndicator.h \
dom/ViewportArguments.h \
- dom/WebCoreMemoryInstrumentation.h \
dom/WebKitAnimationEvent.h \
dom/WebKitNamedFlow.h \
dom/WebKitTransitionEvent.h \
inspector/ContentSearchUtils.h \
inspector/DOMEditor.h \
inspector/DOMPatchSupport.h \
- inspector/HeapGraphSerializer.h \
inspector/IdentifiersFactory.h \
inspector/InjectedScript.h \
inspector/InjectedScriptBase.h \
inspector/InspectorTimelineAgent.h \
inspector/InspectorWorkerAgent.h \
inspector/InstrumentingAgents.h \
- inspector/MemoryInstrumentationImpl.h \
inspector/NetworkResourcesData.h \
inspector/PageConsoleAgent.h \
inspector/PageDebuggerAgent.h \
platform/network/qt/NetworkStateNotifierPrivate.h \
platform/network/qt/CookieJarQt.h \
platform/PlatformExportMacros.h \
- platform/PlatformMemoryInstrumentation.h \
platform/PlatformTouchEvent.h \
platform/PlatformTouchPoint.h \
platform/PopupMenu.h \
__ZN7WebCore9InlineBox10deleteLineEPNS_11RenderArenaE
__ZN7WebCore9InlineBox7destroyEPNS_11RenderArenaE
__ZN7WebCore9InlineBox16placeEllipsisBoxEbfffRfRb
-__ZNK7WebCore9InlineBox17reportMemoryUsageEPN3WTF16MemoryObjectInfoE
__ZNK7WebCore9InlineBox14caretMinOffsetEv
__ZNK7WebCore9InlineBox10lineHeightEv
#if !defined(NDEBUG)
__ZNK7WebCore13HitTestResult5imageEv
__ZNK7WebCore13HitTestResult5titleERNS_13TextDirectionE
__ZNK7WebCore13HitTestResult9imageRectEv
-__ZNK7WebCore13GraphicsLayer17reportMemoryUsageEPN3WTF16MemoryObjectInfoE
__ZNK7WebCore13ResourceError7cfErrorEv
__ZNK7WebCore13ResourceError7nsErrorEv
__ZNK7WebCore13ResourceErrorcvP7NSErrorEv
__ZNK7WebCore14DocumentLoader15originalRequestEv
__ZNK7WebCore14DocumentLoader16mainResourceDataEv
__ZNK7WebCore14DocumentLoader17parsedArchiveDataEv
-__ZNK7WebCore14DocumentLoader17reportMemoryUsageEPN3WTF16MemoryObjectInfoE
__ZNK7WebCore14DocumentLoader18mainResourceLoaderEv
__ZNK7WebCore14DocumentLoader19isLoadingInAPISenseEv
__ZNK7WebCore14DocumentLoader19originalRequestCopyEv
__ZNK7WebCore14ResourceHandle10connectionEv
__ZNK7WebCore14ResourceLoader11frameLoaderEv
__ZNK7WebCore14ScrollableArea14scrollAnimatorEv
-__ZNK7WebCore14ScrollableArea17reportMemoryUsageEPN3WTF16MemoryObjectInfoE
__ZNK7WebCore14ScrollableArea20contentAreaWillPaintEv
__ZNK7WebCore14ScrollableArea22mouseExitedContentAreaEv
__ZNK7WebCore14ScrollableArea23mouseEnteredContentAreaEv
RelativePath="..\loader\SubresourceLoader.h"
>
</File>
- <File
- RelativePath="..\loader\SubstituteData.cpp"
- >
- </File>
<File
RelativePath="..\loader\SubstituteData.h"
>
RelativePath="..\platform\PlatformKeyboardEvent.h"
>
</File>
- <File
- RelativePath="..\platform\PlatformMemoryInstrumentation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformMemoryInstrumentation.h"
- >
- </File>
<File
RelativePath="..\platform\PlatformMenuDescription.h"
>
RelativePath="..\dom\ViewportArguments.h"
>
</File>
- <File
- RelativePath="..\dom\WebCoreMemoryInstrumentation.cpp"
- >
- </File>
- <File
- RelativePath="..\dom\WebCoreMemoryInstrumentation.h"
- >
- </File>
<File
RelativePath="..\dom\WebKitAnimationEvent.cpp"
>
RelativePath="..\inspector\DOMPatchSupport.h"
>
</File>
- <File
- RelativePath="..\inspector\HeapGraphSerializer.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\HeapGraphSerializer.h"
- >
- </File>
<File
RelativePath="..\inspector\IdentifiersFactory.cpp"
>
RelativePath="..\inspector\InstrumentingAgents.h"
>
</File>
- <File
- RelativePath="..\inspector\MemoryInstrumentationImpl.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\MemoryInstrumentationImpl.h"
- >
- </File>
<File
RelativePath="..\inspector\NetworkResourcesData.cpp"
>
<ClCompile Include="..\loader\SinkDocument.cpp" />
<ClCompile Include="..\loader\SubframeLoader.cpp" />
<ClCompile Include="..\loader\SubresourceLoader.cpp" />
- <ClCompile Include="..\loader\SubstituteData.cpp" />
<ClCompile Include="..\loader\TextResourceDecoder.cpp" />
<ClCompile Include="..\loader\TextTrackLoader.cpp" />
<ClCompile Include="..\loader\ThreadableLoader.cpp" />
<ClCompile Include="..\platform\NotImplemented.cpp" />
<ClCompile Include="..\platform\PlatformEvent.cpp" />
<ClCompile Include="..\platform\PlatformInstrumentation.cpp" />
- <ClCompile Include="..\platform\PlatformMemoryInstrumentation.cpp" />
<ClCompile Include="..\platform\PlatformStrategies.cpp" />
<ClCompile Include="..\platform\RunLoop.cpp" />
<ClCompile Include="..\platform\RuntimeApplicationChecks.cpp" />
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</ClCompile>
- <ClCompile Include="..\dom\WebCoreMemoryInstrumentation.cpp" />
<ClCompile Include="..\dom\WebKitAnimationEvent.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</ClCompile>
- <ClCompile Include="..\inspector\HeapGraphSerializer.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- </ClCompile>
<ClCompile Include="..\inspector\IdentifiersFactory.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</ClCompile>
- <ClCompile Include="..\inspector\MemoryInstrumentationImpl.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- </ClCompile>
<ClCompile Include="..\inspector\NetworkResourcesData.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
<ClInclude Include="..\platform\PlatformEvent.h" />
<ClInclude Include="..\platform\PlatformInstrumentation.h" />
<ClInclude Include="..\platform\PlatformKeyboardEvent.h" />
- <ClInclude Include="..\platform\PlatformMemoryInstrumentation.h" />
<ClInclude Include="..\platform\PlatformMenuDescription.h" />
<ClInclude Include="..\platform\PlatformMouseEvent.h" />
<ClInclude Include="..\platform\PlatformScreen.h" />
<ClInclude Include="..\dom\UserGestureIndicator.h" />
<ClInclude Include="..\dom\UserTypingGestureIndicator.h" />
<ClInclude Include="..\dom\ViewportArguments.h" />
- <ClInclude Include="..\dom\WebCoreMemoryInstrumentation.h" />
<ClInclude Include="..\dom\WebKitAnimationEvent.h" />
<ClInclude Include="..\dom\WebKitNamedFlow.h" />
<ClInclude Include="..\dom\WebKitTransitionEvent.h" />
<ClInclude Include="..\inspector\ContentSearchUtils.h" />
<ClInclude Include="..\inspector\DOMEditor.h" />
<ClInclude Include="..\inspector\DOMPatchSupport.h" />
- <ClInclude Include="..\inspector\HeapGraphSerializer.h" />
<ClInclude Include="..\inspector\IdentifiersFactory.h" />
<ClInclude Include="..\inspector\InjectedScript.h" />
<ClInclude Include="..\inspector\InjectedScriptBase.h" />
<ClInclude Include="..\inspector\InspectorWorkerAgent.h" />
<ClInclude Include="..\inspector\InspectorWorkerResource.h" />
<ClInclude Include="..\inspector\InstrumentingAgents.h" />
- <ClInclude Include="..\inspector\MemoryInstrumentationImpl.h" />
<ClInclude Include="..\inspector\NetworkResourcesData.h" />
<ClInclude Include="..\inspector\PageConsoleAgent.h" />
<ClInclude Include="..\inspector\PageDebuggerAgent.h" />
<ClCompile Include="..\loader\SubresourceLoader.cpp">
<Filter>loader</Filter>
</ClCompile>
- <ClCompile Include="..\loader\SubstituteData.cpp">
- <Filter>loader</Filter>
- </ClCompile>
<ClCompile Include="..\loader\TextResourceDecoder.cpp">
<Filter>loader</Filter>
</ClCompile>
<ClCompile Include="..\platform\PlatformInstrumentation.cpp">
<Filter>platform</Filter>
</ClCompile>
- <ClCompile Include="..\platform\PlatformMemoryInstrumentation.cpp">
- <Filter>platform</Filter>
- </ClCompile>
<ClCompile Include="..\platform\PlatformStrategies.cpp">
<Filter>platform</Filter>
</ClCompile>
<ClCompile Include="..\dom\ViewportArguments.cpp">
<Filter>dom</Filter>
</ClCompile>
- <ClCompile Include="..\dom\WebCoreMemoryInstrumentation.cpp">
- <Filter>dom</Filter>
- </ClCompile>
<ClCompile Include="..\dom\WebKitAnimationEvent.cpp">
<Filter>dom</Filter>
</ClCompile>
<ClCompile Include="..\inspector\DOMPatchSupport.cpp">
<Filter>inspector</Filter>
</ClCompile>
- <ClCompile Include="..\inspector\HeapGraphSerializer.cpp">
- <Filter>inspector</Filter>
- </ClCompile>
<ClCompile Include="..\inspector\IdentifiersFactory.cpp">
<Filter>inspector</Filter>
</ClCompile>
<ClCompile Include="..\inspector\InstrumentingAgents.cpp">
<Filter>inspector</Filter>
</ClCompile>
- <ClCompile Include="..\inspector\MemoryInstrumentationImpl.cpp">
- <Filter>inspector</Filter>
- </ClCompile>
<ClCompile Include="..\inspector\NetworkResourcesData.cpp">
<Filter>inspector</Filter>
</ClCompile>
<ClInclude Include="..\platform\PlatformKeyboardEvent.h">
<Filter>platform</Filter>
</ClInclude>
- <ClInclude Include="..\platform\PlatformMemoryInstrumentation.h">
- <Filter>platform</Filter>
- </ClInclude>
<ClInclude Include="..\platform\PlatformMenuDescription.h">
<Filter>platform</Filter>
</ClInclude>
<ClInclude Include="..\dom\ViewportArguments.h">
<Filter>dom</Filter>
</ClInclude>
- <ClInclude Include="..\dom\WebCoreMemoryInstrumentation.h">
- <Filter>dom</Filter>
- </ClInclude>
<ClInclude Include="..\dom\WebKitAnimationEvent.h">
<Filter>dom</Filter>
</ClInclude>
<ClInclude Include="..\inspector\DOMPatchSupport.h">
<Filter>inspector</Filter>
</ClInclude>
- <ClInclude Include="..\inspector\HeapGraphSerializer.h">
- <Filter>inspector</Filter>
- </ClInclude>
<ClInclude Include="..\inspector\IdentifiersFactory.h">
<Filter>inspector</Filter>
</ClInclude>
<ClInclude Include="..\inspector\InstrumentingAgents.h">
<Filter>inspector</Filter>
</ClInclude>
- <ClInclude Include="..\inspector\MemoryInstrumentationImpl.h">
- <Filter>inspector</Filter>
- </ClInclude>
<ClInclude Include="..\inspector\NetworkResourcesData.h">
<Filter>inspector</Filter>
</ClInclude>
4E19592E0A39DACC00220FE5 /* MediaQueryExp.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E1959280A39DACC00220FE5 /* MediaQueryExp.h */; };
4F1534DE11B532EC0021FD86 /* EditingBehavior.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F1534DD11B532EC0021FD86 /* EditingBehavior.h */; settings = {ATTRIBUTES = (Private, ); }; };
4F1534E011B533020021FD86 /* EditingBehaviorTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F1534DF11B533020021FD86 /* EditingBehaviorTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 4F1D11BF15FF37200026E908 /* PlatformMemoryInstrumentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F1D118915FF361B0026E908 /* PlatformMemoryInstrumentation.cpp */; };
4F2D205412EAE7B3005C2874 /* InspectorAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F2D205212EAE7B3005C2874 /* InspectorAgent.h */; settings = {ATTRIBUTES = (Private, ); }; };
4F2D205512EAE7B3005C2874 /* InspectorAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2D205312EAE7B3005C2874 /* InspectorAgent.cpp */; };
4F3289B511A42AAB005ABE7E /* InspectorValues.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F3289B311A42AAB005ABE7E /* InspectorValues.cpp */; };
4F3289B611A42AAB005ABE7E /* InspectorValues.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F3289B411A42AAB005ABE7E /* InspectorValues.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 4F377FF515FA356A00E5D60D /* WebCoreMemoryInstrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F377FF415FA356A00E5D60D /* WebCoreMemoryInstrumentation.h */; settings = {ATTRIBUTES = (Private, ); }; };
4F4F5FFB11CBD2E100A186BF /* InspectorFrontend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4F5FFA11CBD2D200A186BF /* InspectorFrontend.cpp */; };
4F6FDD641341DEDD001F8EE3 /* InspectorPageAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F6FDD621341DEDD001F8EE3 /* InspectorPageAgent.cpp */; };
4F6FDD651341DEDD001F8EE3 /* InspectorPageAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F6FDD631341DEDD001F8EE3 /* InspectorPageAgent.h */; };
4F707A9911EF679400ACDA69 /* InspectorBackendDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F707A9711EF679400ACDA69 /* InspectorBackendDispatcher.cpp */; };
4F707A9A11EF679400ACDA69 /* InspectorBackendDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F707A9811EF679400ACDA69 /* InspectorBackendDispatcher.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 4F7B4A6615FF6D6A006B5F22 /* PlatformMemoryInstrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F1D118A15FF361B0026E908 /* PlatformMemoryInstrumentation.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 4F8565E91530356E00FAE776 /* MemoryInstrumentationImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F8565E71530356E00FAE776 /* MemoryInstrumentationImpl.cpp */; };
- 4F8565EA1530356E00FAE776 /* MemoryInstrumentationImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F8565E81530356E00FAE776 /* MemoryInstrumentationImpl.h */; };
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 */; };
F33F0282120947F200E5743A /* ScriptProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F33F0281120947F200E5743A /* ScriptProfile.cpp */; };
F33F053D120B0DA500E5743A /* InspectorDebuggerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F33F053B120B0DA500E5743A /* InspectorDebuggerAgent.cpp */; };
F33F053E120B0DA500E5743A /* InspectorDebuggerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = F33F053C120B0DA500E5743A /* InspectorDebuggerAgent.h */; };
- F343A70A15D3F56E0032D016 /* SubstituteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F343A70915D3F56E0032D016 /* SubstituteData.cpp */; };
F344C7141125B82C00F26EEE /* InspectorFrontendClient.h in Headers */ = {isa = PBXBuildFile; fileRef = F344C7121125B82C00F26EEE /* InspectorFrontendClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
F344C75311294D9D00F26EEE /* InspectorFrontendClientLocal.h in Headers */ = {isa = PBXBuildFile; fileRef = F344C75211294D9D00F26EEE /* InspectorFrontendClientLocal.h */; settings = {ATTRIBUTES = (Private, ); }; };
F344C75811294FF600F26EEE /* InspectorFrontendClientLocal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F344C75711294FF600F26EEE /* InspectorFrontendClientLocal.cpp */; };
F36E07A41358A8BE00AACBC9 /* WorkerInspectorController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F36E07A21358A8BE00AACBC9 /* WorkerInspectorController.cpp */; };
F36E07A51358A8BE00AACBC9 /* WorkerInspectorController.h in Headers */ = {isa = PBXBuildFile; fileRef = F36E07A31358A8BE00AACBC9 /* WorkerInspectorController.h */; };
F375CC071150D300008DDB81 /* InspectorWorkerResource.h in Headers */ = {isa = PBXBuildFile; fileRef = F375CC061150D300008DDB81 /* InspectorWorkerResource.h */; };
- F37A56221679CF7B00C57046 /* HeapGraphSerializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F37A56201679CF7B00C57046 /* HeapGraphSerializer.cpp */; };
- F37A56231679CF7B00C57046 /* HeapGraphSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = F37A56211679CF7B00C57046 /* HeapGraphSerializer.h */; };
F3810C1B1365A49600ED6E33 /* InspectorWorkerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F3810C191365A49600ED6E33 /* InspectorWorkerAgent.cpp */; };
F3810C1C1365A49600ED6E33 /* InspectorWorkerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = F3810C1A1365A49600ED6E33 /* InspectorWorkerAgent.h */; };
F3820892147D35F90010BC06 /* PageConsoleAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F382088A147D35F90010BC06 /* PageConsoleAgent.cpp */; };
F39BE95B12673BF400E0A674 /* ScriptArguments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F39BE95912673BF400E0A674 /* ScriptArguments.cpp */; };
F39BE95C12673BF400E0A674 /* ScriptArguments.h in Headers */ = {isa = PBXBuildFile; fileRef = F39BE95A12673BF400E0A674 /* ScriptArguments.h */; };
F3ABFE0C130E9DA000E7F7D1 /* InstrumentingAgents.h in Headers */ = {isa = PBXBuildFile; fileRef = F3ABFE0B130E9DA000E7F7D1 /* InstrumentingAgents.h */; };
- F3BFC9D315C177EC004244E5 /* WebCoreMemoryInstrumentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F3BFC9D215C177EC004244E5 /* WebCoreMemoryInstrumentation.cpp */; };
F3D461481161D53200CA0D09 /* JSErrorHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F3D461461161D53200CA0D09 /* JSErrorHandler.cpp */; };
F3D461491161D53200CA0D09 /* JSErrorHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = F3D461471161D53200CA0D09 /* JSErrorHandler.h */; };
F3D4C47812E07663003DA150 /* InspectorDOMDebuggerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F3D4C47612E07663003DA150 /* InspectorDOMDebuggerAgent.cpp */; };
4E1959280A39DACC00220FE5 /* MediaQueryExp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MediaQueryExp.h; sourceTree = "<group>"; };
4F1534DD11B532EC0021FD86 /* EditingBehavior.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditingBehavior.h; sourceTree = "<group>"; };
4F1534DF11B533020021FD86 /* EditingBehaviorTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditingBehaviorTypes.h; sourceTree = "<group>"; };
- 4F1D118915FF361B0026E908 /* PlatformMemoryInstrumentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlatformMemoryInstrumentation.cpp; sourceTree = "<group>"; };
- 4F1D118A15FF361B0026E908 /* PlatformMemoryInstrumentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformMemoryInstrumentation.h; sourceTree = "<group>"; };
4F2D205212EAE7B3005C2874 /* InspectorAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorAgent.h; sourceTree = "<group>"; };
4F2D205312EAE7B3005C2874 /* InspectorAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorAgent.cpp; sourceTree = "<group>"; };
4F3289B311A42AAB005ABE7E /* InspectorValues.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorValues.cpp; sourceTree = "<group>"; };
4F3289B411A42AAB005ABE7E /* InspectorValues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorValues.h; sourceTree = "<group>"; };
- 4F377FF415FA356A00E5D60D /* WebCoreMemoryInstrumentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreMemoryInstrumentation.h; sourceTree = "<group>"; };
4F4F5FFA11CBD2D200A186BF /* InspectorFrontend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorFrontend.cpp; sourceTree = "<group>"; };
4F4F5FFC11CBD30100A186BF /* InspectorFrontend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorFrontend.h; sourceTree = "<group>"; };
4F6FDD621341DEDD001F8EE3 /* InspectorPageAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorPageAgent.cpp; sourceTree = "<group>"; };
4F6FDD631341DEDD001F8EE3 /* InspectorPageAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorPageAgent.h; sourceTree = "<group>"; };
4F707A9711EF679400ACDA69 /* InspectorBackendDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorBackendDispatcher.cpp; sourceTree = "<group>"; };
4F707A9811EF679400ACDA69 /* InspectorBackendDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorBackendDispatcher.h; sourceTree = "<group>"; };
- 4F8565E71530356E00FAE776 /* MemoryInstrumentationImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MemoryInstrumentationImpl.cpp; sourceTree = "<group>"; };
- 4F8565E81530356E00FAE776 /* MemoryInstrumentationImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentationImpl.h; sourceTree = "<group>"; };
4FA3B908125CD12100300BAD /* InspectorState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorState.cpp; sourceTree = "<group>"; };
4FA3B909125CD12200300BAD /* InspectorState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorState.h; sourceTree = "<group>"; };
4FAB48641643A66D00F70C07 /* ElementRareData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ElementRareData.cpp; sourceTree = "<group>"; };
F33F0281120947F200E5743A /* ScriptProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptProfile.cpp; sourceTree = "<group>"; };
F33F053B120B0DA500E5743A /* InspectorDebuggerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorDebuggerAgent.cpp; sourceTree = "<group>"; };
F33F053C120B0DA500E5743A /* InspectorDebuggerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorDebuggerAgent.h; sourceTree = "<group>"; };
- F343A70915D3F56E0032D016 /* SubstituteData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SubstituteData.cpp; sourceTree = "<group>"; };
F344C7121125B82C00F26EEE /* InspectorFrontendClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorFrontendClient.h; sourceTree = "<group>"; };
F344C75211294D9D00F26EEE /* InspectorFrontendClientLocal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorFrontendClientLocal.h; sourceTree = "<group>"; };
F344C75711294FF600F26EEE /* InspectorFrontendClientLocal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorFrontendClientLocal.cpp; sourceTree = "<group>"; };
F36E07A21358A8BE00AACBC9 /* WorkerInspectorController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkerInspectorController.cpp; sourceTree = "<group>"; };
F36E07A31358A8BE00AACBC9 /* WorkerInspectorController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkerInspectorController.h; sourceTree = "<group>"; };
F375CC061150D300008DDB81 /* InspectorWorkerResource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorWorkerResource.h; sourceTree = "<group>"; };
- F37A56201679CF7B00C57046 /* HeapGraphSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HeapGraphSerializer.cpp; sourceTree = "<group>"; };
- F37A56211679CF7B00C57046 /* HeapGraphSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HeapGraphSerializer.h; sourceTree = "<group>"; };
F3810C191365A49600ED6E33 /* InspectorWorkerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorWorkerAgent.cpp; sourceTree = "<group>"; };
F3810C1A1365A49600ED6E33 /* InspectorWorkerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorWorkerAgent.h; sourceTree = "<group>"; };
F382088A147D35F90010BC06 /* PageConsoleAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageConsoleAgent.cpp; sourceTree = "<group>"; };
F39BE95912673BF400E0A674 /* ScriptArguments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptArguments.cpp; sourceTree = "<group>"; };
F39BE95A12673BF400E0A674 /* ScriptArguments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptArguments.h; sourceTree = "<group>"; };
F3ABFE0B130E9DA000E7F7D1 /* InstrumentingAgents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InstrumentingAgents.h; sourceTree = "<group>"; };
- F3BFC9D215C177EC004244E5 /* WebCoreMemoryInstrumentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreMemoryInstrumentation.cpp; sourceTree = "<group>"; };
F3D461461161D53200CA0D09 /* JSErrorHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSErrorHandler.cpp; sourceTree = "<group>"; };
F3D461471161D53200CA0D09 /* JSErrorHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSErrorHandler.h; sourceTree = "<group>"; };
F3D4C47612E07663003DA150 /* InspectorDOMDebuggerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorDOMDebuggerAgent.cpp; sourceTree = "<group>"; };
7AABA25814BC613300AA9A11 /* DOMEditor.h */,
7A54881614E432A1006AE05A /* DOMPatchSupport.cpp */,
7A54881514E432A1006AE05A /* DOMPatchSupport.h */,
- F37A56201679CF7B00C57046 /* HeapGraphSerializer.cpp */,
- F37A56211679CF7B00C57046 /* HeapGraphSerializer.h */,
5913A23F13D49EBA00F5B05C /* IdentifiersFactory.cpp */,
5913A24013D49EBA00F5B05C /* IdentifiersFactory.h */,
F3644AFD1119805900E0D537 /* InjectedScript.cpp */,
F3ABFE0B130E9DA000E7F7D1 /* InstrumentingAgents.h */,
1C81BA050E97348300266E07 /* JavaScriptCallFrame.idl */,
BCC64F5F0DCFB84E0081EF3B /* localizedStrings.js */,
- 4F8565E71530356E00FAE776 /* MemoryInstrumentationImpl.cpp */,
- 4F8565E81530356E00FAE776 /* MemoryInstrumentationImpl.h */,
59C27F04138D28C10079B7E2 /* NetworkResourcesData.cpp */,
59C27F06138D28CF0079B7E2 /* NetworkResourcesData.h */,
F382088A147D35F90010BC06 /* PageConsoleAgent.cpp */,
D000ED2611C1B9CD00C47726 /* SubframeLoader.h */,
93E227DF0AF589AD00D48324 /* SubresourceLoader.cpp */,
656D37300ADBA5DE00A4554D /* SubresourceLoader.h */,
- F343A70915D3F56E0032D016 /* SubstituteData.cpp */,
659A7D120B6DB4D9001155B3 /* SubstituteData.h */,
1A8F6B010DB53006001DB794 /* SubstituteResource.h */,
F523D27802DE43D7018635CA /* TextResourceDecoder.cpp */,
49182B5015DCE6F000548418 /* PlatformInstrumentation.cpp */,
49182B5115DCE6F000548418 /* PlatformInstrumentation.h */,
935C476609AC4D4300A6AAB4 /* PlatformKeyboardEvent.h */,
- 4F1D118915FF361B0026E908 /* PlatformMemoryInstrumentation.cpp */,
- 4F1D118A15FF361B0026E908 /* PlatformMemoryInstrumentation.h */,
932871BF0B20DEB70049035A /* PlatformMenuDescription.h */,
935C476709AC4D4300A6AAB4 /* PlatformMouseEvent.h */,
C5BAC16F14E30E4700008837 /* PlatformPasteboard.h */,
CEF418CD1179678C009D112C /* ViewportArguments.h */,
419BC2DC1685329900D64D6D /* VisitedLinkState.cpp */,
419BC2DD1685329900D64D6D /* VisitedLinkState.h */,
- F3BFC9D215C177EC004244E5 /* WebCoreMemoryInstrumentation.cpp */,
- 4F377FF415FA356A00E5D60D /* WebCoreMemoryInstrumentation.h */,
31C0FF1B0E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp */,
31C0FF1C0E4CEB6E007D6FE5 /* WebKitAnimationEvent.h */,
31C0FF1D0E4CEB6E007D6FE5 /* WebKitAnimationEvent.idl */,
C50B561712119D23008B46E0 /* GroupSettings.h in Headers */,
8482B7461198C35400BFB005 /* HashChangeEvent.h in Headers */,
A8748BE012CBF2DC001FBA41 /* HashTools.h in Headers */,
- F37A56231679CF7B00C57046 /* HeapGraphSerializer.h in Headers */,
F55B3DC01251F12D003EF269 /* HiddenInputType.h in Headers */,
BC94D1540C275C8B006BC617 /* History.h in Headers */,
97DCE20210807C750057D394 /* HistoryController.h in Headers */,
FD671A78159BB07000197559 /* MediaStreamAudioSourceNode.h in Headers */,
BCB16C180979C3BD00467741 /* MemoryCache.h in Headers */,
9FFE3E7B11B59C5D0037874E /* MemoryInfo.h in Headers */,
- 4F8565EA1530356E00FAE776 /* MemoryInstrumentationImpl.h in Headers */,
6571DCC81385E6A400702DD0 /* MemoryPressureHandler.h in Headers */,
D630E2AC149BF344005B2F95 /* MemoryUsageSupport.h in Headers */,
93309DFA099E64920056E581 /* MergeIdenticalElementsCommand.h in Headers */,
935C476809AC4D4300A6AAB4 /* PlatformKeyboardEvent.h in Headers */,
0562F9611573F88F0031CA16 /* PlatformLayer.h in Headers */,
F544F78915CFB2A800AF33A8 /* PlatformLocale.h in Headers */,
- 4F7B4A6615FF6D6A006B5F22 /* PlatformMemoryInstrumentation.h in Headers */,
932871C00B20DEB70049035A /* PlatformMenuDescription.h in Headers */,
41BF70100FE86F61005E8DEC /* PlatformMessagePortChannel.h in Headers */,
935C476909AC4D4300A6AAB4 /* PlatformMouseEvent.h in Headers */,
CD127DEE14F3098400E84779 /* WebCoreFullScreenWindow.h in Headers */,
BC53D911114310CC000D817E /* WebCoreJSClientData.h in Headers */,
93F199BB08245E59001E9ABC /* WebCoreKeyboardUIMode.h in Headers */,
- 4F377FF515FA356A00E5D60D /* WebCoreMemoryInstrumentation.h in Headers */,
371941971566B37200A276D8 /* WebCoreNSCellExtras.h in Headers */,
934D9BA70B8C1175007B42A9 /* WebCoreNSStringExtras.h in Headers */,
C5B4C24D1509236C00A6EF37 /* WebCoreNSURLExtras.h in Headers */,
0FA24D79162DF91900A3F4C0 /* GraphicsLayerUpdater.cpp in Sources */,
B2A015AA0AF6CD53006BCE0E /* GraphicsTypes.cpp in Sources */,
C50B561612119D23008B46E0 /* GroupSettings.cpp in Sources */,
- F37A56221679CF7B00C57046 /* HeapGraphSerializer.cpp in Sources */,
F55B3DBF1251F12D003EF269 /* HiddenInputType.cpp in Sources */,
D6FDAEF3149C06190037B1E1 /* HistogramSupport.cpp in Sources */,
BC94D1530C275C8B006BC617 /* History.cpp in Sources */,
FD671A77159BB07000197559 /* MediaStreamAudioSourceNode.cpp in Sources */,
BCB16C170979C3BD00467741 /* MemoryCache.cpp in Sources */,
9FFE3E7A11B59C5D0037874E /* MemoryInfo.cpp in Sources */,
- 4F8565E91530356E00FAE776 /* MemoryInstrumentationImpl.cpp in Sources */,
657EDA081385CB97004E0645 /* MemoryPressureHandler.cpp in Sources */,
657EDA0B1385CBD8004E0645 /* MemoryPressureHandlerMac.mm in Sources */,
D6FDAEF3149C06190037B1E3 /* MemoryUsageSupport.cpp in Sources */,
BCAA486F14A052530088FAC4 /* PlatformEventFactoryMac.mm in Sources */,
49182B5215DCE6F000548418 /* PlatformInstrumentation.cpp in Sources */,
F544F78815CFB2A800AF33A8 /* PlatformLocale.cpp in Sources */,
- 4F1D11BF15FF37200026E908 /* PlatformMemoryInstrumentation.cpp in Sources */,
41BF700F0FE86F61005E8DEC /* PlatformMessagePortChannel.cpp in Sources */,
C598902E14E9B0F800E8D18B /* PlatformPasteboardMac.mm in Sources */,
BC94D1080C274F88006BC617 /* PlatformScreenMac.mm in Sources */,
F55B3DD31251F12D003EF269 /* SubmitInputType.cpp in Sources */,
93E227E40AF589AD00D48324 /* SubresourceLoader.cpp in Sources */,
7E37EF2E1339208800B29250 /* SubresourceLoaderCF.cpp in Sources */,
- F343A70A15D3F56E0032D016 /* SubstituteData.cpp in Sources */,
93B2D8180F9920EE006AE6B2 /* SuddenTermination.mm in Sources */,
087558C513B4A57D00F49307 /* SurrogatePairAwareTextIterator.cpp in Sources */,
62C1217C11AB9E77003C462C /* SuspendableTimer.cpp in Sources */,
CDC69DDB16371FD4007C38DF /* WebCoreFullScreenPlaceholderView.mm in Sources */,
CDC69DD71632026C007C38DF /* WebCoreFullScreenWarningView.mm in Sources */,
CD127DED14F3097D00E84779 /* WebCoreFullScreenWindow.mm in Sources */,
- F3BFC9D315C177EC004244E5 /* WebCoreMemoryInstrumentation.cpp in Sources */,
371941961566B37200A276D8 /* WebCoreNSCellExtras.m in Sources */,
934D9BA50B8C116B007B42A9 /* WebCoreNSStringExtras.mm in Sources */,
C5B4C24E1509236C00A6EF37 /* WebCoreNSURLExtras.mm in Sources */,
#include "TextIterator.h"
#include "WebKitAccessibleWrapperAtk.h"
#include <wtf/gobject/GOwnPtr.h>
+#include <wtf/text/CString.h>
namespace WebCore {
#include "WebKitAccessibleUtil.h"
#include "WebKitAccessibleWrapperAtk.h"
#include "htmlediting.h"
+#include <wtf/text/CString.h>
#include <atk/atk.h>
#include <glib.h>
#include "WebKitAccessibleWrapperAtk.h"
#include "htmlediting.h"
#include <wtf/gobject/GOwnPtr.h>
+#include <wtf/text/CString.h>
#if PLATFORM(GTK)
#include <libgail-util/gail-util.h>
#include "WebKitAccessibleUtil.h"
#include "htmlediting.h"
#include <glib/gprintf.h>
+#include <wtf/text/CString.h>
#if PLATFORM(GTK)
#include <gtk/gtk.h>
// FIXME: Support these methods for JSC. See bug 90358.
static void visitExternalStrings(ExternalStringVisitor*) { }
static void visitExternalArrays(ExternalArrayVisitor*) { }
- static void collectBindingMemoryInfo(MemoryInstrumentation*) { }
static size_t profilerSnapshotsSize() { return 0; }
static HashMap<String, double>* currentProfileNameIdleTimeMap() { return 0; }
};
#include "config.h"
#include "CSSAspectRatioValue.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
return m_numeratorValue == other.m_numeratorValue && m_denominatorValue == other.m_denominatorValue;
}
-void CSSAspectRatioValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
-}
-
}
bool equals(const CSSAspectRatioValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSAspectRatioValue(float numeratorValue, float denominatorValue)
: CSSValue(AspectRatioClass)
#include "CSSBorderImageSliceValue.h"
#include "Rect.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/WTFString.h>
namespace WebCore {
return m_fill == other.m_fill && compareCSSValuePtr(m_slices, other.m_slices);
}
-void CSSBorderImageSliceValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_slices, "slices");
-}
-
} // namespace WebCore
bool equals(const CSSBorderImageSliceValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
// These four values are used to make "cuts" in the border image. They can be numbers
// or percentages.
RefPtr<CSSPrimitiveValue> m_slices;
#include "CSSValueList.h"
#include "Length.h"
#include "StyleResolver.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
}
#endif
-void CSSCalcValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
-}
-
double CSSCalcValue::clampToPermittedRange(double value) const
{
return m_nonNegative && value < 0 ? 0 : value;
return compareCSSValuePtr(m_value, static_cast<const CSSCalcPrimitiveValue&>(other).m_value);
}
- virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE
- {
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_value, "value");
- }
-
virtual Type type() const { return CssCalcPrimitiveValue; }
private:
return evaluate(leftValue, rightValue);
}
- virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE
- {
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_leftSide, "leftSide");
- info.addMember(m_rightSide, "rightSide");
- }
-
static String buildCssText(const String& leftExpression, const String& rightExpression, CalcOperator op)
{
StringBuilder result;
virtual bool hasVariableReference() const = 0;
#endif
virtual bool equals(const CSSCalcExpressionNode& other) const { return m_category == other.m_category && m_isInteger == other.m_isInteger; }
- virtual void reportMemoryUsage(MemoryObjectInfo*) const = 0;
virtual Type type() const = 0;
CalculationCategory category() const { return m_category; }
String customSerializeResolvingVariables(const HashMap<AtomicString, String>&) const;
bool hasVariableReference() const;
#endif
-
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
private:
CSSCalcValue(PassRefPtr<CSSCalcExpressionNode> expression, CalculationPermittedValueRange range)
#include "ImageBuffer.h"
#include "RenderObject.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
return m_name == other.m_name;
}
-void CSSCanvasValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSImageGeneratorValue::reportBaseClassMemoryUsage(memoryObjectInfo);
- info.addMember(m_name, "name");
- info.addMember(m_element, "element");
-}
-
} // namespace WebCore
bool equals(const CSSCanvasValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSCanvasValue(const String& name)
: CSSImageGeneratorValue(CanvasClass)
#include "config.h"
#include "CSSCharsetRule.h"
-#include "WebCoreMemoryInstrumentation.h"
-
namespace WebCore {
CSSCharsetRule::CSSCharsetRule(CSSStyleSheet* parent, const String& encoding)
return "@charset \"" + m_encoding + "\";";
}
-void CSSCharsetRule::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSRule::reportMemoryUsage(memoryObjectInfo);
- info.addMember(m_encoding, "encoding");
-}
-
} // namespace WebCore
virtual CSSRule::Type type() const OVERRIDE { return CHARSET_RULE; }
virtual String cssText() const OVERRIDE;
virtual void reattach(StyleRuleBase* rule) OVERRIDE { ASSERT_UNUSED(rule, !rule); }
- virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
const String& encoding() const { return m_encoding; }
void setEncoding(const String& encoding, ExceptionCode&) { m_encoding = encoding; }
#include "StylePropertySet.h"
#include "StylePropertyShorthand.h"
#include "StyleResolver.h"
-#include "WebCoreMemoryInstrumentation.h"
#include "WebKitCSSTransformValue.h"
#include "WebKitFontFamilyNames.h"
#include <wtf/text/StringBuilder.h>
return MutableStylePropertySet::create(list.data(), list.size());
}
-void CSSComputedStyleDeclaration::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_node, "node");
-}
-
CSSRule* CSSComputedStyleDeclaration::parentRule() const
{
return 0;
PassRefPtr<MutableStylePropertySet> copyPropertiesInSet(const CSSPropertyID* set, unsigned length) const;
- virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
-
private:
CSSComputedStyleDeclaration(PassRefPtr<Node>, bool allowVisitedStyle, const String&);
#include "RenderObject.h"
#include "StyleCachedImage.h"
#include "StyleGeneratedImage.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
m_crossfadeSubimageObserver.setReady(true);
}
-void CSSCrossfadeValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSImageGeneratorValue::reportBaseClassMemoryUsage(memoryObjectInfo);
- info.addMember(m_fromValue, "fromValue");
- info.addMember(m_toValue, "toValue");
- info.addMember(m_percentageValue, "percentageValue");
- // FIXME: add instrumentation for
- // m_cachedFromImage
- // m_cachedToImage
- // m_generatedImage
-}
-
PassRefPtr<Image> CSSCrossfadeValue::image(RenderObject* renderer, const IntSize& size)
{
if (size.isEmpty())
bool equals(const CSSCrossfadeValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSCrossfadeValue(PassRefPtr<CSSValue> fromValue, PassRefPtr<CSSValue> toValue)
: CSSImageGeneratorValue(CrossfadeClass)
#include "StyleImage.h"
#include "StylePendingImage.h"
#include "TreeScope.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/MathExtras.h>
-#include <wtf/MemoryInstrumentationHashSet.h>
#include <wtf/UnusedParam.h>
+#include <wtf/text/StringBuilder.h>
#include <wtf/text/WTFString.h>
#if ENABLE(SVG)
&& compareCSSValuePtr(m_imageValue, other.m_imageValue);
}
-void CSSCursorImageValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- m_imageValue->reportMemoryUsage(memoryObjectInfo);
- // No need to report m_image as it is counted as part of RenderArena.
-#if ENABLE(SVG)
- info.addMember(m_referencedElements, "referencedElements");
-#endif
-}
-
} // namespace WebCore
bool equals(const CSSCursorImageValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSCursorImageValue(PassRefPtr<CSSValue> imageValue, bool hasHotSpot, const IntPoint& hotSpot);
#include "PropertySetCSSStyleDeclaration.h"
#include "StylePropertySet.h"
#include "StyleRule.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
m_propertiesCSSOMWrapper->reattach(m_fontFaceRule->mutableProperties());
}
-void CSSFontFaceRule::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSRule::reportMemoryUsage(memoryObjectInfo);
- info.addMember(m_fontFaceRule, "fontFaceRule");
- info.addMember(m_propertiesCSSOMWrapper, "propertiesCSSOMWrapper");
-}
-
} // namespace WebCore
virtual CSSRule::Type type() const OVERRIDE { return FONT_FACE_RULE; }
virtual String cssText() const OVERRIDE;
virtual void reattach(StyleRuleBase*) OVERRIDE;
- virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
CSSStyleDeclaration* style() const;
#include "Node.h"
#include "SVGFontFaceElement.h"
#include "StyleSheetContents.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
return m_isLocal == other.m_isLocal && m_format == other.m_format && m_resource == other.m_resource;
}
-void CSSFontFaceSrcValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_resource, "resource");
- info.addMember(m_format, "format");
- // FIXME: add m_cachedFont when MemoryCache is instrumented.
-#if ENABLE(SVG_FONTS)
- info.addMember(m_svgFontFaceElement, "svgFontFaceElement");
-#endif
-}
-
}
bool equals(const CSSFontFaceSrcValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSFontFaceSrcValue(const String& resource, bool local)
: CSSValue(FontFaceSrcClass)
#include "CSSParserValues.h"
#include "CSSValueList.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/text/StringBuilder.h>
return m_name == other.m_name && compareCSSValuePtr(m_args, other.m_args);
}
-void CSSFunctionValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_name, "name");
- info.addMember(m_args, "args");
-}
-
}
bool equals(const CSSFunctionValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
explicit CSSFunctionValue(CSSParserFunction*);
CSSFunctionValue(String, PassRefPtr<CSSValueList>);
#include "NodeRenderStyle.h"
#include "RenderObject.h"
#include "StyleResolver.h"
-#include "WebCoreMemoryInstrumentation.h"
-#include <wtf/MemoryInstrumentationVector.h>
#include <wtf/text/StringBuilder.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
-void CSSGradientColorStop::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_position, "position");
- info.addMember(m_color, "color");
-}
-
PassRefPtr<Image> CSSGradientValue::image(RenderObject* renderer, const IntSize& size)
{
if (size.isEmpty())
return true;
}
-void CSSGradientValue::reportBaseClassMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSImageGeneratorValue::reportBaseClassMemoryUsage(memoryObjectInfo);
- info.addMember(m_firstX, "firstX");
- info.addMember(m_firstY, "firstY");
- info.addMember(m_secondX, "secondX");
- info.addMember(m_secondY, "secondY");
- info.addMember(m_stops, "stops");
-}
-
String CSSLinearGradientValue::customCssText() const
{
StringBuilder result;
return equalXorY && m_stops == other.m_stops;
}
-void CSSLinearGradientValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSGradientValue::reportBaseClassMemoryUsage(memoryObjectInfo);
- info.addMember(m_angle, "angle");
-}
-
String CSSRadialGradientValue::customCssText() const
{
StringBuilder result;
return equalShape && equalSizingBehavior && equalHorizontalAndVerticalSize && m_stops == other.m_stops;
}
-void CSSRadialGradientValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSGradientValue::reportBaseClassMemoryUsage(memoryObjectInfo);
- info.addMember(m_firstRadius, "firstRadius");
- info.addMember(m_secondRadius, "secondRadius");
- info.addMember(m_shape, "shape");
- info.addMember(m_sizingBehavior, "sizingBehavior");
- info.addMember(m_endHorizontalSize, "endHorizontalSize");
- info.addMember(m_endVerticalSize, "endVerticalSize");
-}
-
} // namespace WebCore
RefPtr<CSSPrimitiveValue> m_color;
Color m_resolvedColor;
bool m_colorIsDerivedFromElement;
- void reportMemoryUsage(MemoryObjectInfo*) const;
bool operator==(const CSSGradientColorStop& other) const
{
return compareCSSValuePtr(m_color, other.m_color)
bool isCacheable() const;
- void reportBaseClassMemoryUsage(MemoryObjectInfo*) const;
-
// Points. Some of these may be null.
RefPtr<CSSPrimitiveValue> m_firstX;
RefPtr<CSSPrimitiveValue> m_firstY;
bool equals(const CSSLinearGradientValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSLinearGradientValue(CSSGradientRepeat repeat, CSSGradientType gradientType = CSSLinearGradient)
: CSSGradientValue(LinearGradientClass, repeat, gradientType)
bool equals(const CSSRadialGradientValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSRadialGradientValue(CSSGradientRepeat repeat, CSSGradientType gradientType = CSSRadialGradient)
: CSSGradientValue(RadialGradientClass, repeat, gradientType)
#include "CSSStyleSheet.h"
#include "ExceptionCode.h"
#include "StyleRule.h"
-#include "WebCoreMemoryInstrumentation.h"
-#include <wtf/MemoryInstrumentationVector.h>
#include <wtf/text/StringBuilder.h>
namespace WebCore {
}
}
-void CSSGroupingRule::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSRule::reportMemoryUsage(memoryObjectInfo);
- info.addMember(m_groupRule, "groupRule");
- info.addMember(m_childRuleCSSOMWrappers, "childRuleCSSOMWrappers");
- info.addMember(m_ruleListCSSOMWrapper, "ruleListCSSOMWrapper");
-}
-
} // namespace WebCore
virtual ~CSSGroupingRule();
virtual void reattach(StyleRuleBase*) OVERRIDE;
- virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
CSSRuleList* cssRules() const;
#include "CSSGradientValue.h"
#include "Image.h"
#include "RenderObject.h"
-#include "WebCoreMemoryInstrumentation.h"
-#include <wtf/MemoryInstrumentationHashCountedSet.h>
-#include <wtf/MemoryInstrumentationHashMap.h>
#include <wtf/text/WTFString.h>
-
-namespace WTF {
-
-template<> struct SequenceMemoryInstrumentationTraits<const WebCore::RenderObject*> {
- template <typename I> static void reportMemoryUsage(I, I, MemoryClassInfo&) { }
-};
-
-}
-
namespace WebCore {
CSSImageGeneratorValue::CSSImageGeneratorValue(ClassType classType)
m_images.add(size, image);
}
-void CSSImageGeneratorValue::reportBaseClassMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_sizes, "sizes");
- info.addMember(m_clients, "clients");
- info.addMember(m_images, "images");
-}
-
PassRefPtr<Image> CSSImageGeneratorValue::image(RenderObject* renderer, const IntSize& size)
{
switch (classType()) {
void putImage(const IntSize&, PassRefPtr<Image>);
const RenderObjectSizeCountMap& clients() const { return m_clients; }
- void reportBaseClassMemoryUsage(MemoryObjectInfo*) const;
-
HashCountedSet<IntSize> m_sizes; // A count of how many times a given image size is in use.
RenderObjectSizeCountMap m_clients; // A map from RenderObjects (with entry count) to image sizes.
HashMap<IntSize, RefPtr<Image> > m_images; // A cache of Image objects by image size.
#include "Page.h"
#include "StyleCachedImageSet.h"
#include "StylePendingImage.h"
-#include "WebCoreMemoryInstrumentation.h"
-#include <wtf/MemoryInstrumentationVector.h>
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
return adoptRef(new CSSImageSetValue(*this));
}
-void CSSImageSetValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSValueList::reportDescendantMemoryUsage(memoryObjectInfo);
- info.addMember(m_imagesInSet, "imagesInSet");
-}
-
-void CSSImageSetValue::ImageWithScale::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(imageURL, "imageURL");
-}
-
} // namespace WebCore
#endif // ENABLE(CSS_IMAGE_SET)
struct ImageWithScale {
String imageURL;
float scaleFactor;
- void reportMemoryUsage(MemoryObjectInfo*) const;
};
bool hasFailedOrCanceledSubresources() const;
PassRefPtr<CSSImageSetValue> cloneForCSSOM() const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
protected:
ImageWithScale bestImageForScaleFactor();
#include "MemoryCache.h"
#include "StyleCachedImage.h"
#include "StylePendingImage.h"
-#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
return uriValue.release();
}
-void CSSImageValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_url, "url");
- // No need to report m_image as it is counted as part of RenderArena.
-}
-
bool CSSImageValue::knownToBeOpaque(const RenderObject* renderer) const
{
return m_image ? m_image->knownToBeOpaque(renderer) : false;
bool equals(const CSSImageValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
bool knownToBeOpaque(const RenderObject*) const;
void setInitiator(const AtomicString& name) { m_initiatorName = name; }
#include "SecurityOrigin.h"
#include "StyleRuleImport.h"
#include "StyleSheetContents.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
return result.toString();
}
-void CSSImportRule::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSRule::reportMemoryUsage(memoryObjectInfo);
- info.addMember(m_importRule, "importRule");
- info.addMember(m_mediaCSSOMWrapper, "mediaCSSOMWrapper");
- info.addMember(m_styleSheetCSSOMWrapper, "styleSheetCSSOMWrapper");
-}
-
CSSStyleSheet* CSSImportRule::styleSheet() const
{
if (!m_importRule->styleSheet())
virtual CSSRule::Type type() const OVERRIDE { return IMPORT_RULE; }
virtual String cssText() const OVERRIDE;
virtual void reattach(StyleRuleBase*) OVERRIDE;
- virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
String href() const;
MediaList* media() const;
#include "config.h"
#include "CSSInheritedValue.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/WTFString.h>
namespace WebCore {
return "inherit";
}
-void CSSInheritedValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
-}
-
} // namespace WebCore
bool equals(const CSSInheritedValue&) const { return true; }
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSInheritedValue()
: CSSValue(InheritedClass)
#include "config.h"
#include "CSSInitialValue.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/WTFString.h>
namespace WebCore {
return "initial";
}
-void CSSInitialValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
-}
-
} // namespace WebCore
bool equals(const CSSInitialValue&) const { return true; }
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSInitialValue(bool implicit)
: CSSValue(InitialClass)
#include "CSSLineBoxContainValue.h"
#include "CSSPrimitiveValue.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
#include <wtf/text/WTFString.h>
return text.toString();
}
-void CSSLineBoxContainValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
-}
-
}
bool equals(const CSSLineBoxContainValue& other) const { return m_value == other.m_value; }
LineBoxContain value() const { return m_value; }
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
LineBoxContain m_value;
#include "CSSStyleSheet.h"
#include "ExceptionCode.h"
#include "StyleRule.h"
-#include "WebCoreMemoryInstrumentation.h"
-#include <wtf/MemoryInstrumentationVector.h>
#include <wtf/text/StringBuilder.h>
namespace WebCore {
m_mediaCSSOMWrapper->reattach(mediaQueries());
}
-void CSSMediaRule::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSGroupingRule::reportMemoryUsage(memoryObjectInfo);
- info.addMember(m_mediaCSSOMWrapper, "mediaCSSOMWrapper");
-}
-
} // namespace WebCore
virtual CSSRule::Type type() const OVERRIDE { return MEDIA_RULE; }
virtual void reattach(StyleRuleBase*) OVERRIDE;
- virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
virtual String cssText() const OVERRIDE;
MediaList* media() const;
m_propertiesCSSOMWrapper->reattach(m_pageRule->mutableProperties());
}
-void CSSPageRule::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSRule::reportMemoryUsage(memoryObjectInfo);
- info.addMember(m_pageRule, "pageRule");
- info.addMember(m_propertiesCSSOMWrapper, "propertiesCSSOMWrapper");
-}
-
} // namespace WebCore
virtual CSSRule::Type type() const OVERRIDE { return PAGE_RULE; }
virtual String cssText() const OVERRIDE;
virtual void reattach(StyleRuleBase*) OVERRIDE;
- virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
CSSStyleDeclaration* style() const;
#include "Rect.h"
#include "RenderStyle.h"
#include "StyleSheetContents.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/ASCIICType.h>
#include <wtf/DecimalNumber.h>
#include <wtf/StdLibExtras.h>
return false;
}
-void CSSPrimitiveValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- switch (m_primitiveUnitType) {
- case CSS_ATTR:
- case CSS_COUNTER_NAME:
- case CSS_PARSER_IDENTIFIER:
- case CSS_PARSER_HEXCOLOR:
- case CSS_STRING:
- case CSS_URI:
-#if ENABLE(CSS_VARIABLES)
- case CSS_VARIABLE_NAME:
-#endif
- // FIXME: detect other cases when m_value is StringImpl*
- info.addMember(m_value.string, "value.string");
- break;
- case CSS_COUNTER:
- info.addMember(m_value.counter, "value.counter");
- break;
- case CSS_RECT:
- info.addMember(m_value.rect, "value.rect");
- break;
- case CSS_QUAD:
- info.addMember(m_value.quad, "value.quad");
- break;
- case CSS_PAIR:
- info.addMember(m_value.pair, "value.pair");
- break;
-#if ENABLE(DASHBOARD_SUPPORT)
- case CSS_DASHBOARD_REGION:
- info.addMember(m_value.region, "value.region");
- break;
-#endif
- case CSS_SHAPE:
- info.addMember(m_value.shape, "value.shape");
- break;
- case CSS_CALC:
- info.addMember(m_value.calc, "value.calc");
- break;
- default:
- break;
- }
-}
-
} // namespace WebCore
bool equals(const CSSPrimitiveValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
// FIXME: int vs. unsigned overloading is too subtle to distinguish the color and identifier cases.
CSSPrimitiveValue(int ident);
#include "CSSValueList.h"
#include "RenderStyleConstants.h"
#include "StylePropertyShorthand.h"
-#include "WebCoreMemoryInstrumentation.h"
#if ENABLE(CSS_VARIABLES)
#include "CSSVariableValue.h"
return false;
}
-void CSSProperty::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_value, "value");
- info.ignoreMember(m_metadata);
-}
-
} // namespace WebCore
static CSSPropertyID resolveDirectionAwareProperty(CSSPropertyID, TextDirection, WritingMode);
static bool isInheritedProperty(CSSPropertyID);
- void reportMemoryUsage(MemoryObjectInfo*) const;
-
StylePropertyMetadata metadata() const { return m_metadata; }
private:
#include "CSSReflectValue.h"
#include "CSSPrimitiveValue.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
using namespace std;
&& compareCSSValuePtr(m_mask, other.m_mask);
}
-void CSSReflectValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_offset, "offset");
- info.addMember(m_mask, "mask");
-}
-
} // namespace WebCore
bool equals(const CSSReflectValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSReflectValue(PassRefPtr<CSSPrimitiveValue> direction, PassRefPtr<CSSPrimitiveValue> offset, PassRefPtr<CSSValue> mask)
: CSSValue(ReflectClass)
notImplemented();
}
-void CSSRule::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- if (m_parentIsRule)
- info.addMember(m_parentRule, "parentRule");
- else
- info.addMember(m_parentStyleSheet, "parentStyleSheet");
-}
-
const CSSParserContext& CSSRule::parserContext() const
{
CSSStyleSheet* styleSheet = parentStyleSheet();
#ifndef CSSRule_h
#define CSSRule_h
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
virtual Type type() const = 0;
virtual String cssText() const = 0;
virtual void reattach(StyleRuleBase*) = 0;
- virtual void reportMemoryUsage(MemoryObjectInfo*) const;
void setParentStyleSheet(CSSStyleSheet* styleSheet)
{
#include "CSSRule.h"
#include "CSSStyleSheet.h"
-#include <wtf/MemoryInstrumentationVector.h>
namespace WebCore {
delete this;
}
-void StaticCSSRuleList::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_rules, "rules");
-}
-
} // namespace WebCore
#ifndef CSSRuleList_h
#define CSSRuleList_h
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
virtual CSSRule* item(unsigned index) const = 0;
virtual CSSStyleSheet* styleSheet() const = 0;
-
- virtual void reportMemoryUsage(MemoryObjectInfo*) const = 0;
protected:
CSSRuleList();
virtual CSSStyleSheet* styleSheet() const { return 0; }
- virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
-
private:
StaticCSSRuleList();
~StaticCSSRuleList();
virtual void ref() { m_rule->ref(); }
virtual void deref() { m_rule->deref(); }
- virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE
- {
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_rule, "rule");
- }
-
private:
virtual unsigned length() const { return m_rule->length(); }
virtual CSSRule* item(unsigned index) const { return m_rule->item(index); }
#include "CSSSelectorList.h"
#include "CSSParserValues.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
return result.toString();
}
-void CSSSelectorList::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addRawBuffer(m_selectorArray, length() * sizeof(CSSSelector), "CSSSelectors", "selectorArray");
-}
-
template <typename Functor>
static bool forEachTagSelector(Functor& functor, const CSSSelector* selector)
{
String selectorsText() const;
- void reportMemoryUsage(MemoryObjectInfo*) const;
-
private:
unsigned length() const;
void deleteSelectors();
virtual bool cssPropertyMatches(CSSPropertyID, const CSSValue*) const = 0;
virtual CSSStyleSheet* parentStyleSheet() const { return 0; }
- virtual void reportMemoryUsage(MemoryObjectInfo*) const = 0;
-
protected:
CSSStyleDeclaration() { }
};
#include "PropertySetCSSStyleDeclaration.h"
#include "StylePropertySet.h"
#include "StyleRule.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
m_propertiesCSSOMWrapper->reattach(m_styleRule->mutableProperties());
}
-void CSSStyleRule::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSRule::reportMemoryUsage(memoryObjectInfo);
- info.addMember(m_styleRule, "styleRule");
- info.addMember(m_propertiesCSSOMWrapper, "propertiesCSSOMWrapper");
-}
-
} // namespace WebCore
virtual CSSRule::Type type() const { return STYLE_RULE; }
virtual String cssText() const OVERRIDE;
virtual void reattach(StyleRuleBase*) OVERRIDE;
- virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
String selectorText() const;
void setSelectorText(const String&);
#include "SecurityOrigin.h"
#include "StyleRule.h"
#include "StyleSheetContents.h"
-#include "WebCoreMemoryInstrumentation.h"
-#include <wtf/MemoryInstrumentationVector.h>
#include <wtf/text/StringBuilder.h>
namespace WebCore {
virtual CSSStyleSheet* styleSheet() const { return m_styleSheet; }
- virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE
- {
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_styleSheet, "styleSheet");
- }
-
CSSStyleSheet* m_styleSheet;
};
}
}
-void CSSStyleSheet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_contents, "contents");
- info.addMember(m_title, "title");
- info.addMember(m_mediaQueries, "mediaQueries");
- info.addMember(m_ownerNode, "ownerNode");
- info.addMember(m_ownerRule, "ownerRule");
- info.addMember(m_mediaCSSOMWrapper, "mediaCSSOMWrapper");
- info.addMember(m_childRuleCSSOMWrappers, "childRuleCSSOMWrappers");
- info.addMember(m_ruleListCSSOMWrapper, "ruleListCSSOMWrapper");
-}
-
void CSSStyleSheet::setDisabled(bool disabled)
{
if (disabled == m_isDisabled)
StyleSheetContents* contents() const { return m_contents.get(); }
- void reportMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSStyleSheet(PassRefPtr<StyleSheetContents>, CSSImportRule* ownerRule);
CSSStyleSheet(PassRefPtr<StyleSheetContents>, Node* ownerNode, bool isInlineStylesheet);
#include "CSSStyleSheet.h"
#include "ExceptionCode.h"
#include "StyleRule.h"
-#include "WebCoreMemoryInstrumentation.h"
-#include <wtf/MemoryInstrumentationVector.h>
#include <wtf/text/StringBuilder.h>
#if ENABLE(CSS3_CONDITIONAL_RULES)
#include "config.h"
#include "CSSTimingFunctionValue.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/WTFString.h>
namespace WebCore {
return "linear";
}
-void CSSLinearTimingFunctionValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
-}
String CSSCubicBezierTimingFunctionValue::customCssText() const
{
}
-void CSSCubicBezierTimingFunctionValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
-}
-
String CSSStepsTimingFunctionValue::customCssText() const
{
return "steps(" + String::number(m_steps) + ", " + (m_stepAtStart ? "start" : "end") + ')';
return m_steps == other.m_steps && m_stepAtStart == other.m_stepAtStart;
}
-
-void CSSStepsTimingFunctionValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
-}
-
} // namespace WebCore
bool equals(const CSSLinearTimingFunctionValue&) const { return true; }
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSLinearTimingFunctionValue()
: CSSValue(LinearTimingFunctionClass)
bool equals(const CSSCubicBezierTimingFunctionValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSCubicBezierTimingFunctionValue(double x1, double y1, double x2, double y2)
: CSSValue(CubicBezierTimingFunctionClass)
bool equals(const CSSStepsTimingFunctionValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSStepsTimingFunctionValue(int steps, bool stepAtStart)
: CSSValue(StepsTimingFunctionClass)
#include "config.h"
#include "CSSUnicodeRangeValue.h"
-#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/WTFString.h>
namespace WebCore {
return m_from == other.m_from && m_to == other.m_to;
}
-void CSSUnicodeRangeValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
-}
-
}
bool equals(const CSSUnicodeRangeValue&) const;
- void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-
private:
CSSUnicodeRangeValue(UChar32 from, UChar32 to)
: CSSValue(UnicodeRangeClass)
#define CSSUnknownRule_h
#include "CSSRule.h"
-#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
virtual CSSRule::Type type() const OVERRIDE { return UNKNOWN_RULE; }
virtual String cssText() const OVERRIDE { return String(); }
virtual void reattach(StyleRuleBase*) OVERRIDE { }
- virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE
- {
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- CSSRule::reportMemoryUsage(memoryObjectInfo);
- }
};
} // namespace WebCore
#include "ShadowValue.h"
#include "SVGColor.h"
#include "SVGPaint.h"
-#include "WebCoreMemoryInstrumentation.h"
#include "WebKitCSSArrayFunctionValue.h"
#include "WebKitCSSFilterValue.h"
#include "WebKitCSSMatFunctionValue.h"
String cssText() const { return m_cssText; }
- void reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
- {
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_cssText, "cssText");
- }
-
private:
TextCloneCSSValue(ClassType classType, const String& text)
: CSSValue(classType, /*isCSSOMSafe*/ true)
return false;
}
-void CSSValue::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- if (m_isTextClone) {
- ASSERT(isCSSOMSafe());
- static_cast<const TextCloneCSSValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- }
-
- ASSERT(!isCSSOMSafe() || isSubtypeExposedToCSSOM());
- switch (classType()) {
- case PrimitiveClass:
- static_cast<const CSSPrimitiveValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case ImageClass:
- static_cast<const CSSImageValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case CursorImageClass:
- static_cast<const CSSCursorImageValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case CanvasClass:
- static_cast<const CSSCanvasValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case CrossfadeClass:
- static_cast<const CSSCrossfadeValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case LinearGradientClass:
- static_cast<const CSSLinearGradientValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case RadialGradientClass:
- static_cast<const CSSRadialGradientValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case CubicBezierTimingFunctionClass:
- static_cast<const CSSCubicBezierTimingFunctionValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case LinearTimingFunctionClass:
- static_cast<const CSSLinearTimingFunctionValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case StepsTimingFunctionClass:
- static_cast<const CSSStepsTimingFunctionValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case AspectRatioClass:
- static_cast<const CSSAspectRatioValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case BorderImageSliceClass:
- static_cast<const CSSBorderImageSliceValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case FontFeatureClass:
- static_cast<const FontFeatureValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case FontClass:
- static_cast<const FontValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case FontFaceSrcClass:
- static_cast<const CSSFontFaceSrcValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case FunctionClass:
- static_cast<const CSSFunctionValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case InheritedClass:
- static_cast<const CSSInheritedValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case InitialClass:
- static_cast<const CSSInitialValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case ReflectClass:
- static_cast<const CSSReflectValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case ShadowClass:
- static_cast<const ShadowValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case UnicodeRangeClass:
- static_cast<const CSSUnicodeRangeValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case LineBoxContainClass:
- static_cast<const CSSLineBoxContainValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case CalculationClass:
- static_cast<const CSSCalcValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
-#if ENABLE(CSS_FILTERS) && ENABLE(CSS_SHADERS)
- case WebKitCSSArrayFunctionValueClass:
- static_cast<const WebKitCSSArrayFunctionValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case WebKitCSSMatFunctionValueClass:
- static_cast<const WebKitCSSMatFunctionValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case WebKitCSSMixFunctionValueClass:
- static_cast<const WebKitCSSMixFunctionValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case WebKitCSSShaderClass:
- static_cast<const WebKitCSSShaderValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
-#endif
-#if ENABLE(CSS_VARIABLES)
- case VariableClass:
- static_cast<const CSSVariableValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
-#endif
-#if ENABLE(SVG)
- case SVGColorClass:
- static_cast<const SVGColor*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case SVGPaintClass:
- static_cast<const SVGPaint*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- case WebKitCSSSVGDocumentClass:
- static_cast<const WebKitCSSSVGDocumentValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
-#endif
- case ValueListClass:
- static_cast<const CSSValueList*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
-#if ENABLE(CSS_IMAGE_SET)
- case ImageSetClass:
- static_cast<const CSSImageSetValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
-#endif
-#if ENABLE(CSS_FILTERS)
- case WebKitCSSFilterClass:
- static_cast<const WebKitCSSFilterValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
-#endif
- case WebKitCSSTransformClass:
- static_cast<const WebKitCSSTransformValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
- return;
- }
- ASSERT_NOT_REACHED();
-}
-
template<class ChildClassType>
inline static bool compareCSSValues(const CSSValue& first, const CSSValue& second)
{
bool hasFailedOrCanceledSubresources() const;
- void reportMemoryUsage(MemoryObjectInfo*) const;
-
bool equals(const CSSValue&) const;
protected:
#include "CSSValueList.h"
#include "CSSParserValues.h"
-#include "WebCoreMemoryInstrumentation.h"
-#include <wtf/MemoryInstrumentationVector.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/text/StringBuilder.h>
return adoptRef(new CSSValueList(*this));
}
-void CSSValueList::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
-{
- MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
- info.addMember(m_values, "values");
-}
-
} // namespace WebCore