|
Fix deoptimization address patching in Turbofan to use safepoints.
Since the deopt patch address needs to be available during GC to
resolve safepoints, we need to move it to the code object (instead of
the deoptimization input data) - accessing a separate fixed array
is not safe during GC. This CL adds a deoptimization_pc field to
each safepoint. The fields points to the deoptimization block.
The CL also fixes wrong register allocator constraints for
frame states on calls. These should always live on the stack
because registers are not preserved during a call.
BUG=
R=bmeurer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=23334
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+158 lines, -185 lines) |
Patch |
|
M |
src/arm/lithium-codegen-arm.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/arm64/lithium-codegen-arm64.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/code-generator.h
|
View
|
|
3 chunks |
+10 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/compiler/code-generator.cc
|
View
|
1
|
7 chunks |
+43 lines, -22 lines |
0 comments
|
Download
|
|
M |
src/compiler/instruction-selector.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/deoptimizer.cc
|
View
|
|
3 chunks |
+4 lines, -20 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-codegen-ia32.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/mips/lithium-codegen-mips.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/mips64/lithium-codegen-mips64.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
|
6 chunks |
+15 lines, -54 lines |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
|
4 chunks |
+13 lines, -44 lines |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
|
1 chunk |
+3 lines, -13 lines |
0 comments
|
Download
|
|
M |
src/safepoint-table.h
|
View
|
1
2
|
9 chunks |
+49 lines, -9 lines |
0 comments
|
Download
|
|
M |
src/safepoint-table.cc
|
View
|
|
5 chunks |
+7 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-codegen-x64.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/x87/lithium-codegen-x87.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-codegen-deopt.cc
|
View
|
|
1 chunk |
+6 lines, -5 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/mjsunit.status
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
Total messages: 3 (0 generated)
|