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

Issue 6596104: X64: implement DoHasCachedArrayIndex in lithium compiler. (Closed)

Created:
9 years, 9 months ago by Rico
Modified:
9 years, 6 months ago
Reviewers:
Lasse Reichstein
CC:
v8-dev
Visibility:
Public.

Description

X64: implement DoHasCachedArrayIndex in lithium compiler. Committed: http://code.google.com/p/v8/source/detail?r=7015

Patch Set 1 #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+14 lines, -3 lines) Patch
M src/x64/lithium-codegen-x64.cc View 1 chunk +11 lines, -1 line 4 comments Download
M src/x64/lithium-x64.cc View 1 chunk +3 lines, -2 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Rico
9 years, 9 months ago (2011-03-02 09:44:46 UTC) #1
Lasse Reichstein
LGTM http://codereview.chromium.org/6596104/diff/1/src/x64/lithium-codegen-x64.cc File src/x64/lithium-codegen-x64.cc (right): http://codereview.chromium.org/6596104/diff/1/src/x64/lithium-codegen-x64.cc#newcode1641 src/x64/lithium-codegen-x64.cc:1641: Immediate(String::kContainsCachedArrayIndexMask)); Indentation. http://codereview.chromium.org/6596104/diff/1/src/x64/lithium-codegen-x64.cc#newcode1644 src/x64/lithium-codegen-x64.cc:1644: __ LoadRoot(result, Heap::kFalseValueRootIndex); Could ...
9 years, 9 months ago (2011-03-02 09:59:07 UTC) #2
Rico
9 years, 9 months ago (2011-03-02 10:12:15 UTC) #3
http://codereview.chromium.org/6596104/diff/1/src/x64/lithium-codegen-x64.cc
File src/x64/lithium-codegen-x64.cc (right):

http://codereview.chromium.org/6596104/diff/1/src/x64/lithium-codegen-x64.cc#...
src/x64/lithium-codegen-x64.cc:1641:
Immediate(String::kContainsCachedArrayIndexMask));
On 2011/03/02 09:59:07, Lasse Reichstein wrote:
> Indentation.

Done.

http://codereview.chromium.org/6596104/diff/1/src/x64/lithium-codegen-x64.cc#...
src/x64/lithium-codegen-x64.cc:1644: __ LoadRoot(result,
Heap::kFalseValueRootIndex);
On 2011/03/02 09:59:07, Lasse Reichstein wrote:
> Could we do just one computed load from the root array here?
> E.g.
>   ASSERT(Heap::kTrueValueRootIndex + 1 == Heap::kFalseValueRootIndex);
>   __ setcc(zero, result);
>   __ movzxbl(result, result);
>   __ LoadRoot(result, result, Heap::kTrueValueRootIndex);
> 
> (adding a 
>   void LoadRoot(Register dst, Register dynIdx, int idx) {
>     __ movq(dst, Operand(kRootRegister, dynIdx, times_pointer_size, idx *
> kPointerSize);
>   }
> if it's not there already).
> 
> I think we use similar code elsewhere.

As discussed offline this will not really have any effect here, leaving it as is
to be consistent with the remainder of the lithium instructions.

Powered by Google App Engine
This is Rietveld 408576698