|
Optimize for horizontal writing mode
Optimize layout and painting by avoiding or short-circuiting vertical
writing mode logic unless it is used at least once in a document.
A per-document containsAnyVerticalWritingModes flag is introduced that
is set the first time a vertical writing mode is encountered. Unless
this flag has been set all flipForWritingMode functions short-circuit.
Some of the RenderBox flip methods is moved to the header file to allow
for better inlining.
Early testing indicates a ~10% performance improvement across the board
with 35 of our 42 layout performance tests showing a 6% to 19%
performance improvement. The remaining 7 tests show no significant
improvement and none of them show any regression.
R=dglazkov@chromium.org, pdr@chromium.org
BUG= 425364
TEST=PerformanceTests/Layout
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=184217
Total comments: 10
Total comments: 5
Total comments: 2
Total comments: 1
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+149 lines, -136 lines) |
Patch |
|
M |
Source/core/css/resolver/StyleBuilderCustom.cpp
|
View
|
1
2
3
4
5
6
|
1 chunk |
+6 lines, -2 lines |
0 comments
|
Download
|
|
M |
Source/core/dom/Document.h
|
View
|
1
2
3
4
5
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
Source/core/dom/Document.cpp
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
Source/core/frame/FrameView.cpp
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/page/EventHandler.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/page/PrintContext.cpp
|
View
|
1
2
3
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
Source/core/paint/BlockPainter.cpp
|
View
|
1
2
3
4
5
|
3 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
Source/core/paint/LayerPainter.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/InlineBox.cpp
|
View
|
1
2
3
4
|
3 chunks |
+7 lines, -6 lines |
0 comments
|
Download
|
|
M |
Source/core/rendering/LayoutState.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderBlock.cpp
|
View
|
1
2
3
|
8 chunks |
+10 lines, -10 lines |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderBlockFlow.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderBox.h
|
View
|
1
2
3
|
1 chunk |
+43 lines, -6 lines |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderBox.cpp
|
View
|
1
2
3
4
5
|
5 chunks |
+11 lines, -57 lines |
1 comment
|
Download
|
|
M |
Source/core/rendering/RenderFlexibleBox.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderFlowThread.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderGeometryMap.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderInline.cpp
|
View
|
1
2
3
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderLayer.h
|
View
|
|
2 chunks |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderLayer.cpp
|
View
|
1
2
3
4
5
|
4 chunks |
+17 lines, -9 lines |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderListMarker.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderObject.h
|
View
|
1
2
3
4
5
|
2 chunks |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderObject.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderReplaced.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderTable.h
|
View
|
1
2
3
|
2 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderTable.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderTableCell.cpp
|
View
|
1
2
3
|
6 chunks |
+10 lines, -10 lines |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderText.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RenderView.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/RootInlineBox.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
Source/core/rendering/shapes/ShapeOutsideInfo.cpp
|
View
|
1
2
3
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
Source/core/rendering/style/RenderStyle.h
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
Total messages: 29 (8 generated)
|