Title: [135788] trunk/Source/WebCore
Revision
135788
Author
akl...@apple.com
Date
2012-11-26 16:41:39 -0800 (Mon, 26 Nov 2012)

Log Message

RenderStyle: Move 'list-style-image' to rare inherited data.
<http://webkit.org/b/103300>

Reviewed by Antti Koivisto.

list-style-image is not nearly common enough to merit a spot in StyleInheritedData.
Move it to StyleRareInheritedData.

134kB progression on Membuster3.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
(WebCore::RenderStyle::listStyleImage):
(WebCore::RenderStyle::setListStyleImage):
* rendering/style/StyleInheritedData.cpp:
(WebCore::StyleInheritedData::StyleInheritedData):
(WebCore::StyleInheritedData::operator==):
* rendering/style/StyleInheritedData.h:
(StyleInheritedData):
* rendering/style/StyleRareInheritedData.h:
* rendering/style/StyleRareInheritedData.cpp:
(SameSizeAsStyleRareInheritedData):
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (135787 => 135788)


--- trunk/Source/WebCore/ChangeLog	2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/ChangeLog	2012-11-27 00:41:39 UTC (rev 135788)
@@ -1,3 +1,30 @@
+2012-11-26  Andreas Kling  <akl...@apple.com>
+
+        RenderStyle: Move 'list-style-image' to rare inherited data.
+        <http://webkit.org/b/103300>
+
+        Reviewed by Antti Koivisto.
+
+        list-style-image is not nearly common enough to merit a spot in StyleInheritedData.
+        Move it to StyleRareInheritedData.
+
+        134kB progression on Membuster3.
+
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::diff):
+        (WebCore::RenderStyle::listStyleImage):
+        (WebCore::RenderStyle::setListStyleImage):
+        * rendering/style/StyleInheritedData.cpp:
+        (WebCore::StyleInheritedData::StyleInheritedData):
+        (WebCore::StyleInheritedData::operator==):
+        * rendering/style/StyleInheritedData.h:
+        (StyleInheritedData):
+        * rendering/style/StyleRareInheritedData.h:
+        * rendering/style/StyleRareInheritedData.cpp:
+        (SameSizeAsStyleRareInheritedData):
+        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+        (WebCore::StyleRareInheritedData::operator==):
+
 2012-11-26  James Simonsen  <simon...@chromium.org>
 
         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest

Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (135787 => 135788)


--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp	2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp	2012-11-27 00:41:39 UTC (rev 135788)
@@ -491,7 +491,8 @@
             || rareInheritedData->m_imageResolution != other->rareInheritedData->m_imageResolution
 #endif
             || rareInheritedData->m_lineSnap != other->rareInheritedData->m_lineSnap
-            || rareInheritedData->m_lineAlign != other->rareInheritedData->m_lineAlign)
+            || rareInheritedData->m_lineAlign != other->rareInheritedData->m_lineAlign
+            || rareInheritedData->listStyleImage != other->rareInheritedData->listStyleImage)
             return StyleDifferenceLayout;
 
         if (!rareInheritedData->shadowDataEquivalent(*other->rareInheritedData.get()))
@@ -507,7 +508,6 @@
 #endif
 
     if (inherited->line_height != other->inherited->line_height
-        || inherited->list_style_image != other->inherited->list_style_image
         || inherited->font != other->inherited->font
         || inherited->horizontal_border_spacing != other->inherited->horizontal_border_spacing
         || inherited->vertical_border_spacing != other->inherited->vertical_border_spacing
@@ -966,11 +966,11 @@
     return factor;
 }
 
-StyleImage* RenderStyle::listStyleImage() const { return inherited->list_style_image.get(); }
+StyleImage* RenderStyle::listStyleImage() const { return rareInheritedData->listStyleImage.get(); }
 void RenderStyle::setListStyleImage(PassRefPtr<StyleImage> v)
 {
-    if (inherited->list_style_image != v)
-        inherited.access()->list_style_image = v;
+    if (rareInheritedData->listStyleImage != v)
+        rareInheritedData.access()->listStyleImage = v;
 }
 
 Color RenderStyle::color() const { return inherited->color; }

Modified: trunk/Source/WebCore/rendering/style/StyleInheritedData.cpp (135787 => 135788)


--- trunk/Source/WebCore/rendering/style/StyleInheritedData.cpp	2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/rendering/style/StyleInheritedData.cpp	2012-11-27 00:41:39 UTC (rev 135788)
@@ -23,7 +23,6 @@
 #include "StyleInheritedData.h"
 
 #include "RenderStyle.h"
-#include "StyleImage.h"
 
 namespace WebCore {
 
@@ -31,7 +30,6 @@
     : horizontal_border_spacing(RenderStyle::initialHorizontalBorderSpacing())
     , vertical_border_spacing(RenderStyle::initialVerticalBorderSpacing())
     , line_height(RenderStyle::initialLineHeight())
-    , list_style_image(RenderStyle::initialListStyleImage())
     , color(RenderStyle::initialColor())
     , visitedLinkColor(RenderStyle::initialColor())
 {
@@ -46,7 +44,6 @@
     , horizontal_border_spacing(o.horizontal_border_spacing)
     , vertical_border_spacing(o.vertical_border_spacing)
     , line_height(o.line_height)
-    , list_style_image(o.list_style_image)
     , font(o.font)
     , color(o.color)
     , visitedLinkColor(o.visitedLinkColor)
@@ -56,7 +53,6 @@
 bool StyleInheritedData::operator==(const StyleInheritedData& o) const
 {
     return line_height == o.line_height
-        && StyleImage::imagesEquivalent(list_style_image.get(), o.list_style_image.get())
         && font == o.font
         && color == o.color
         && visitedLinkColor == o.visitedLinkColor

Modified: trunk/Source/WebCore/rendering/style/StyleInheritedData.h (135787 => 135788)


--- trunk/Source/WebCore/rendering/style/StyleInheritedData.h	2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/rendering/style/StyleInheritedData.h	2012-11-27 00:41:39 UTC (rev 135788)
@@ -34,8 +34,6 @@
 
 namespace WebCore {
 
-class StyleImage;
-
 class StyleInheritedData : public RefCounted<StyleInheritedData> {
 public:
     static PassRefPtr<StyleInheritedData> create() { return adoptRef(new StyleInheritedData); }
@@ -55,8 +53,6 @@
     // make a difference currently because of padding
     Length line_height;
 
-    RefPtr<StyleImage> list_style_image;
-
     Font font;
     Color color;
     Color visitedLinkColor;

Modified: trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp (135787 => 135788)


--- trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp	2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp	2012-11-27 00:41:39 UTC (rev 135788)
@@ -27,12 +27,14 @@
 #include "RenderStyle.h"
 #include "RenderStyleConstants.h"
 #include "ShadowData.h"
+#include "StyleImage.h"
 #include "WebCoreMemoryInstrumentation.h"
 #include <wtf/MemoryObjectInfo.h>
 
 namespace WebCore {
 
 struct SameSizeAsStyleRareInheritedData : public RefCounted<SameSizeAsStyleRareInheritedData> {
+    void* styleImage;
     Color firstColor;
     float firstFloat;
     Color colors[5];
@@ -62,7 +64,8 @@
 COMPILE_ASSERT(sizeof(StyleRareInheritedData) == sizeof(SameSizeAsStyleRareInheritedData), StyleRareInheritedData_should_bit_pack);
 
 StyleRareInheritedData::StyleRareInheritedData()
-    : textStrokeWidth(RenderStyle::initialTextStrokeWidth())
+    : listStyleImage(RenderStyle::initialListStyleImage())
+    , textStrokeWidth(RenderStyle::initialTextStrokeWidth())
     , indent(RenderStyle::initialTextIndent())
     , m_effectiveZoom(RenderStyle::initialZoom())
     , widows(RenderStyle::initialWidows())
@@ -118,6 +121,7 @@
 
 StyleRareInheritedData::StyleRareInheritedData(const StyleRareInheritedData& o)
     : RefCounted<StyleRareInheritedData>()
+    , listStyleImage(o.listStyleImage)
     , textStrokeColor(o.textStrokeColor)
     , textStrokeWidth(o.textStrokeWidth)
     , textFillColor(o.textFillColor)
@@ -260,7 +264,8 @@
 #if ENABLE(CSS_VARIABLES)
         && m_variables == o.m_variables
 #endif
-        && m_lineAlign == o.m_lineAlign;
+        && m_lineAlign == o.m_lineAlign
+        && StyleImage::imagesEquivalent(listStyleImage.get(), o.listStyleImage.get());
 }
 
 bool StyleRareInheritedData::shadowDataEquivalent(const StyleRareInheritedData& o) const

Modified: trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h (135787 => 135788)


--- trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h	2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h	2012-11-27 00:41:39 UTC (rev 135788)
@@ -41,6 +41,7 @@
 class CursorList;
 class QuotesData;
 class ShadowData;
+class StyleImage;
 
 // This struct is for rarely used inherited CSS3, CSS2, and WebKit-specific properties.
 // By grouping them together, we save space, and only allocate this object when someone
@@ -60,6 +61,8 @@
 
     void reportMemoryUsage(MemoryObjectInfo*) const;
 
+    RefPtr<StyleImage> listStyleImage;
+
     Color textStrokeColor;
     float textStrokeWidth;
     Color textFillColor;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to