Changeset 124208 in webkit
- Timestamp:
- Jul 31, 2012, 8:53:15 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r124193 r124208 1534 1534 inspector/InspectorWorkerAgent.cpp 1535 1535 inspector/InstrumentingAgents.cpp 1536 inspector/MemoryInstrumentationImpl.cpp 1536 1537 inspector/NetworkResourcesData.cpp 1537 1538 inspector/PageConsoleAgent.cpp -
trunk/Source/WebCore/ChangeLog
r124207 r124208 1 2012-04-06 Ilya Tikhonovsky <loislo@chromium.org> 2 3 Web Inspector: extract MemoryInstrumentationImpl into separate files for future reusing in unit tests 4 https://bugs.webkit.org/show_bug.cgi?id=92751 5 6 Reviewed by Yury Semikhatsky. 7 8 * CMakeLists.txt: 9 * GNUmakefile.list.am: 10 * Target.pri: 11 * WebCore.gypi: 12 * WebCore.vcproj/WebCore.vcproj: 13 * inspector/InspectorAllInOne.cpp: 14 * inspector/InspectorMemoryAgent.cpp: 15 (WebCore): 16 * inspector/MemoryInstrumentationImpl.cpp: Added. 17 (WebCore): 18 (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl): 19 (WebCore::MemoryInstrumentationImpl::processDeferredInstrumentedPointers): 20 (WebCore::MemoryInstrumentationImpl::countObjectSize): 21 (WebCore::MemoryInstrumentationImpl::deferInstrumentedPointer): 22 (WebCore::MemoryInstrumentationImpl::visited): 23 (WebCore::MemoryInstrumentationImpl::selfSize): 24 * inspector/MemoryInstrumentationImpl.h: Added. 25 (WebCore): 26 (MemoryInstrumentationImpl): 27 (WebCore::MemoryInstrumentationImpl::totalTypeSize): 28 1 29 2012-07-31 Mario Sanchez Prada <msanchez@igalia.com> 2 30 -
trunk/Source/WebCore/GNUmakefile.list.am
r124207 r124208 2818 2818 Source/WebCore/inspector/InstrumentingAgents.cpp \ 2819 2819 Source/WebCore/inspector/InstrumentingAgents.h \ 2820 Source/WebCore/inspector/MemoryInstrumentationImpl.cpp \ 2821 Source/WebCore/inspector/MemoryInstrumentationImpl.h \ 2820 2822 Source/WebCore/inspector/NetworkResourcesData.cpp \ 2821 2823 Source/WebCore/inspector/NetworkResourcesData.h \ -
trunk/Source/WebCore/Target.pri
r124193 r124208 780 780 inspector/InspectorWorkerAgent.cpp \ 781 781 inspector/InstrumentingAgents.cpp \ 782 inspector/MemoryInstrumentationImpl.cpp \ 782 783 inspector/NetworkResourcesData.cpp \ 783 784 inspector/PageConsoleAgent.cpp \ … … 1884 1885 inspector/InspectorWorkerAgent.h \ 1885 1886 inspector/InstrumentingAgents.h \ 1887 inspector/MemoryInstrumentationImpl.h \ 1886 1888 inspector/NetworkResourcesData.h \ 1887 1889 inspector/PageConsoleAgent.h \ -
trunk/Source/WebCore/WebCore.gypi
r124193 r124208 2887 2887 'inspector/InstrumentingAgents.cpp', 2888 2888 'inspector/InstrumentingAgents.h', 2889 'inspector/MemoryInstrumentationImpl.cpp', 2890 'inspector/MemoryInstrumentationImpl.h', 2889 2891 'inspector/NetworkResourcesData.cpp', 2890 2892 'inspector/NetworkResourcesData.h', -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r124193 r124208 74956 74956 </File> 74957 74957 <File 74958 RelativePath="..\inspector\MemoryInstrumentationImpl.cpp" 74959 > 74960 <FileConfiguration 74961 Name="Release|Win32" 74962 ExcludedFromBuild="true" 74963 > 74964 <Tool 74965 Name="VCCLCompilerTool" 74966 /> 74967 </FileConfiguration> 74968 <FileConfiguration 74969 Name="Production|Win32" 74970 ExcludedFromBuild="true" 74971 > 74972 <Tool 74973 Name="VCCLCompilerTool" 74974 /> 74975 </FileConfiguration> 74976 </File> 74977 <File 74978 RelativePath="..\inspector\MemoryInstrumentationImpl.h" 74979 > 74980 </File> 74981 <File 74958 74982 RelativePath="..\inspector\NetworkResourcesData.cpp" 74959 74983 > -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r124193 r124208 8588 8588 4F707A9711EF679400ACDA69 /* InspectorBackendDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorBackendDispatcher.cpp; sourceTree = "<group>"; }; 8589 8589 4F707A9811EF679400ACDA69 /* InspectorBackendDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorBackendDispatcher.h; sourceTree = "<group>"; }; 8590 4F8562F0152F5BD100FAE776 /* MemoryInstrumentationImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MemoryInstrumentationImpl.cpp; sourceTree = "<group>"; }; 8591 4F8562F1152F5BD100FAE776 /* MemoryInstrumentationImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentationImpl.h; sourceTree = "<group>"; }; 8590 8592 4FA3B908125CD12100300BAD /* InspectorState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorState.cpp; sourceTree = "<group>"; }; 8591 8593 4FA3B909125CD12200300BAD /* InspectorState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorState.h; sourceTree = "<group>"; }; … … 14632 14634 1C81BA050E97348300266E07 /* JavaScriptCallFrame.idl */, 14633 14635 BCC64F5F0DCFB84E0081EF3B /* localizedStrings.js */, 14636 4F8562F0152F5BD100FAE776 /* MemoryInstrumentationImpl.cpp */, 14637 4F8562F1152F5BD100FAE776 /* MemoryInstrumentationImpl.h */, 14634 14638 59C27F04138D28C10079B7E2 /* NetworkResourcesData.cpp */, 14635 14639 59C27F06138D28CF0079B7E2 /* NetworkResourcesData.h */, -
trunk/Source/WebCore/inspector/InspectorAllInOne.cpp
r120769 r124208 70 70 #include "InspectorWorkerAgent.cpp" 71 71 #include "InstrumentingAgents.cpp" 72 #include "MemoryInstrumentationImpl.cpp" 72 73 #include "NetworkResourcesData.cpp" 73 74 #include "PageConsoleAgent.cpp" -
trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp
r124017 r124208 45 45 #include "InstrumentingAgents.h" 46 46 #include "MemoryCache.h" 47 #include "MemoryInstrumentation .h"47 #include "MemoryInstrumentationImpl.h" 48 48 #include "MemoryUsageSupport.h" 49 49 #include "Node.h" … … 102 102 namespace { 103 103 104 typedef HashSet<const void*> VisitedObjects;105 106 104 String nodeName(Node* node) 107 105 { … … 443 441 namespace { 444 442 445 class MemoryInstrumentationImpl : public MemoryInstrumentation {446 public:447 explicit MemoryInstrumentationImpl(VisitedObjects& visitedObjects)448 : m_visitedObjects(visitedObjects)449 {450 for (int i = 0; i < LastTypeEntry; ++i)451 m_totalSizes[i] = 0;452 }453 454 PassRefPtr<InspectorMemoryBlock> dumpStatistics(InspectorDataCounter* inspectorData)455 {456 size_t inspectorSize457 = calculateContainerSize(m_visitedObjects)458 + calculateContainerSize(m_deferredInstrumentedPointers);459 inspectorData->addComponent(MemoryBlockName::inspectorDOMData, inspectorSize);460 461 size_t totalSize = 0;462 for (int i = Other; i < LastTypeEntry; ++i)463 totalSize += m_totalSizes[i];464 465 RefPtr<TypeBuilder::Array<InspectorMemoryBlock> > domChildren = TypeBuilder::Array<InspectorMemoryBlock>::create();466 addMemoryBlockFor(domChildren.get(), m_totalSizes[Other], MemoryBlockName::domTreeOther);467 addMemoryBlockFor(domChildren.get(), m_totalSizes[DOM], MemoryBlockName::domTreeDOM);468 addMemoryBlockFor(domChildren.get(), m_totalSizes[CSS], MemoryBlockName::domTreeCSS);469 addMemoryBlockFor(domChildren.get(), m_totalSizes[Binding], MemoryBlockName::domTreeBinding);470 addMemoryBlockFor(domChildren.get(), m_totalSizes[Loader], MemoryBlockName::domTreeLoader);471 472 RefPtr<InspectorMemoryBlock> dom = InspectorMemoryBlock::create().setName(MemoryBlockName::dom);473 dom->setSize(totalSize);474 dom->setChildren(domChildren.release());475 return dom.release();476 }477 478 void processDeferredInstrumentedPointers()479 {480 while (!m_deferredInstrumentedPointers.isEmpty()) {481 OwnPtr<InstrumentedPointerBase> pointer = m_deferredInstrumentedPointers.last().release();482 m_deferredInstrumentedPointers.removeLast();483 pointer->process(this);484 }485 }486 487 private:488 virtual void countObjectSize(ObjectType objectType, size_t size) OVERRIDE489 {490 ASSERT(objectType >= 0 && objectType < LastTypeEntry);491 m_totalSizes[objectType] += size;492 }493 494 virtual void deferInstrumentedPointer(PassOwnPtr<InstrumentedPointerBase> pointer) OVERRIDE495 {496 m_deferredInstrumentedPointers.append(pointer);497 }498 499 virtual bool visited(const void* object) OVERRIDE500 {501 return !m_visitedObjects.add(object).isNewEntry;502 }503 504 size_t m_totalSizes[LastTypeEntry];505 VisitedObjects& m_visitedObjects;506 Vector<OwnPtr<InstrumentedPointerBase> > m_deferredInstrumentedPointers;507 };508 443 509 444 class DOMTreesIterator : public NodeWrapperVisitor { … … 538 473 PassRefPtr<InspectorMemoryBlock> dumpStatistics(InspectorDataCounter* inspectorData) 539 474 { 540 return m_domMemoryUsage.dumpStatistics(inspectorData); 475 inspectorData->addComponent(MemoryBlockName::inspectorDOMData, m_domMemoryUsage.selfSize()); 476 477 size_t totalSize = 0; 478 for (int i = MemoryInstrumentation::Other; i < MemoryInstrumentation::LastTypeEntry; ++i) 479 totalSize += m_domMemoryUsage.totalSize(static_cast<MemoryInstrumentation::ObjectType>(i)); 480 481 RefPtr<TypeBuilder::Array<InspectorMemoryBlock> > domChildren = TypeBuilder::Array<InspectorMemoryBlock>::create(); 482 addMemoryBlockFor(domChildren.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::Other), MemoryBlockName::domTreeOther); 483 addMemoryBlockFor(domChildren.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::DOM), MemoryBlockName::domTreeDOM); 484 addMemoryBlockFor(domChildren.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::CSS), MemoryBlockName::domTreeCSS); 485 addMemoryBlockFor(domChildren.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::Binding), MemoryBlockName::domTreeBinding); 486 addMemoryBlockFor(domChildren.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::Loader), MemoryBlockName::domTreeLoader); 487 488 RefPtr<InspectorMemoryBlock> dom = InspectorMemoryBlock::create().setName(MemoryBlockName::dom); 489 dom->setSize(totalSize); 490 dom->setChildren(domChildren.release()); 491 return dom.release(); 541 492 } 542 493
Note:
See TracChangeset
for help on using the changeset viewer.