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

Issue 7003054: Fix bug with GVN on array loads. (Closed)

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

Description

Fix bug with GVN on array loads. This fixes a bug where an array load was incorrectly hoisted by GVN. BUG=85177 TEST=mjsunit/regress/regress-85177.js Committed: http://code.google.com/p/v8/source/detail?r=8230

Patch Set 1 #

Patch Set 2 : fixed ARM port #

Patch Set 3 : fixed lint errors #

Total comments: 6

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : fixed performance regression #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+108 lines, -16 lines) Patch
M src/hydrogen.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 8 chunks +40 lines, -13 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 5 3 chunks +2 lines, -2 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 2 3 4 5 1 chunk +0 lines, -1 line 2 comments Download
A test/mjsunit/regress/regress-85177.js View 1 chunk +65 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
fschneider
9 years, 6 months ago (2011-06-08 12:18:56 UTC) #1
Mads Ager (chromium)
LGTM! http://codereview.chromium.org/7003054/diff/5002/src/hydrogen-instructions.cc File src/hydrogen-instructions.cc (left): http://codereview.chromium.org/7003054/diff/5002/src/hydrogen-instructions.cc#oldcode1737 src/hydrogen-instructions.cc:1737: ASSERT(HasNoUses()); Maybe we can even assert that all ...
9 years, 6 months ago (2011-06-08 12:27:25 UTC) #2
fschneider
http://codereview.chromium.org/7003054/diff/5002/src/hydrogen-instructions.cc File src/hydrogen-instructions.cc (left): http://codereview.chromium.org/7003054/diff/5002/src/hydrogen-instructions.cc#oldcode1737 src/hydrogen-instructions.cc:1737: ASSERT(HasNoUses()); On 2011/06/08 12:27:25, Mads Ager wrote: > Maybe ...
9 years, 6 months ago (2011-06-08 12:33:54 UTC) #3
fschneider
Could you have another quick look at hydrogen.cc? I changed all the other places where ...
9 years, 6 months ago (2011-06-08 13:03:17 UTC) #4
Mads Ager (chromium)
Still LGTM. Thanks.
9 years, 6 months ago (2011-06-08 13:20:20 UTC) #5
fschneider
This patch set fixes the performance regression introduced by my first fix.
9 years, 6 months ago (2011-06-09 09:46:40 UTC) #6
Mads Ager (chromium)
LGTM http://codereview.chromium.org/7003054/diff/5004/src/hydrogen-instructions.cc File src/hydrogen-instructions.cc (left): http://codereview.chromium.org/7003054/diff/5004/src/hydrogen-instructions.cc#oldcode1737 src/hydrogen-instructions.cc:1737: ASSERT(HasNoUses()); It seemed like a very good idea ...
9 years, 6 months ago (2011-06-09 10:58:50 UTC) #7
fschneider
http://codereview.chromium.org/7003054/diff/5004/src/hydrogen-instructions.cc File src/hydrogen-instructions.cc (left): http://codereview.chromium.org/7003054/diff/5004/src/hydrogen-instructions.cc#oldcode1737 src/hydrogen-instructions.cc:1737: ASSERT(HasNoUses()); On 2011/06/09 10:58:50, Mads Ager wrote: > It ...
9 years, 6 months ago (2011-06-09 11:03:52 UTC) #8
Mads Ager (chromium)
9 years, 6 months ago (2011-06-09 11:12:00 UTC) #9
On 2011/06/09 11:03:52, fschneider wrote:
> http://codereview.chromium.org/7003054/diff/5004/src/hydrogen-instructions.cc
> File src/hydrogen-instructions.cc (left):
> 
>
http://codereview.chromium.org/7003054/diff/5004/src/hydrogen-instructions.cc...
> src/hydrogen-instructions.cc:1737: ASSERT(HasNoUses());
> On 2011/06/09 10:58:50, Mads Ager wrote:
> > It seemed like a very good idea to have the assert here. Why is it gone in
> this
> > change?
> 
> The problem is that HBoundsCheck does only have uses until we remove them in
the
> last phase of the graph builder, so I would need to say sth like
> 
> ASSERT(UseCount() > 0 || gvn_done)

Can we assert when replacing checks that they have uses at that point?

Powered by Google App Engine
This is Rietveld 408576698