|
[turbofan] Initial version of allocation folding and write barrier elimination.
This adds a new pass MemoryOptimizer that walks over the effect chain
from Start and lowers all Allocate, LoadField, StoreField, LoadElement,
and StoreElement nodes, trying to fold allocations into allocation
groups and eliminate write barriers on StoreField and StoreElement if
possible (i.e. if the object belongs to the current allocation group and
that group allocates in new space).
R=hpayer@chromium.org, jarin@chromium.org
BUG= v8:4931, chromium:580959
LOG=n
Committed: https://crrev.com/b8229ec446b80fd3ff9a08362fe1cef36e9d8346
Cr-Commit-Position: refs/heads/master@{#36128}
Total comments: 8
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+707 lines, -712 lines) |
Patch |
|
M |
BUILD.gn
|
View
|
|
6 chunks |
+8 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/arm/builtins-arm.cc
|
View
|
|
2 chunks |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/arm64/builtins-arm64.cc
|
View
|
|
2 chunks |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/code-factory.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/code-factory.cc
|
View
|
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/code-stubs.h
|
View
|
|
2 chunks |
+0 lines, -13 lines |
0 comments
|
Download
|
|
M |
src/code-stubs.cc
|
View
|
|
2 chunks |
+0 lines, -16 lines |
0 comments
|
Download
|
|
D |
src/compiler/change-lowering.h
|
View
|
|
1 chunk |
+0 lines, -52 lines |
0 comments
|
Download
|
|
D |
src/compiler/change-lowering.cc
|
View
|
|
1 chunk |
+0 lines, -186 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-create-lowering.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/js-create-lowering.cc
|
View
|
|
2 chunks |
+14 lines, -19 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-generic-lowering.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-native-context-specialization.cc
|
View
|
|
1 chunk |
+12 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/compiler/linkage.h
|
View
|
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
A |
src/compiler/memory-optimizer.h
|
View
|
1
|
1 chunk |
+149 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/compiler/memory-optimizer.cc
|
View
|
1
|
1 chunk |
+494 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/pipeline.cc
|
View
|
|
6 chunks |
+15 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/heap/spaces.cc
|
View
|
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/ia32/builtins-ia32.cc
|
View
|
|
2 chunks |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/interface-descriptors.h
|
View
|
|
2 chunks |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/interface-descriptors.cc
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/mips/builtins-mips.cc
|
View
|
|
2 chunks |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/mips64/builtins-mips64.cc
|
View
|
|
2 chunks |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/ppc/builtins-ppc.cc
|
View
|
|
2 chunks |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/s390/builtins-s390.cc
|
View
|
|
2 chunks |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/v8.gyp
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/x64/builtins-x64.cc
|
View
|
|
2 chunks |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/x87/builtins-x87.cc
|
View
|
|
2 chunks |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-simplified-lowering.cc
|
View
|
|
3 chunks |
+5 lines, -12 lines |
0 comments
|
Download
|
|
D |
test/unittests/compiler/change-lowering-unittest.cc
|
View
|
|
1 chunk |
+0 lines, -276 lines |
0 comments
|
Download
|
|
M |
test/unittests/unittests.gyp
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
Total messages: 15 (5 generated)
|