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

Issue 7105015: Eagerly deoptimize on never-executed code-paths. (Closed)

Created:
9 years, 6 months ago by fschneider
Modified:
9 years, 6 months ago
Reviewers:
danno
CC:
v8-dev
Visibility:
Public.

Description

Eagerly deoptimize on never-executed code-paths. If type-feedback indicates that an expression was never executed in the non-optimized code, we insert a forced deoptimization right away to enable re-optimization if we ever hit this path. With this change we still continue to build the graph. As a next step, we should remove the dead code after the deoptimize. I had to remove one assert about the optimization status in a test since we now immediately deoptimize after exiting the loop that triggers OSR. Also remove a restriction that control-flow from an inlined function in a test context always reaches both true- and false-target. Committed: http://code.google.com/p/v8/source/detail?r=8140

Patch Set 1 #

Total comments: 2

Patch Set 2 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+119 lines, -55 lines) Patch
M src/arm/lithium-arm.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M src/hydrogen.h View 1 1 chunk +0 lines, -4 lines 0 comments Download
M src/hydrogen.cc View 1 9 chunks +80 lines, -45 lines 0 comments Download
M src/hydrogen-instructions.h View 1 3 chunks +12 lines, -0 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 1 chunk +10 lines, -0 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M src/type-info.cc View 1 2 chunks +2 lines, -4 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M test/mjsunit/regress/regress-1118.js View 1 1 chunk +0 lines, -2 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
fschneider
9 years, 6 months ago (2011-06-01 09:41:38 UTC) #1
danno
LGTM with my suggested renaming :-) http://codereview.chromium.org/7105015/diff/1/src/hydrogen-instructions.h File src/hydrogen-instructions.h (right): http://codereview.chromium.org/7105015/diff/1/src/hydrogen-instructions.h#newcode99 src/hydrogen-instructions.h:99: V(EagerDeoptimize) \ My ...
9 years, 6 months ago (2011-06-01 10:11:27 UTC) #2
fschneider
9 years, 6 months ago (2011-06-01 11:04:48 UTC) #3
http://codereview.chromium.org/7105015/diff/1/src/hydrogen-instructions.h
File src/hydrogen-instructions.h (right):

http://codereview.chromium.org/7105015/diff/1/src/hydrogen-instructions.h#new...
src/hydrogen-instructions.h:99: V(EagerDeoptimize)                           \
On 2011/06/01 10:11:27, danno wrote:
> My gut feeling is that  Eager vs. Lazy isn't the right distinction. I think I
> would prefer this to be a "SoftDeoptimize" and the other one to be explicitly
a
> "HardDeoptimize". 

Done.

Powered by Google App Engine
This is Rietveld 408576698