Title: [133926] trunk/Source/WebCore
Revision
133926
Author
[email protected]
Date
2012-11-08 11:37:50 -0800 (Thu, 08 Nov 2012)

Log Message

4.68MB below RenderStyle::filter() on Membuster3.
<http://webkit.org/b/101624>
<rdar://problem/12663822>

Reviewed by Darin Adler.

Rename the non-const RenderStyle::filter() to mutableFilter() since using it causes us to detach
from the rare non-inherited data (copy-on-write.)
Most call sites were calling filter() on a RenderStyle* which was causing the bloat.

4.68MB progression on Membuster3.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingSVGDocuments):
(WebCore::StyleResolver::loadPendingShaders):
* rendering/style/RenderStyle.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (133925 => 133926)


--- trunk/Source/WebCore/ChangeLog	2012-11-08 19:35:45 UTC (rev 133925)
+++ trunk/Source/WebCore/ChangeLog	2012-11-08 19:37:50 UTC (rev 133926)
@@ -1,3 +1,22 @@
+2012-11-08  Andreas Kling  <[email protected]>
+
+        4.68MB below RenderStyle::filter() on Membuster3.
+        <http://webkit.org/b/101624>
+        <rdar://problem/12663822>
+
+        Reviewed by Darin Adler.
+
+        Rename the non-const RenderStyle::filter() to mutableFilter() since using it causes us to detach
+        from the rare non-inherited data (copy-on-write.)
+        Most call sites were calling filter() on a RenderStyle* which was causing the bloat.
+
+        4.68MB progression on Membuster3.
+
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::loadPendingSVGDocuments):
+        (WebCore::StyleResolver::loadPendingShaders):
+        * rendering/style/RenderStyle.h:
+
 2012-11-08  Alexey Proskuryakov  <[email protected]>
 
         Create loader/blackberry directory, because svn-apply cannot apply a patch that

Modified: trunk/Source/WebCore/css/StyleResolver.cpp (133925 => 133926)


--- trunk/Source/WebCore/css/StyleResolver.cpp	2012-11-08 19:35:45 UTC (rev 133925)
+++ trunk/Source/WebCore/css/StyleResolver.cpp	2012-11-08 19:37:50 UTC (rev 133926)
@@ -4581,7 +4581,7 @@
         return;
 
     CachedResourceLoader* cachedResourceLoader = m_element->document()->cachedResourceLoader();
-    Vector<RefPtr<FilterOperation> >& filterOperations = m_style->filter().operations();
+    Vector<RefPtr<FilterOperation> >& filterOperations = m_style->mutableFilter().operations();
     for (unsigned i = 0; i < filterOperations.size(); ++i) {
         RefPtr<FilterOperation> filterOperation = filterOperations.at(i);
         if (filterOperation->getOperationType() == FilterOperation::REFERENCE) {
@@ -4625,7 +4625,7 @@
 
     CachedResourceLoader* cachedResourceLoader = m_element->document()->cachedResourceLoader();
 
-    Vector<RefPtr<FilterOperation> >& filterOperations = m_style->filter().operations();
+    Vector<RefPtr<FilterOperation> >& filterOperations = m_style->mutableFilter().operations();
     for (unsigned i = 0; i < filterOperations.size(); ++i) {
         RefPtr<FilterOperation> filterOperation = filterOperations.at(i);
         if (filterOperation->getOperationType() == FilterOperation::CUSTOM) {

Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (133925 => 133926)


--- trunk/Source/WebCore/rendering/style/RenderStyle.h	2012-11-08 19:35:45 UTC (rev 133925)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h	2012-11-08 19:37:50 UTC (rev 133926)
@@ -981,7 +981,7 @@
     ESpeak speak() const { return static_cast<ESpeak>(rareInheritedData->speak); }
 
 #if ENABLE(CSS_FILTERS)
-    FilterOperations& filter() { return rareNonInheritedData.access()->m_filter.access()->m_operations; }
+    FilterOperations& mutableFilter() { return rareNonInheritedData.access()->m_filter.access()->m_operations; }
     const FilterOperations& filter() const { return rareNonInheritedData->m_filter->m_operations; }
     bool hasFilter() const { return !rareNonInheritedData->m_filter->m_operations.operations().isEmpty(); }
 #else
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to