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

Issue 6366003: Port new version of ParallelMove's LGapResolver to X64. (Closed)

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

Description

Port new version of ParallelMove's LGapResolver to X64. Committed: http://code.google.com/p/v8/source/detail?r=6452

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 13
Unified diffs Side-by-side diffs Delta from patch set Stats (+419 lines, -269 lines) Patch
M src/SConscript View 1 1 chunk +2 lines, -1 line 0 comments Download
M src/ia32/lithium-gap-resolver-ia32.cc View 1 1 chunk +2 lines, -6 lines 2 comments Download
M src/x64/lithium-codegen-x64.h View 1 5 chunks +16 lines, -31 lines 2 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 chunks +1 line, -231 lines 0 comments Download
A src/x64/lithium-gap-resolver-x64.h View 1 1 chunk +74 lines, -0 lines 0 comments Download
A src/x64/lithium-gap-resolver-x64.cc View 1 1 chunk +322 lines, -0 lines 9 comments Download
M tools/gyp/v8.gyp View 1 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
William Hesse
9 years, 11 months ago (2011-01-24 13:59:47 UTC) #1
Kevin Millikin (Chromium)
LGTM. Some small comments, mostly comments that need to be updated. http://codereview.chromium.org/6366003/diff/8001/src/ia32/lithium-gap-resolver-ia32.cc File src/ia32/lithium-gap-resolver-ia32.cc (right): ...
9 years, 11 months ago (2011-01-24 14:57:12 UTC) #2
William Hesse
9 years, 11 months ago (2011-01-26 10:05:57 UTC) #3
http://codereview.chromium.org/6366003/diff/8001/src/ia32/lithium-gap-resolve...
File src/ia32/lithium-gap-resolver-ia32.cc (right):

http://codereview.chromium.org/6366003/diff/8001/src/ia32/lithium-gap-resolve...
src/ia32/lithium-gap-resolver-ia32.cc:35: : cgen_(owner), moves_(32),
source_uses_(), destination_uses_(),
On 2011/01/24 14:57:12, Kevin Millikin wrote:
> I prefer treating the initializers like arguments in declarations (breaking
one
> per line if they don't all fit on one line):
> 
>     : cgen_(owner),
>       moves_(32),
>       source_uses_(),
>       // ...

Done.

http://codereview.chromium.org/6366003/diff/8001/src/x64/lithium-codegen-x64.h
File src/x64/lithium-codegen-x64.h (right):

http://codereview.chromium.org/6366003/diff/8001/src/x64/lithium-codegen-x64....
src/x64/lithium-codegen-x64.h:44: class LGapNode;
On 2011/01/24 14:57:12, Kevin Millikin wrote:
> No need for this forward declaration anymore.

Done.

http://codereview.chromium.org/6366003/diff/8001/src/x64/lithium-gap-resolver...
File src/x64/lithium-gap-resolver-x64.cc (right):

http://codereview.chromium.org/6366003/diff/8001/src/x64/lithium-gap-resolver...
src/x64/lithium-gap-resolver-x64.cc:248: // Register-memory.  Use a free
register as a temp if possible.  Do not
On 2011/01/24 14:57:12, Kevin Millikin wrote:
> Update the comment so it doesn't mention the spill on demand trick of IA32. 
> Just say you'll use on kScratchRegister.

Done.

http://codereview.chromium.org/6366003/diff/8001/src/x64/lithium-gap-resolver...
src/x64/lithium-gap-resolver-x64.cc:258: } else if (source->IsStackSlot() &&
destination->IsStackSlot()) {
On 2011/01/24 14:57:12, Kevin Millikin wrote:
> This case could be
> 
> } else if ((source->IsStackSlot() && destination->IsStackSlot()) ||
>            (source->IsDoubleStackSlot() && destination->IsDoubleStackSlot()))
{

Done.

http://codereview.chromium.org/6366003/diff/8001/src/x64/lithium-gap-resolver...
src/x64/lithium-gap-resolver-x64.cc:276: if (other->IsDoubleRegister()) {
On 2011/01/24 14:57:12, Kevin Millikin wrote:
> I think this case (double register/double register) would be clearer if you
had
> before this:
> 
> } else if (source->IsDoubleRegister() && destination->IsDoubleRegister()) {
>   ... 
> } else if ...  // double register/memory cases.

Done.

http://codereview.chromium.org/6366003/diff/8001/src/x64/lithium-gap-resolver...
src/x64/lithium-gap-resolver-x64.cc:289: // Double-width memory-to-memory. 
Spill on demand to use a general
On 2011/01/24 14:57:12, Kevin Millikin wrote:
> If you don't move this to share the other memory/memory case, update the
comment
> here because you don't spill on demand.

Done.

Powered by Google App Engine
This is Rietveld 408576698