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

Issue 13344: Merge virtual frames by copying registers to registers.... (Closed)

Created:
12 years ago by William Hesse
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Merge virtual frames by copying registers to registers.

Patch Set 1 #

Total comments: 29

Patch Set 2 : '' #

Patch Set 3 : '' #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+65 lines, -6 lines) Patch
M src/virtual-frame-ia32.h View 1 2 1 chunk +9 lines, -0 lines 0 comments Download
M src/virtual-frame-ia32.cc View 1 2 2 chunks +56 lines, -6 lines 6 comments Download

Messages

Total messages: 8 (0 generated)
William Hesse
This is now separated from the changes to VisitCompare. The register-to-register part of MergeTo, implemented ...
12 years ago (2008-12-10 16:17:55 UTC) #1
Kevin Millikin (Chromium)
I haven't looked at the code it generates yet. Lots of formatting suggestions. http://codereview.chromium.org/13344/diff/1/2 File ...
12 years ago (2008-12-10 17:27:06 UTC) #2
iposva
On top of the comments I have made here I think that this class is ...
12 years ago (2008-12-11 08:25:52 UTC) #3
William Hesse
OK, all changes made. http://codereview.chromium.org/13344/diff/1/2 File src/virtual-frame-ia32.cc (right): http://codereview.chromium.org/13344/diff/1/2#newcode423 Line 423: // Then register-to-register moves, ...
12 years ago (2008-12-11 13:32:04 UTC) #4
Kevin Millikin (Chromium)
LGTM. Wait and see if Ivan has any comments on the register-to-register move stuff.
12 years ago (2008-12-11 15:36:58 UTC) #5
iposva
LGTM http://codereview.chromium.org/13344/diff/208/12 File src/virtual-frame-ia32.cc (right): http://codereview.chromium.org/13344/diff/208/12#newcode538 Line 538: end = last_move_blocked; This is potentially a ...
12 years ago (2008-12-12 18:13:03 UTC) #6
Kevin Millikin (Chromium)
LGTM with the sync state bug fixed. http://codereview.chromium.org/13344/diff/208/12 File src/virtual-frame-ia32.cc (right): http://codereview.chromium.org/13344/diff/208/12#newcode504 Line 504: !target.reg().is(source.reg())) ...
12 years ago (2008-12-14 13:05:04 UTC) #7
William Hesse
12 years ago (2008-12-15 13:43:59 UTC) #8
Committed as revision 979.

http://codereview.chromium.org/13344/diff/208/12
File src/virtual-frame-ia32.cc (right):

http://codereview.chromium.org/13344/diff/208/12#newcode504
Line 504: !target.reg().is(source.reg())) {
On 2008/12/14 13:05:04, Kevin Millikin wrote:
> As we discussed, the source and targets could be the same register but with
> different sync states.  In that case, the source's sync bit may need to be
> cleared, or a move generated to set the target's sync bit.

Done.

http://codereview.chromium.org/13344/diff/208/12#newcode526
Line 526: SyncElementAt(i);
On 2008/12/14 13:05:04, Kevin Millikin wrote:
> It seems better to call sync (which will work on the source register) before
> changing the reference counts to reflect the transfer.

Done.

http://codereview.chromium.org/13344/diff/208/12#newcode538
Line 538: end = last_move_blocked;
On 2008/12/12 18:13:03, iposva wrote:
> This is potentially a premature optimization. These stacks should never be
very
> large to start with.

You are right.  But should we actually remove it?  The locals could be big. 
Some people are passing big arrays as argument arrays.  Are they on the frame? 
Not removed, for now.

Powered by Google App Engine
This is Rietveld 408576698