Reviewers: fschneider, antonm, Mads Ager,
Message:
In an effect context, we can visit the left-hand subexpression for its
control
flow and the right-hand subexpression for effect.
Description:
Fix a bug in deoptimization after logical expressions in an effect context.
When deoptimizing to after an expression of the form (expr0 || expr1)
or (expr0 && expr1) in an effect context, the unoptimized code could
incorrectly see the value of the expression.
Handle the short-circuit binary operators specially in effect contexts.
This fixes the issue and will generate better code when the left
subexpression is boolean-valued.
BUG=v8:1166
Please review this at http://codereview.chromium.org/6519046/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/hydrogen.h
M src/hydrogen.cc
A test/mjsunit/regress/regress-1166.js
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev