Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2036)

Issue 12049012: Avoid handle dereference during graph optimization. (Closed)

Created:
7 years, 11 months ago by Yang
Modified:
7 years, 11 months ago
Reviewers:
Jakob Kummerow
CC:
v8-dev
Visibility:
Public.

Description

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

Patch Set 1 #

Patch Set 2 : #

Total comments: 14

Patch Set 3 : addressed comments #

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

Messages

Total messages: 4 (0 generated)
Yang
Please take a look.
7 years, 11 months ago (2013-01-22 12:08:47 UTC) #1
Jakob Kummerow
https://codereview.chromium.org/12049012/diff/2001/src/handles-inl.h File src/handles-inl.h (right): https://codereview.chromium.org/12049012/diff/2001/src/handles-inl.h#newcode183 src/handles-inl.h:183: active_ = !isolate->optimizing_compiler_thread()->IsOptimizerThread(); I'd appreciate a comment here, something ...
7 years, 11 months ago (2013-01-23 12:09:18 UTC) #2
Yang
Addressed comments. Please re-review :) https://codereview.chromium.org/12049012/diff/2001/src/handles-inl.h File src/handles-inl.h (right): https://codereview.chromium.org/12049012/diff/2001/src/handles-inl.h#newcode183 src/handles-inl.h:183: active_ = !isolate->optimizing_compiler_thread()->IsOptimizerThread(); On ...
7 years, 11 months ago (2013-01-23 13:34:25 UTC) #3
Jakob Kummerow
7 years, 11 months ago (2013-01-23 13:49:03 UTC) #4
lgtm

Powered by Google App Engine
This is Rietveld 408576698