|
[interpreter] Add explicit OSR polling bytecode.
This adds an explicit {OsrPoll} bytecode into every loop header which
triggers on-stack replacement when armed. Note that each such bytecode
stores the static loop depths as an operand, and hence can be armed for
specific loop depths.
This also adds builtin code that triggers OSR compilation and switches
execution over to optimized code in case compilation succeeds. In case
compilation fails, the bytecode dispatch just continues unhindered.
R=rmcilroy@chromium.org
TEST=mjsunit/ignition/osr-from-bytecode
BUG= v8:4764
Committed: https://crrev.com/a55beb68e0ededb3773affa294a71edc50621458
Cr-Commit-Position: refs/heads/master@{#38043}
Total comments: 10
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+292 lines, -45 lines) |
Patch |
|
M |
src/builtins/arm/builtins-arm.cc
|
View
|
1
|
4 chunks |
+24 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/builtins/arm64/builtins-arm64.cc
|
View
|
1
|
3 chunks |
+24 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/builtins/builtins.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/builtins/ia32/builtins-ia32.cc
|
View
|
1
|
3 chunks |
+24 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/builtins/mips/builtins-mips.cc
|
View
|
1
|
3 chunks |
+24 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/builtins/mips64/builtins-mips64.cc
|
View
|
1
|
3 chunks |
+24 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/builtins/x64/builtins-x64.cc
|
View
|
|
3 chunks |
+24 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/code-factory.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/code-factory.cc
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/bytecode-graph-builder.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/code-assembler.h
|
View
|
1
2
3
4
5
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/code-assembler.cc
|
View
|
1
2
3
4
|
1 chunk |
+13 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-array-builder.h
|
View
|
1
2
3
4
5
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-array-builder.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-generator.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecodes.h
|
View
|
1
2
3
4
5
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/interpreter.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+26 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/interpreter-assembler.h
|
View
|
1
2
3
4
5
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/interpreter-assembler.cc
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-compiler.cc
|
View
|
|
2 chunks |
+54 lines, -20 lines |
0 comments
|
Download
|
|
A + |
test/mjsunit/ignition/osr-from-bytecode.js
|
View
|
1
|
1 chunk |
+3 lines, -7 lines |
0 comments
|
Download
|
|
M |
test/unittests/interpreter/bytecode-array-builder-unittest.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
Dependent Patchsets:
Total messages: 30 (22 generated)
|