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

Issue 7634022: Insert representation changes before doing range analysis. (Closed)

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

Description

Insert representation changes before doing range analysis and fix a bug in Range::Copy. This improves our static type information by calculating the result type of conversions (HChange) during range analysis. It allows e.g. to eliminate the write barrier in the following example where it was not possible before: function f(x) { var y = x + 1; if (y > 0 && y < 100) { a[0] = y; } } * Fix bug in Range::Copy. The minus-zero flags has to be preserved by default. Committed: http://code.google.com/p/v8/source/detail?r=8994

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+30 lines, -11 lines) Patch
M src/hydrogen.cc View 1 1 chunk +2 lines, -2 lines 2 comments Download
M src/hydrogen-instructions.h View 1 4 chunks +13 lines, -9 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 5 chunks +15 lines, -0 lines 2 comments Download

Messages

Total messages: 3 (0 generated)
fschneider
9 years, 4 months ago (2011-08-22 12:07:09 UTC) #1
Vyacheslav Egorov (Chromium)
LGTM with comments addressed. http://codereview.chromium.org/7634022/diff/4001/src/hydrogen-instructions.cc File src/hydrogen-instructions.cc (right): http://codereview.chromium.org/7634022/diff/4001/src/hydrogen-instructions.cc#newcode886 src/hydrogen-instructions.cc:886: return input_range != NULL ? ...
9 years, 4 months ago (2011-08-22 12:53:30 UTC) #2
fschneider
9 years, 4 months ago (2011-08-23 07:36:10 UTC) #3
http://codereview.chromium.org/7634022/diff/4001/src/hydrogen-instructions.cc
File src/hydrogen-instructions.cc (right):

http://codereview.chromium.org/7634022/diff/4001/src/hydrogen-instructions.cc...
src/hydrogen-instructions.cc:886: return input_range != NULL ?
input_range->Copy() : HValue::InferRange();
On 2011/08/22 12:53:31, Vyacheslav Egorov wrote:
> It seems that if we are converting to integer type we can clear minus zero
from
> resulting range.

Done.

http://codereview.chromium.org/7634022/diff/4001/src/hydrogen.cc
File src/hydrogen.cc (right):

http://codereview.chromium.org/7634022/diff/4001/src/hydrogen.cc#newcode2328
src/hydrogen.cc:2328: graph()->InsertRepresentationChanges();
On 2011/08/22 12:53:31, Vyacheslav Egorov wrote:
> InsertRepresentationChange depends on kDeoptimizeOnUndefined flag which is
> propagated in MarkDeoptimizeOnUndefined phase.

Done.

Powered by Google App Engine
This is Rietveld 408576698