Changeset 122580 in webkit
- Timestamp:
- Jul 13, 2012 8:09:10 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r122578 r122580 1 2012-07-13 Ilya Tikhonovsky <loislo@chromium.org> 2 3 Web Inspector: native memory instrumentation: extract instrumentation methods into MemoryClassInfo 4 https://bugs.webkit.org/show_bug.cgi?id=91227 5 6 Reviewed by Pavel Feldman. 7 8 void Node::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 9 { 10 MemoryClassInfo<Node> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 11 info.visitBaseClass<ScriptWrappable>(this); 12 13 info.addMember(m_notInstrumentedPointer); // automatically detects poniter/reference 14 info.addInstrumentedMember(m_next); 15 info.addHashSet<MemoryInstrumentation::NonClass>(m_aHash); // NonClass value_type (report only size of internal template structures) 16 info.addHashSet<MemoryInstrumentation::NotInstrumentedClass>(m_aHashSet); // not instrumented value_type (use sizeof) 17 info.addHashSet<MemoryInstrumentation::InstrumentedClass>(m_aHashSet); // instrumented value_type (call visit) 18 } 19 20 The change is covered by existing tests for native memory snapshot. 21 22 * bindings/v8/DOMDataStore.cpp: 23 (WebCore::DOMDataStore::reportMemoryUsage): 24 * bindings/v8/IntrusiveDOMWrapperMap.h: 25 (WebCore::ChunkedTable::reportMemoryUsage): 26 * bindings/v8/ScriptWrappable.h: 27 (WebCore::ScriptWrappable::reportMemoryUsage): 28 * bindings/v8/V8Binding.cpp: 29 (WebCore::V8BindingPerIsolateData::reportMemoryUsage): 30 (WebCore::StringCache::reportMemoryUsage): 31 * bindings/v8/V8DOMMap.h: 32 * css/StylePropertySet.h: 33 (WebCore::StylePropertySet::reportMemoryUsage): 34 * dom/CharacterData.cpp: 35 (WebCore::CharacterData::reportMemoryUsage): 36 * dom/ContainerNode.h: 37 (WebCore::ContainerNode::reportMemoryUsage): 38 * dom/Document.cpp: 39 (WebCore::Document::reportMemoryUsage): 40 * dom/Element.h: 41 (WebCore::Element::reportMemoryUsage): 42 * dom/ElementAttributeData.h: 43 (WebCore::ElementAttributeData::reportMemoryUsage): 44 * dom/MemoryInstrumentation.h: 45 (MemoryInstrumentation): 46 (WebCore::MemoryObjectInfo::objectType): 47 (WebCore::MemoryObjectInfo::objectSize): 48 (WebCore::MemoryObjectInfo::memoryInstrumentation): 49 (MemoryObjectInfo): 50 (WebCore::MemoryObjectInfo::reportObjectInfo): 51 (WebCore): 52 (MemoryClassInfo): 53 (WebCore::MemoryClassInfo::MemoryClassInfo): 54 (WebCore::MemoryClassInfo::visitBaseClass): 55 (WebCore::MemoryClassInfo::reportInstrumentedPointer): 56 (WebCore::MemoryClassInfo::reportInstrumentedObject): 57 (WebCore::MemoryClassInfo::reportPointer): 58 (WebCore::MemoryClassInfo::reportObject): 59 (WebCore::MemoryClassInfo::reportHashMap): 60 (WebCore::MemoryClassInfo::reportHashSet): 61 (WebCore::MemoryClassInfo::reportListHashSet): 62 (WebCore::MemoryClassInfo::reportVector): 63 (WebCore::MemoryClassInfo::reportString): 64 * dom/Node.cpp: 65 (WebCore::Node::reportMemoryUsage): 66 * dom/QualifiedName.h: 67 (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage): 68 (WebCore::QualifiedName::reportMemoryUsage): 69 * platform/TreeShared.h: 70 (WebCore::TreeShared::reportMemoryUsage): 71 1 72 2012-07-13 Pavel Feldman <pfeldman@chromium.org> 2 73 -
trunk/Source/WebCore/bindings/js/ScriptWrappable.h
r121022 r122580 57 57 void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 58 58 { 59 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM);60 memoryObjectInfo->reportObject(m_wrapper);59 MemoryClassInfo<ScriptWrappable> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 60 info.reportObject(m_wrapper); 61 61 } 62 62 -
trunk/Source/WebCore/bindings/v8/DOMDataStore.cpp
r122466 r122580 122 122 void DOMDataStore::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 123 123 { 124 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::Binding);125 memoryObjectInfo->reportInstrumentedPointer(m_domNodeMap);126 memoryObjectInfo->reportInstrumentedPointer(m_activeDomNodeMap);127 memoryObjectInfo->reportInstrumentedPointer(m_domObjectMap);128 memoryObjectInfo->reportInstrumentedPointer(m_activeDomObjectMap);124 MemoryClassInfo<DOMDataStore> info(memoryObjectInfo, this, MemoryInstrumentation::Binding); 125 info.reportInstrumentedPointer(m_domNodeMap); 126 info.reportInstrumentedPointer(m_activeDomNodeMap); 127 info.reportInstrumentedPointer(m_domObjectMap); 128 info.reportInstrumentedPointer(m_activeDomObjectMap); 129 129 } 130 130 -
trunk/Source/WebCore/bindings/v8/IntrusiveDOMWrapperMap.h
r122466 r122580 105 105 void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 106 106 { 107 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::Binding);107 MemoryClassInfo<ChunkedTable> info(memoryObjectInfo, this, MemoryInstrumentation::Binding); 108 108 for (Chunk* chunk = m_chunks; chunk; chunk = chunk->m_previous) 109 memoryObjectInfo->reportPointer(chunk, MemoryInstrumentation::Binding);109 info.reportPointer(chunk); 110 110 } 111 111 … … 187 187 virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE 188 188 { 189 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::Binding);190 memoryObjectInfo->reportInstrumentedObject(m_table);189 MemoryClassInfo<IntrusiveDOMWrapperMap> info(memoryObjectInfo, this, MemoryInstrumentation::Binding); 190 info.reportInstrumentedObject(m_table); 191 191 } 192 192 -
trunk/Source/WebCore/bindings/v8/ScriptWrappable.h
r121022 r122580 55 55 void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 56 56 { 57 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM);58 memoryObjectInfo->reportPointer(m_wrapper, MemoryInstrumentation::DOM);57 MemoryClassInfo<ScriptWrappable> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 58 info.reportPointer(m_wrapper); 59 59 } 60 60 -
trunk/Source/WebCore/bindings/v8/V8Binding.cpp
r122466 r122580 93 93 void V8BindingPerIsolateData::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 94 94 { 95 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::Binding);96 memoryObjectInfo->reportHashMap(m_rawTemplates);97 memoryObjectInfo->reportHashMap(m_templates);98 memoryObjectInfo->reportInstrumentedObject(m_stringCache);99 memoryObjectInfo->reportVector(m_domDataList);95 MemoryClassInfo<V8BindingPerIsolateData> info(memoryObjectInfo, this, MemoryInstrumentation::Binding); 96 info.reportHashMap(m_rawTemplates); 97 info.reportHashMap(m_templates); 98 info.reportInstrumentedObject(m_stringCache); 99 info.reportVector(m_domDataList); 100 100 101 101 for (size_t i = 0; i < m_domDataList.size(); i++) 102 memoryObjectInfo->reportInstrumentedPointer(m_domDataList[i]);102 info.reportInstrumentedPointer(m_domDataList[i]); 103 103 } 104 104 … … 591 591 void StringCache::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 592 592 { 593 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::Binding);594 memoryObjectInfo->reportHashMap(m_stringCache);593 MemoryClassInfo<StringCache> info(memoryObjectInfo, this, MemoryInstrumentation::Binding); 594 info.reportHashMap(m_stringCache); 595 595 } 596 596 -
trunk/Source/WebCore/bindings/v8/V8DOMMap.h
r122466 r122580 137 137 virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE 138 138 { 139 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::Binding);140 memoryObjectInfo->reportHashMap(m_map);139 MemoryClassInfo<WeakReferenceMap<KeyType, ValueType> > info(memoryObjectInfo, this, MemoryInstrumentation::Binding); 140 info.reportHashMap(m_map); 141 141 } 142 142 -
trunk/Source/WebCore/css/StylePropertySet.h
r122450 r122580 119 119 void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 120 120 { 121 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::CSS);121 MemoryClassInfo<StylePropertySet> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 122 122 if (m_isMutable) 123 memoryObjectInfo->reportPointer(m_mutablePropertyVector, MemoryInstrumentation::CSS);123 info.reportPointer(m_mutablePropertyVector); 124 124 } 125 125 -
trunk/Source/WebCore/dom/CharacterData.cpp
r122159 r122580 95 95 void CharacterData::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 96 96 { 97 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM);98 Node::reportMemoryUsage(memoryObjectInfo);99 memoryObjectInfo->reportString(m_data);97 MemoryClassInfo<CharacterData> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 98 info.visitBaseClass<Node>(this); 99 info.reportString(m_data); 100 100 } 101 101 -
trunk/Source/WebCore/dom/ContainerNode.h
r121022 r122580 102 102 virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 103 103 { 104 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM);105 Node::reportMemoryUsage(memoryObjectInfo);106 memoryObjectInfo->reportInstrumentedPointer(m_firstChild);107 memoryObjectInfo->reportInstrumentedPointer(m_lastChild);104 MemoryClassInfo<ContainerNode> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 105 info.visitBaseClass<Node>(this); 106 info.reportInstrumentedPointer(m_firstChild); 107 info.reportInstrumentedPointer(m_lastChild); 108 108 } 109 109 -
trunk/Source/WebCore/dom/Document.cpp
r122556 r122580 6076 6076 void Document::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 6077 6077 { 6078 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM);6079 ContainerNode::reportMemoryUsage(memoryObjectInfo);6080 memoryObjectInfo->reportVector(m_customFonts);6081 memoryObjectInfo->reportString(m_documentURI);6082 memoryObjectInfo->reportString(m_baseTarget);6078 MemoryClassInfo<Document> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 6079 info.visitBaseClass<ContainerNode>(this); 6080 info.reportVector(m_customFonts); 6081 info.reportString(m_documentURI); 6082 info.reportString(m_baseTarget); 6083 6083 if (m_pageGroupUserSheets) 6084 memoryObjectInfo->reportVector(*m_pageGroupUserSheets.get());6084 info.reportVector(*m_pageGroupUserSheets.get()); 6085 6085 if (m_userSheets) 6086 memoryObjectInfo->reportVector(*m_userSheets.get());6087 memoryObjectInfo->reportHashSet(m_nodeIterators);6088 memoryObjectInfo->reportHashSet(m_ranges);6089 memoryObjectInfo->reportListHashSet(m_styleSheetCandidateNodes);6090 memoryObjectInfo->reportString(m_preferredStylesheetSet);6091 memoryObjectInfo->reportString(m_selectedStylesheetSet);6092 memoryObjectInfo->reportString(m_title.string());6093 memoryObjectInfo->reportString(m_rawTitle.string());6094 memoryObjectInfo->reportString(m_xmlEncoding);6095 memoryObjectInfo->reportString(m_xmlVersion);6096 memoryObjectInfo->reportString(m_contentLanguage);6097 memoryObjectInfo->reportHashMap(m_documentNamedItemCollections);6098 memoryObjectInfo->reportHashMap(m_windowNamedItemCollections);6086 info.reportVector(*m_userSheets.get()); 6087 info.reportHashSet(m_nodeIterators); 6088 info.reportHashSet(m_ranges); 6089 info.reportListHashSet(m_styleSheetCandidateNodes); 6090 info.reportString(m_preferredStylesheetSet); 6091 info.reportString(m_selectedStylesheetSet); 6092 info.reportString(m_title.string()); 6093 info.reportString(m_rawTitle.string()); 6094 info.reportString(m_xmlEncoding); 6095 info.reportString(m_xmlVersion); 6096 info.reportString(m_contentLanguage); 6097 info.reportHashMap(m_documentNamedItemCollections); 6098 info.reportHashMap(m_windowNamedItemCollections); 6099 6099 #if ENABLE(DASHBOARD_SUPPORT) 6100 memoryObjectInfo->reportVector(m_dashboardRegions);6101 #endif 6102 memoryObjectInfo->reportHashMap(m_cssCanvasElements);6103 memoryObjectInfo->reportVector(m_iconURLs);6104 memoryObjectInfo->reportHashSet(m_documentSuspensionCallbackElements);6105 memoryObjectInfo->reportHashSet(m_mediaVolumeCallbackElements);6106 memoryObjectInfo->reportHashSet(m_privateBrowsingStateChangedElements);6107 memoryObjectInfo->reportHashMap(m_elementsByAccessKey);6108 memoryObjectInfo->reportHashSet(m_mediaCanStartListeners);6109 memoryObjectInfo->reportVector(m_pendingTasks);6100 info.reportVector(m_dashboardRegions); 6101 #endif 6102 info.reportHashMap(m_cssCanvasElements); 6103 info.reportVector(m_iconURLs); 6104 info.reportHashSet(m_documentSuspensionCallbackElements); 6105 info.reportHashSet(m_mediaVolumeCallbackElements); 6106 info.reportHashSet(m_privateBrowsingStateChangedElements); 6107 info.reportHashMap(m_elementsByAccessKey); 6108 info.reportHashSet(m_mediaCanStartListeners); 6109 info.reportVector(m_pendingTasks); 6110 6110 } 6111 6111 -
trunk/Source/WebCore/dom/Element.h
r122550 r122580 431 431 virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 432 432 { 433 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM);434 ContainerNode::reportMemoryUsage(memoryObjectInfo);435 memoryObjectInfo->reportInstrumentedObject(m_tagName);436 memoryObjectInfo->reportInstrumentedPointer(m_attributeData.get());433 MemoryClassInfo<Element> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 434 info.visitBaseClass<ContainerNode>(this); 435 info.reportInstrumentedObject(m_tagName); 436 info.reportInstrumentedPointer(m_attributeData.get()); 437 437 } 438 438 -
trunk/Source/WebCore/dom/ElementAttributeData.h
r122450 r122580 105 105 void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 106 106 { 107 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM);108 memoryObjectInfo->reportInstrumentedPointer(m_inlineStyleDecl.get());109 memoryObjectInfo->reportInstrumentedPointer(m_attributeStyle.get());110 memoryObjectInfo->reportObject(m_classNames);111 memoryObjectInfo->reportObject(m_idForStyleResolution);107 MemoryClassInfo<ElementAttributeData> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 108 info.reportInstrumentedPointer(m_inlineStyleDecl.get()); 109 info.reportInstrumentedPointer(m_attributeStyle.get()); 110 info.reportObject(m_classNames); 111 info.reportObject(m_idForStyleResolution); 112 112 if (m_isMutable) 113 memoryObjectInfo->reportPointer(m_mutableAttributeVector, MemoryInstrumentation::DOM);113 info.reportPointer(m_mutableAttributeVector); 114 114 } 115 115 -
trunk/Source/WebCore/dom/MemoryInstrumentation.h
r122243 r122580 82 82 83 83 private: 84 friend class MemoryObjectInfo; 85 84 template <typename T> friend class MemoryClassInfo; 86 85 template <typename T> 87 86 class InstrumentedPointer : public InstrumentedPointerBase { … … 109 108 { } 110 109 111 template <typename P> 112 void reportInstrumentedPointer(const P* memberPointer) 113 { 114 m_memoryInstrumentation->reportInstrumentedPointer(memberPointer); 115 } 116 117 template <typename P> 118 void reportPointer(const P* pointer, MemoryInstrumentation::ObjectType objectType) 119 { 120 m_memoryInstrumentation->reportPointer(pointer, objectType); 121 } 122 123 template <typename T> 124 void reportInstrumentedObject(const T& memberObject) 125 { 126 m_memoryInstrumentation->reportInstrumentedObject(memberObject); 127 } 128 129 template <typename T> 130 void reportObject(const T& object) { m_memoryInstrumentation->reportObject(object); } 131 132 template <typename T> 133 void reportObjectInfo(const T*, MemoryInstrumentation::ObjectType objectType) 110 MemoryInstrumentation::ObjectType objectType() const { return m_objectType; } 111 size_t objectSize() const { return m_objectSize; } 112 113 MemoryInstrumentation* memoryInstrumentation() { return m_memoryInstrumentation; } 114 115 private: 116 template <typename T> friend class MemoryClassInfo; 117 118 template <typename T> void reportObjectInfo(const T*, MemoryInstrumentation::ObjectType objectType) 134 119 { 135 120 if (m_objectType != MemoryInstrumentation::Other) … … 139 124 } 140 125 141 template <typename HashMapType>142 void reportHashMap(const HashMapType& map)143 {144 m_memoryInstrumentation->reportHashMap(map, objectType(), true);145 }146 147 template <typename HashSetType>148 void reportHashSet(const HashSetType& set)149 {150 m_memoryInstrumentation->reportHashSet(set, objectType(), true);151 }152 153 template <typename ListHashSetType>154 void reportListHashSet(const ListHashSetType& set)155 {156 m_memoryInstrumentation->reportListHashSet(set, objectType(), true);157 }158 159 template <typename VectorType>160 void reportVector(const VectorType& vector)161 {162 m_memoryInstrumentation->reportVector(vector, objectType(), true);163 }164 165 void reportString(const String& string)166 {167 m_memoryInstrumentation->reportString(objectType(), string);168 }169 170 MemoryInstrumentation::ObjectType objectType() const { return m_objectType; }171 size_t objectSize() const { return m_objectSize; }172 173 MemoryInstrumentation* memoryInstrumentation() { return m_memoryInstrumentation; }174 175 private:176 126 MemoryInstrumentation* m_memoryInstrumentation; 177 127 MemoryInstrumentation::ObjectType m_objectType; … … 180 130 181 131 template <typename T> 132 class MemoryClassInfo { 133 public: 134 MemoryClassInfo(MemoryObjectInfo* memoryObjectInfo, const T* ptr, MemoryInstrumentation::ObjectType objectType) 135 : m_memoryObjectInfo(memoryObjectInfo) 136 , m_memoryInstrumentation(memoryObjectInfo->memoryInstrumentation()) 137 { 138 m_memoryObjectInfo->reportObjectInfo(ptr, objectType); 139 m_objectType = memoryObjectInfo->objectType(); 140 } 141 142 template <typename P> void visitBaseClass(const P* ptr) { ptr->P::reportMemoryUsage(m_memoryObjectInfo); } 143 144 template <typename P> void reportInstrumentedPointer(const P* memberPointer) { m_memoryInstrumentation->reportInstrumentedPointer(memberPointer); } 145 template <typename O> void reportInstrumentedObject(const O& memberObject) { m_memoryInstrumentation->reportInstrumentedObject(memberObject); } 146 147 template <typename P> void reportPointer(const P* pointer) { m_memoryInstrumentation->reportPointer(pointer, m_objectType); } 148 template <typename O> void reportObject(const O& object) { m_memoryInstrumentation->reportObject(object); } 149 150 template <typename HashMapType> void reportHashMap(const HashMapType& map) { m_memoryInstrumentation->reportHashMap(map, m_objectType, true); } 151 template <typename HashSetType> void reportHashSet(const HashSetType& set) { m_memoryInstrumentation->reportHashSet(set, m_objectType, true); } 152 template <typename ListHashSetType> void reportListHashSet(const ListHashSetType& set) { m_memoryInstrumentation->reportListHashSet(set, m_objectType, true); } 153 template <typename VectorType> void reportVector(const VectorType& vector) { m_memoryInstrumentation->reportVector(vector, m_objectType, true); } 154 155 void reportString(const String& string) { m_memoryInstrumentation->reportString(m_objectType, string); } 156 157 private: 158 MemoryObjectInfo* m_memoryObjectInfo; 159 MemoryInstrumentation* m_memoryInstrumentation; 160 MemoryInstrumentation::ObjectType m_objectType; 161 }; 162 163 template <typename T> 182 164 void MemoryInstrumentation::reportInstrumentedPointer(const T* const object) 183 165 { -
trunk/Source/WebCore/dom/Node.cpp
r122550 r122580 2802 2802 void Node::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 2803 2803 { 2804 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM);2805 TreeShared<Node, ContainerNode>::reportMemoryUsage(memoryObjectInfo);2806 ScriptWrappable::reportMemoryUsage(memoryObjectInfo);2807 memoryObjectInfo->reportPointer(m_document, MemoryInstrumentation::DOM);2808 memoryObjectInfo->reportInstrumentedPointer(m_next);2809 memoryObjectInfo->reportInstrumentedPointer(m_previous);2804 MemoryClassInfo<Node> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 2805 info.visitBaseClass<TreeShared<Node, ContainerNode> >(this); 2806 info.visitBaseClass<ScriptWrappable>(this); 2807 info.reportInstrumentedPointer(m_document); 2808 info.reportInstrumentedPointer(m_next); 2809 info.reportInstrumentedPointer(m_previous); 2810 2810 } 2811 2811 -
trunk/Source/WebCore/dom/QualifiedName.h
r121022 r122580 53 53 void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 54 54 { 55 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM);56 memoryObjectInfo->reportObject(m_prefix);57 memoryObjectInfo->reportObject(m_localName);58 memoryObjectInfo->reportObject(m_namespace);59 memoryObjectInfo->reportObject(m_localNameUpper);55 MemoryClassInfo<QualifiedNameImpl> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 56 info.reportObject(m_prefix); 57 info.reportObject(m_localName); 58 info.reportObject(m_namespace); 59 info.reportObject(m_localNameUpper); 60 60 } 61 61 private: … … 105 105 void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 106 106 { 107 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM);108 memoryObjectInfo->reportInstrumentedPointer(m_impl);107 MemoryClassInfo<QualifiedName> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 108 info.reportInstrumentedPointer(m_impl); 109 109 } 110 110 private: -
trunk/Source/WebCore/platform/TreeShared.h
r121022 r122580 114 114 void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 115 115 { 116 memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM);117 memoryObjectInfo->reportInstrumentedPointer(m_parent);116 MemoryClassInfo<TreeShared<NodeType, ParentNodeType> > info(memoryObjectInfo, this, MemoryInstrumentation::DOM); 117 info.reportInstrumentedPointer(m_parent); 118 118 } 119 119
Note: See TracChangeset
for help on using the changeset viewer.