Title: [102266] trunk/Source/WebCore
- Revision
- 102266
- Author
- kl...@webkit.org
- Date
- 2011-12-07 12:59:35 -0800 (Wed, 07 Dec 2011)
Log Message
RenderLayer::updateZOrderLists(): Inline early-return condition.
<http://webkit.org/b/74013>
Reviewed by Anders Carlsson.
updateZOrderLists() was hot (1.2%) when scrolling around on youtube.com,
and 85% of the calls were taking the early return path.
Inlined the two checks for the early return and renamed the function
to updateZOrderListsSlowCase(). Also reversed their order to avoid the
virtual call (RenderObject::isRenderView()) if possible.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateZOrderListsSlowCase):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::updateZOrderLists):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (102265 => 102266)
--- trunk/Source/WebCore/ChangeLog 2011-12-07 20:08:00 UTC (rev 102265)
+++ trunk/Source/WebCore/ChangeLog 2011-12-07 20:59:35 UTC (rev 102266)
@@ -1,3 +1,22 @@
+2011-12-07 Andreas Kling <kl...@webkit.org>
+
+ RenderLayer::updateZOrderLists(): Inline early-return condition.
+ <http://webkit.org/b/74013>
+
+ Reviewed by Anders Carlsson.
+
+ updateZOrderLists() was hot (1.2%) when scrolling around on youtube.com,
+ and 85% of the calls were taking the early return path.
+
+ Inlined the two checks for the early return and renamed the function
+ to updateZOrderListsSlowCase(). Also reversed their order to avoid the
+ virtual call (RenderObject::isRenderView()) if possible.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateZOrderListsSlowCase):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::updateZOrderLists):
+
2011-12-07 Sheriff Bot <webkit.review....@gmail.com>
Unreviewed, rolling out r102244.
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (102265 => 102266)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2011-12-07 20:08:00 UTC (rev 102265)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2011-12-07 20:59:35 UTC (rev 102266)
@@ -4092,11 +4092,8 @@
#endif
}
-void RenderLayer::updateZOrderLists()
+void RenderLayer::updateZOrderListsSlowCase()
{
- if (!isStackingContext() || !m_zOrderListsDirty)
- return;
-
#if USE(ACCELERATED_COMPOSITING)
bool includeHiddenLayers = compositor()->inCompositingMode();
#else
Modified: trunk/Source/WebCore/rendering/RenderLayer.h (102265 => 102266)
--- trunk/Source/WebCore/rendering/RenderLayer.h 2011-12-07 20:08:00 UTC (rev 102265)
+++ trunk/Source/WebCore/rendering/RenderLayer.h 2011-12-07 20:59:35 UTC (rev 102266)
@@ -544,6 +544,8 @@
void setContainsDirtyOverlayScrollbars(bool dirtyScrollbars) { m_containsDirtyOverlayScrollbars = dirtyScrollbars; }
private:
+ void updateZOrderListsSlowCase();
+
void computeRepaintRects(IntPoint* offsetFromRoot = 0);
void clearRepaintRects();
@@ -844,6 +846,13 @@
Page* m_scrollableAreaPage; // Page on which this is registered as a scrollable area.
};
+inline void RenderLayer::updateZOrderLists()
+{
+ if (!m_zOrderListsDirty || !isStackingContext())
+ return;
+ updateZOrderListsSlowCase();
+}
+
} // namespace WebCore
#ifndef NDEBUG
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes