|
Clear optimized code cache in shared function info when code gets deoptimized.
This adds a pointer to the shared function info into deoptimization data of an optimized code. Whenever the code is deoptimized, it clears the cache in the shared function info.
This fixes the problem when the optimized function dies in new space GC before the code is deoptimized due to code dependency and before the optimized code cache is cleared in old space GC (see mjsunit/regress/regress-343609.js).
This partially reverts r19603 because we need to be able to evict specific code from the optimized code cache.
BUG= 343609
LOG=Y
TEST=mjsunit/regress/regress-343609.js
R=yangguo@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=19635
Total comments: 5
Total comments: 2
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+166 lines, -55 lines) |
Patch |
|
M |
src/a64/deoptimizer-a64.cc
|
View
|
1
2
|
1 chunk |
+5 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/a64/lithium-codegen-a64.cc
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/deoptimizer-arm.cc
|
View
|
1
2
|
1 chunk |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/arm/lithium-codegen-arm.cc
|
View
|
1
2
3
4
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler.cc
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
|
M |
src/deoptimizer.cc
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/factory.cc
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/deoptimizer-ia32.cc
|
View
|
1
2
|
2 chunks |
+5 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-codegen-ia32.cc
|
View
|
1
2
3
4
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/mips/deoptimizer-mips.cc
|
View
|
1
2
|
1 chunk |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/mips/lithium-codegen-mips.cc
|
View
|
1
2
3
4
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
|
3 chunks |
+5 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
|
1 chunk |
+25 lines, -29 lines |
2 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/runtime.cc
|
View
|
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/x64/deoptimizer-x64.cc
|
View
|
1
2
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-codegen-x64.cc
|
View
|
1
2
3
4
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/cctest/test-heap.cc
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
A |
test/mjsunit/regress/regress-343609.js
|
View
|
1
2
3
|
1 chunk |
+66 lines, -0 lines |
0 comments
|
Download
|
Total messages: 7 (0 generated)
|