Title: [102268] trunk/Source/WebCore
- Revision
- 102268
- Author
- kl...@webkit.org
- Date
- 2011-12-07 13:10:02 -0800 (Wed, 07 Dec 2011)
Log Message
RenderObject::style(): Inline early-return condition.
<http://webkit.org/b/74019>
Reviewed by Anders Carlsson.
style() was very hot (6.1%) when scrolling around on youtube.com,
and 100% of the calls were taking the early return path.
Inlined the !isRenderFlowThread() check and renamed the function to
styleSlowCase().
* rendering/RenderObject.cpp:
(WebCore::RenderObject::styleSlowCase):
* rendering/RenderObject.h:
(WebCore::RenderObject::style):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (102267 => 102268)
--- trunk/Source/WebCore/ChangeLog 2011-12-07 21:01:59 UTC (rev 102267)
+++ trunk/Source/WebCore/ChangeLog 2011-12-07 21:10:02 UTC (rev 102268)
@@ -1,3 +1,21 @@
+2011-12-07 Andreas Kling <kl...@webkit.org>
+
+ RenderObject::style(): Inline early-return condition.
+ <http://webkit.org/b/74019>
+
+ Reviewed by Anders Carlsson.
+
+ style() was very hot (6.1%) when scrolling around on youtube.com,
+ and 100% of the calls were taking the early return path.
+
+ Inlined the !isRenderFlowThread() check and renamed the function to
+ styleSlowCase().
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleSlowCase):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::style):
+
2011-12-07 Adam Klein <ad...@chromium.org>
Use HashMap<Node*, OwnPtr<...>> in ChildListMutationScope
Modified: trunk/Source/WebCore/WebCore.exp.in (102267 => 102268)
--- trunk/Source/WebCore/WebCore.exp.in 2011-12-07 21:01:59 UTC (rev 102267)
+++ trunk/Source/WebCore/WebCore.exp.in 2011-12-07 21:10:02 UTC (rev 102268)
@@ -1179,7 +1179,7 @@
__ZNK7WebCore12RenderObject14enclosingLayerEv
__ZNK7WebCore12RenderObject15localToAbsoluteERKNS_10FloatPointEbb
__ZNK7WebCore12RenderObject7childAtEj
-__ZNK7WebCore12RenderObject5styleEv
+__ZNK7WebCore12RenderObject13styleSlowCaseEv
__ZNK7WebCore12RenderWidget14windowClipRectEv
__ZNK7WebCore12SharedBuffer11getSomeDataERPKcj
__ZNK7WebCore12SharedBuffer4dataEv
Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (102267 => 102268)
--- trunk/Source/WebCore/rendering/RenderObject.cpp 2011-12-07 21:01:59 UTC (rev 102267)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp 2011-12-07 21:10:02 UTC (rev 102268)
@@ -1723,10 +1723,11 @@
return diff;
}
-RenderStyle* RenderObject::style() const
+RenderStyle* RenderObject::styleSlowCase() const
{
- if (!inRenderFlowThread()
- || !canHaveRegionStyle()
+ ASSERT(inRenderFlowThread());
+
+ if (!canHaveRegionStyle()
|| !((view() && view()->currentRenderRegion() && view()->currentRenderRegion()->hasCustomRegionStyle())))
return m_style.get();
Modified: trunk/Source/WebCore/rendering/RenderObject.h (102267 => 102268)
--- trunk/Source/WebCore/rendering/RenderObject.h 2011-12-07 21:01:59 UTC (rev 102267)
+++ trunk/Source/WebCore/rendering/RenderObject.h 2011-12-07 21:10:02 UTC (rev 102268)
@@ -866,6 +866,7 @@
virtual LayoutRect outlineBoundsForRepaint(RenderBoxModelObject* /*repaintContainer*/, LayoutPoint* /*cachedOffsetToRepaintContainer*/ = 0) const { return LayoutRect(); }
private:
+ RenderStyle* styleSlowCase() const;
RenderStyle* firstLineStyleSlowCase() const;
StyleDifference adjustStyleDifference(StyleDifference, unsigned contextSensitiveProperties) const;
@@ -1032,6 +1033,13 @@
return style()->preserveNewline();
}
+inline RenderStyle* RenderObject::style() const
+{
+ if (!inRenderFlowThread())
+ return m_style.get();
+ return styleSlowCase();
+}
+
inline void makeMatrixRenderable(TransformationMatrix& matrix, bool has3DRendering)
{
#if !ENABLE(3D_RENDERING)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes