|
Avoid handle dereference during graph optimization.
With parallel recompilation enabled, objects made accessible by handles may
have changed between graph construction and graph optimization. Therefore
we must not assume that information on those objects remain the same between
those two phases. To police this, we forbid handle dereferencing during
graph optimization.
Exceptions to this rule are:
- Dereferencing the handle to obtain the raw location of the object. This
is safe since parallel recompilation acquires RelocationLock
- Some places that dereference the handle for a type check. These are checked
to be safe on a case-by-case basis.
R=jkummerow@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=13475
Total comments: 14
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+188 lines, -72 lines) |
Patch |
|
M |
src/arm/lithium-arm.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/lithium-arm.cc
|
View
|
|
2 chunks |
+3 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/arm/lithium-codegen-arm.cc
|
View
|
|
2 chunks |
+3 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/compiler.h
|
View
|
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler.cc
|
View
|
|
3 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/handles.h
|
View
|
1
2
|
3 chunks |
+34 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/handles-inl.h
|
View
|
1
2
|
2 chunks |
+41 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/hydrogen.h
|
View
|
|
1 chunk |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/hydrogen.cc
|
View
|
1
2
|
6 chunks |
+12 lines, -9 lines |
0 comments
|
Download
|
|
M |
src/hydrogen-instructions.h
|
View
|
1
2
|
14 chunks |
+32 lines, -16 lines |
0 comments
|
Download
|
|
M |
src/hydrogen-instructions.cc
|
View
|
1
2
|
4 chunks |
+19 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-codegen-ia32.cc
|
View
|
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-ia32.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-ia32.cc
|
View
|
|
3 chunks |
+5 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/isolate.h
|
View
|
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/isolate.cc
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-codegen-x64.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-x64.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-x64.cc
|
View
|
|
2 chunks |
+3 lines, -5 lines |
0 comments
|
Download
|
Total messages: 4 (0 generated)
|