Changeset 220380 in webkit


Ignore:
Timestamp:
Aug 7, 2017, 7:52:05 PM (8 years ago)
Author:
Simon Fraser
Message:

Avoid a hash lookup in FilterInfo::remove()
https://bugs.webkit.org/show_bug.cgi?id=175301

Reviewed by Sam Weinig.

FilterInfo::remove() always called map().remove(&layer)), even when layer.m_hasFilterInfo
was false (and even asserted that layer.m_hasFilterInfo == map().contains(&layer)).

So we can early return if layer.m_hasFilterInfo is false.

  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayer::FilterInfo::getIfExists):
(WebCore::RenderLayer::FilterInfo::remove):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r220379 r220380  
     12017-08-07  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Avoid a hash lookup in FilterInfo::remove()
     4        https://bugs.webkit.org/show_bug.cgi?id=175301
     5
     6        Reviewed by Sam Weinig.
     7
     8        FilterInfo::remove() always called map().remove(&layer)), even when layer.m_hasFilterInfo
     9        was false (and even asserted that layer.m_hasFilterInfo == map().contains(&layer)).
     10
     11        So we can early return if layer.m_hasFilterInfo is false.
     12
     13        * rendering/RenderLayerFilterInfo.cpp:
     14        (WebCore::RenderLayer::FilterInfo::getIfExists):
     15        (WebCore::RenderLayer::FilterInfo::remove):
     16
    1172017-08-07  Simon Fraser  <simon.fraser@apple.com>
    218
  • trunk/Source/WebCore/rendering/RenderLayerFilterInfo.cpp

    r206903 r220380  
    5050    ASSERT(layer.m_hasFilterInfo == map().contains(&layer));
    5151
    52     return layer.m_hasFilterInfo ? map().get(&layer) : 0;
     52    return layer.m_hasFilterInfo ? map().get(&layer) : nullptr;
    5353}
    5454
     
    6868{
    6969    ASSERT(layer.m_hasFilterInfo == map().contains(&layer));
     70    if (!layer.m_hasFilterInfo)
     71        return;
    7072
    71     if (map().remove(&layer))
    72         layer.m_hasFilterInfo = false;
     73    map().remove(&layer);
     74    layer.m_hasFilterInfo = false;
    7375}
    7476
Note: See TracChangeset for help on using the changeset viewer.