Title: [220380] trunk/Source/WebCore
- Revision
- 220380
- Author
- [email protected]
- Date
- 2017-08-07 19:52:05 -0700 (Mon, 07 Aug 2017)
Log 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):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (220379 => 220380)
--- trunk/Source/WebCore/ChangeLog 2017-08-08 02:46:11 UTC (rev 220379)
+++ trunk/Source/WebCore/ChangeLog 2017-08-08 02:52:05 UTC (rev 220380)
@@ -1,5 +1,21 @@
2017-08-07 Simon Fraser <[email protected]>
+ 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):
+
+2017-08-07 Simon Fraser <[email protected]>
+
Make TransformOperation::type() non-virtual
https://bugs.webkit.org/show_bug.cgi?id=175297
Modified: trunk/Source/WebCore/rendering/RenderLayerFilterInfo.cpp (220379 => 220380)
--- trunk/Source/WebCore/rendering/RenderLayerFilterInfo.cpp 2017-08-08 02:46:11 UTC (rev 220379)
+++ trunk/Source/WebCore/rendering/RenderLayerFilterInfo.cpp 2017-08-08 02:52:05 UTC (rev 220380)
@@ -49,7 +49,7 @@
{
ASSERT(layer.m_hasFilterInfo == map().contains(&layer));
- return layer.m_hasFilterInfo ? map().get(&layer) : 0;
+ return layer.m_hasFilterInfo ? map().get(&layer) : nullptr;
}
RenderLayer::FilterInfo& RenderLayer::FilterInfo::get(RenderLayer& layer)
@@ -67,9 +67,11 @@
void RenderLayer::FilterInfo::remove(RenderLayer& layer)
{
ASSERT(layer.m_hasFilterInfo == map().contains(&layer));
+ if (!layer.m_hasFilterInfo)
+ return;
- if (map().remove(&layer))
- layer.m_hasFilterInfo = false;
+ map().remove(&layer);
+ layer.m_hasFilterInfo = false;
}
RenderLayer::FilterInfo::FilterInfo(RenderLayer& layer)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes