Changeset 102185 in webkit
- Timestamp:
- Dec 6, 2011, 3:38:37 PM (15 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 6 edited
-
ChangeLog (modified) (1 diff)
-
WebCore.exp.in (modified) (1 diff)
-
rendering/RenderObject.cpp (modified) (1 diff)
-
rendering/RenderObject.h (modified) (1 diff)
-
rendering/RenderView.h (modified) (1 diff)
-
rendering/svg/RenderSVGResourceContainer.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r102183 r102185 1 2011-12-06 Julien Chaffraix <jchaffraix@webkit.org> 2 3 Inline RenderObject::view() 4 https://bugs.webkit.org/show_bug.cgi?id=73733 5 6 Reviewed by Darin Adler. 7 8 Micro-performance optimization, no change in behavior. 9 10 RenderObject::view() is super hot and is taking ~4-5% of the time in some 11 benchmarks as it is called several hundred thousands times. For some reason, 12 the compiler did not inline it even though it is very simple in release builds. 13 14 * WebCore.exp.in: Removed RenderObject::view() as it is inlined now. 15 16 * rendering/RenderObject.cpp: Moved the implementation from here ... 17 * rendering/RenderView.h: 18 (WebCore::RenderObject::view): ... to here to avoid a cyclic 19 dependency between RenderObject and RenderView. Also marked the 20 function as ALWAYS_INLINE. 21 22 * rendering/RenderObject.h: 23 * rendering/svg/RenderSVGResourceContainer.cpp: 24 Added #include "RenderView.h" as the code checks for view() during repaint. 25 1 26 2011-12-06 Julien Chaffraix <jchaffraix@webkit.org> 2 27 -
trunk/Source/WebCore/WebCore.exp.in
r101875 r102185 1180 1180 __ZNK7WebCore12RenderObject14enclosingLayerEv 1181 1181 __ZNK7WebCore12RenderObject15localToAbsoluteERKNS_10FloatPointEbb 1182 __ZNK7WebCore12RenderObject4viewEv1183 1182 __ZNK7WebCore12RenderObject7childAtEj 1184 1183 __ZNK7WebCore12RenderWidget14windowClipRectEv -
trunk/Source/WebCore/rendering/RenderObject.cpp
r101753 r102185 2123 2123 } 2124 2124 2125 RenderView* RenderObject::view() const2126 {2127 return toRenderView(document()->renderer());2128 }2129 2130 2125 bool RenderObject::isRooted(RenderView** view) 2131 2126 { -
trunk/Source/WebCore/rendering/RenderObject.h
r101706 r102185 517 517 virtual void updateDragState(bool dragOn); 518 518 519 // Inlined into RenderView.h for performance and to avoid a cyclic dependency. 519 520 RenderView* view() const; 520 521 -
trunk/Source/WebCore/rendering/RenderView.h
r101574 r102185 292 292 293 293 294 ALWAYS_INLINE RenderView* RenderObject::view() const 295 { 296 return toRenderView(document()->renderer()); 297 } 298 294 299 // Stack-based class to assist with LayoutState push/pop 295 300 class LayoutStateMaintainer { -
trunk/Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp
r101517 r102185 24 24 25 25 #include "RenderSVGShadowTreeRootContainer.h" 26 #include "RenderView.h" 26 27 #include "SVGResourcesCache.h" 27 28 #include "SVGStyledTransformableElement.h"
Note:
See TracChangeset
for help on using the changeset viewer.