Changeset 90399 in webkit


Ignore:
Timestamp:
Jul 5, 2011 9:07:35 AM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2011-07-05 Tamas Czene <Czene.Tamas@stud.u-szeged.hu>

Reviewed by Simon Fraser.

Remove virtual functions from StyleImage.
https://bugs.webkit.org/show_bug.cgi?id=63909

We can remove the virtual "isChachedImage, isPendingImage, isGeneratedImage" functions to speed up the StyleImage.
Some profile data shows this part is significant, especially in small CSS-based sites.
Removing the virtual functions - removing the calls - makes a small performance progression on this part.

  • rendering/style/StyleCachedImage.h: (WebCore::StyleCachedImage::StyleCachedImage):
  • rendering/style/StyleGeneratedImage.h: (WebCore::StyleGeneratedImage::StyleGeneratedImage):
  • rendering/style/StyleImage.h: (WebCore::StyleImage::isCachedImage): (WebCore::StyleImage::isPendingImage): (WebCore::StyleImage::isGeneratedImage): (WebCore::StyleImage::StyleImage):
  • rendering/style/StylePendingImage.h: (WebCore::StylePendingImage::StylePendingImage):
Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r90397 r90399  
     12011-07-05  Tamas Czene  <Czene.Tamas@stud.u-szeged.hu>
     2
     3        Reviewed by Simon Fraser.
     4
     5        Remove virtual functions from StyleImage.
     6        https://bugs.webkit.org/show_bug.cgi?id=63909
     7
     8        We can remove the virtual "isChachedImage, isPendingImage, isGeneratedImage" functions to speed up the StyleImage.
     9        Some profile data shows this part is significant, especially in small CSS-based sites.
     10        Removing the virtual functions - removing the calls - makes a small performance progression on this part.
     11
     12        * rendering/style/StyleCachedImage.h:
     13        (WebCore::StyleCachedImage::StyleCachedImage):
     14        * rendering/style/StyleGeneratedImage.h:
     15        (WebCore::StyleGeneratedImage::StyleGeneratedImage):
     16        * rendering/style/StyleImage.h:
     17        (WebCore::StyleImage::isCachedImage):
     18        (WebCore::StyleImage::isPendingImage):
     19        (WebCore::StyleImage::isGeneratedImage):
     20        (WebCore::StyleImage::StyleImage):
     21        * rendering/style/StylePendingImage.h:
     22        (WebCore::StylePendingImage::StylePendingImage):
     23
    1242011-07-05  Pavel Feldman  <pfeldman@google.com>
    225
  • trunk/Source/WebCore/rendering/style/StyleCachedImage.h

    r76571 r90399  
    3737    virtual WrappedImagePtr data() const { return m_image.get(); }
    3838
    39     virtual bool isCachedImage() const { return true; }
    40    
    4139    virtual PassRefPtr<CSSValue> cssValue() const;
    4240   
     
    5957        : m_image(image)
    6058    {
     59         m_isCachedImage = true;
    6160    }
    6261   
  • trunk/Source/WebCore/rendering/style/StyleGeneratedImage.h

    r76571 r90399  
    4141    virtual WrappedImagePtr data() const { return m_generator; }
    4242
    43     virtual bool isGeneratedImage() const { return true; }
    44    
    4543    virtual PassRefPtr<CSSValue> cssValue() const;
    4644
     
    5957        , m_fixedSize(fixedSize)
    6058    {
     59         m_isGeneratedImage = true;
    6160    }
    6261   
  • trunk/Source/WebCore/rendering/style/StyleImage.h

    r76571 r90399  
    6363    virtual WrappedImagePtr data() const = 0;
    6464
    65     virtual bool isCachedImage() const { return false; }
    66     virtual bool isPendingImage() const { return false; }
    67     virtual bool isGeneratedImage() const { return false; }
     65    ALWAYS_INLINE bool isCachedImage() const { return m_isCachedImage; }
     66    ALWAYS_INLINE bool isPendingImage() const { return m_isPendingImage; }
     67    ALWAYS_INLINE bool isGeneratedImage() const { return m_isGeneratedImage; }
    6868   
    6969    static  bool imagesEquivalent(StyleImage* image1, StyleImage* image2)
     
    7878
    7979protected:
    80     StyleImage() { }
     80    StyleImage()
     81        : m_isCachedImage(false)
     82        , m_isPendingImage(false)
     83        , m_isGeneratedImage(false)
     84    {
     85    }
     86    bool m_isCachedImage:1;
     87    bool m_isPendingImage:1;
     88    bool m_isGeneratedImage:1;
    8189};
    8290
  • trunk/Source/WebCore/rendering/style/StylePendingImage.h

    r76571 r90399  
    4242    virtual WrappedImagePtr data() const { return m_value; }
    4343
    44     virtual bool isPendingImage() const { return true; }
    45    
    4644    virtual PassRefPtr<CSSValue> cssValue() const { return m_value; }
    4745    CSSImageValue* cssImageValue() const { return m_value; }
     
    6462        : m_value(value)
    6563    {
     64        m_isPendingImage = true;
    6665    }
    6766
Note: See TracChangeset for help on using the changeset viewer.