|
[Interpreter] Optimize the Register Optimizer.
Modify the Bytecode Register Optimizer to be an independent component
rather than part of the BytecodePipeline. This means the BytecodeArrayBuilder
can explicitly call it with register operands when outputting a bytecode
and the Bytecode Register Optimizer doesn't need to work out which operands
are register operands. This also means we don't need to build BytecodeNodes
for Ldar / Star / Mov bytecodes unless they are actually emitted by the
optimizer.
This change also modifies the way the BytecodeArrayBuilder converts
operands to make use of the OperandTypes specified in bytecodes.h.
This avoids having to individually convert operands to their raw output
value before calling Output(...).
BUG= v8:4280
Committed: https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96
Cr-Commit-Position: refs/heads/master@{#40543}
Total comments: 17
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+615 lines, -900 lines) |
Patch |
|
M |
src/interpreter/bytecode-array-builder.h
|
View
|
1
2
3
4
|
5 chunks |
+22 lines, -31 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-array-builder.cc
|
View
|
1
2
3
|
28 chunks |
+340 lines, -291 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-operands.h
|
View
|
1
2
3
4
|
2 chunks |
+7 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-peephole-optimizer.cc
|
View
|
1
2
3
|
6 chunks |
+6 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-pipeline.h
|
View
|
1
2
3
4
|
8 chunks |
+29 lines, -72 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-pipeline.cc
|
View
|
|
1 chunk |
+0 lines, -13 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-register-optimizer.h
|
View
|
1
2
3
4
|
4 chunks |
+58 lines, -46 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-register-optimizer.cc
|
View
|
1
2
3
4
|
6 chunks |
+42 lines, -219 lines |
0 comments
|
Download
|
|
M |
test/unittests/interpreter/bytecode-array-writer-unittest.cc
|
View
|
|
2 chunks |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
test/unittests/interpreter/bytecode-dead-code-optimizer-unittest.cc
|
View
|
|
4 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
|
M |
test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc
|
View
|
|
14 chunks |
+21 lines, -22 lines |
0 comments
|
Download
|
|
M |
test/unittests/interpreter/bytecode-pipeline-unittest.cc
|
View
|
|
2 chunks |
+10 lines, -19 lines |
0 comments
|
Download
|
|
M |
test/unittests/interpreter/bytecode-register-optimizer-unittest.cc
|
View
|
1
|
3 chunks |
+64 lines, -132 lines |
0 comments
|
Download
|
|
M |
test/unittests/interpreter/bytecodes-unittest.cc
|
View
|
|
1 chunk |
+4 lines, -32 lines |
0 comments
|
Download
|
Total messages: 31 (21 generated)
|