|
[turbofan] Avoid unnecessary write barriers and improve code generation.
Avoid write barriers when storing values in the root set, and use
cheaper write barriers for storing maps or tagged pointers. Also
improve the generated code for write barriers, utilizing the out
of line code mechanism that is available to TurboFan backends,
which moves the unlikely case out of the hot path.
R=jarin@chromium.org, mstarzinger@chromium.org
Committed: https://crrev.com/1e2770123bd5c1cf7631bf11be846f0fbd884c08
Cr-Commit-Position: refs/heads/master@{#31914}
Total comments: 2
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+915 lines, -462 lines) |
Patch |
|
M |
src/compiler/arm/code-generator-arm.cc
|
View
|
1
2
3
|
3 chunks |
+59 lines, -13 lines |
0 comments
|
Download
|
|
M |
src/compiler/arm/instruction-codes-arm.h
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/arm/instruction-selector-arm.cc
|
View
|
1
2
3
|
2 chunks |
+61 lines, -41 lines |
0 comments
|
Download
|
|
M |
src/compiler/arm64/code-generator-arm64.cc
|
View
|
1
2
3
|
3 chunks |
+59 lines, -23 lines |
0 comments
|
Download
|
|
M |
src/compiler/arm64/instruction-codes-arm64.h
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/arm64/instruction-selector-arm64.cc
|
View
|
1
2
3
|
1 chunk |
+72 lines, -50 lines |
0 comments
|
Download
|
|
M |
src/compiler/code-generator.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/code-generator-impl.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/ia32/code-generator-ia32.cc
|
View
|
1
2
3
|
3 chunks |
+58 lines, -18 lines |
0 comments
|
Download
|
|
M |
src/compiler/ia32/instruction-codes-ia32.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/ia32/instruction-selector-ia32.cc
|
View
|
1
2
3
|
1 chunk |
+75 lines, -52 lines |
0 comments
|
Download
|
|
M |
src/compiler/instruction-codes.h
|
View
|
1
2
3
|
1 chunk |
+36 lines, -31 lines |
0 comments
|
Download
|
|
M |
src/compiler/machine-operator.h
|
View
|
|
1 chunk |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/machine-operator.cc
|
View
|
|
4 chunks |
+29 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/compiler/mips/code-generator-mips.cc
|
View
|
1
2
3
|
3 chunks |
+60 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/compiler/mips/instruction-codes-mips.h
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/mips/instruction-selector-mips.cc
|
View
|
1
2
3
|
1 chunk |
+66 lines, -44 lines |
0 comments
|
Download
|
|
M |
src/compiler/mips64/code-generator-mips64.cc
|
View
|
1
2
3
4
|
3 chunks |
+60 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/compiler/mips64/instruction-codes-mips64.h
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/mips64/instruction-selector-mips64.cc
|
View
|
1
2
3
|
1 chunk |
+69 lines, -47 lines |
0 comments
|
Download
|
|
M |
src/compiler/simplified-lowering.cc
|
View
|
|
2 chunks |
+28 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/x64/code-generator-x64.cc
|
View
|
1
2
3
|
3 chunks |
+58 lines, -18 lines |
1 comment
|
Download
|
|
M |
src/compiler/x64/instruction-codes-x64.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/x64/instruction-selector-x64.cc
|
View
|
1
2
3
|
1 chunk |
+72 lines, -49 lines |
0 comments
|
Download
|
|
M |
src/heap/heap.cc
|
View
|
1
2
|
1 chunk |
+9 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/types.h
|
View
|
|
1 chunk |
+30 lines, -28 lines |
0 comments
|
Download
|
Total messages: 12 (3 generated)
|