Title: [128752] trunk/Source/WebCore
- Revision
- 128752
- Author
- [email protected]
- Date
- 2012-09-17 06:33:03 -0700 (Mon, 17 Sep 2012)
Log Message
Web Inspector: NMI don't double count fields of StaticDOMDataStore
https://bugs.webkit.org/show_bug.cgi?id=96911
Reviewed by Alexander Pavlov.
Provided two separate memory usage reporting routines for static and
scoped DOM data stores.
* bindings/v8/DOMDataStore.cpp:
* bindings/v8/DOMDataStore.h:
(DOMDataStore):
* bindings/v8/ScopedDOMDataStore.cpp:
(WebCore::ScopedDOMDataStore::reportMemoryUsage):
(WebCore):
* bindings/v8/ScopedDOMDataStore.h:
(ScopedDOMDataStore):
* bindings/v8/StaticDOMDataStore.cpp:
(WebCore::StaticDOMDataStore::reportMemoryUsage):
(WebCore):
* bindings/v8/StaticDOMDataStore.h:
(StaticDOMDataStore):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (128751 => 128752)
--- trunk/Source/WebCore/ChangeLog 2012-09-17 13:32:37 UTC (rev 128751)
+++ trunk/Source/WebCore/ChangeLog 2012-09-17 13:33:03 UTC (rev 128752)
@@ -1,3 +1,27 @@
+2012-09-17 Yury Semikhatsky <[email protected]>
+
+ Web Inspector: NMI don't double count fields of StaticDOMDataStore
+ https://bugs.webkit.org/show_bug.cgi?id=96911
+
+ Reviewed by Alexander Pavlov.
+
+ Provided two separate memory usage reporting routines for static and
+ scoped DOM data stores.
+
+ * bindings/v8/DOMDataStore.cpp:
+ * bindings/v8/DOMDataStore.h:
+ (DOMDataStore):
+ * bindings/v8/ScopedDOMDataStore.cpp:
+ (WebCore::ScopedDOMDataStore::reportMemoryUsage):
+ (WebCore):
+ * bindings/v8/ScopedDOMDataStore.h:
+ (ScopedDOMDataStore):
+ * bindings/v8/StaticDOMDataStore.cpp:
+ (WebCore::StaticDOMDataStore::reportMemoryUsage):
+ (WebCore):
+ * bindings/v8/StaticDOMDataStore.h:
+ (StaticDOMDataStore):
+
2012-09-17 Christophe Dumez <[email protected]>
[EFL] autoscroll-in-textarea.html fails on EFL
Modified: trunk/Source/WebCore/bindings/v8/DOMDataStore.cpp (128751 => 128752)
--- trunk/Source/WebCore/bindings/v8/DOMDataStore.cpp 2012-09-17 13:32:37 UTC (rev 128751)
+++ trunk/Source/WebCore/bindings/v8/DOMDataStore.cpp 2012-09-17 13:33:03 UTC (rev 128752)
@@ -122,10 +122,10 @@
void DOMDataStore::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding);
- info.addInstrumentedMember(m_domNodeMap);
- info.addInstrumentedMember(m_activeDomNodeMap);
- info.addInstrumentedMember(m_domObjectMap);
- info.addInstrumentedMember(m_activeDomObjectMap);
+ info.addWeakPointer(m_domNodeMap);
+ info.addWeakPointer(m_activeDomNodeMap);
+ info.addWeakPointer(m_domObjectMap);
+ info.addWeakPointer(m_activeDomObjectMap);
}
// Called when the object is near death (not reachable from JS roots).
Modified: trunk/Source/WebCore/bindings/v8/ScopedDOMDataStore.cpp (128751 => 128752)
--- trunk/Source/WebCore/bindings/v8/ScopedDOMDataStore.cpp 2012-09-17 13:32:37 UTC (rev 128751)
+++ trunk/Source/WebCore/bindings/v8/ScopedDOMDataStore.cpp 2012-09-17 13:33:03 UTC (rev 128752)
@@ -31,6 +31,8 @@
#include "config.h"
#include "ScopedDOMDataStore.h"
+#include "WebCoreMemoryInstrumentation.h"
+
namespace WebCore {
ScopedDOMDataStore::ScopedDOMDataStore()
@@ -50,4 +52,14 @@
delete m_activeDomObjectMap;
}
+void ScopedDOMDataStore::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding);
+ DOMDataStore::reportMemoryUsage(memoryObjectInfo);
+ info.addInstrumentedMember(m_domNodeMap);
+ info.addInstrumentedMember(m_activeDomNodeMap);
+ info.addInstrumentedMember(m_domObjectMap);
+ info.addInstrumentedMember(m_activeDomObjectMap);
+}
+
} // namespace WebCore
Modified: trunk/Source/WebCore/bindings/v8/ScopedDOMDataStore.h (128751 => 128752)
--- trunk/Source/WebCore/bindings/v8/ScopedDOMDataStore.h 2012-09-17 13:32:37 UTC (rev 128751)
+++ trunk/Source/WebCore/bindings/v8/ScopedDOMDataStore.h 2012-09-17 13:33:03 UTC (rev 128752)
@@ -49,6 +49,8 @@
// This can be called when WTF thread is tearing down.
// We assume that all child threads running V8 instances are created by WTF.
virtual ~ScopedDOMDataStore();
+
+ virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
};
} // namespace WebCore
Modified: trunk/Source/WebCore/bindings/v8/StaticDOMDataStore.cpp (128751 => 128752)
--- trunk/Source/WebCore/bindings/v8/StaticDOMDataStore.cpp 2012-09-17 13:32:37 UTC (rev 128751)
+++ trunk/Source/WebCore/bindings/v8/StaticDOMDataStore.cpp 2012-09-17 13:33:03 UTC (rev 128752)
@@ -31,6 +31,7 @@
#include "config.h"
#include "StaticDOMDataStore.h"
#include "V8Binding.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -53,4 +54,14 @@
V8PerIsolateData::current()->unregisterDOMDataStore(this);
}
+void StaticDOMDataStore::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding);
+ DOMDataStore::reportMemoryUsage(memoryObjectInfo);
+ info.addInstrumentedMember(m_staticDomNodeMap);
+ info.addInstrumentedMember(m_staticActiveDomNodeMap);
+ info.addInstrumentedMember(m_staticDomObjectMap);
+ info.addInstrumentedMember(m_staticActiveDomObjectMap);
+}
+
} // namespace WebCore
Modified: trunk/Source/WebCore/bindings/v8/StaticDOMDataStore.h (128751 => 128752)
--- trunk/Source/WebCore/bindings/v8/StaticDOMDataStore.h 2012-09-17 13:32:37 UTC (rev 128751)
+++ trunk/Source/WebCore/bindings/v8/StaticDOMDataStore.h 2012-09-17 13:33:03 UTC (rev 128752)
@@ -49,6 +49,8 @@
StaticDOMDataStore();
virtual ~StaticDOMDataStore();
+ virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
+
private:
IntrusiveDOMWrapperMap m_staticDomNodeMap;
IntrusiveDOMWrapperMap m_staticActiveDomNodeMap;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes