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

Issue 6568004: X64 Crankshaft: Add Typeof and TypeofIs to x64 lithium. (Closed)

Created:
9 years, 10 months ago by William Hesse
Modified:
9 years, 7 months ago
Reviewers:
Lasse Reichstein
CC:
v8-dev
Visibility:
Public.

Description

X64 Crankshaft: Add Typeof and TypeofIs to x64 lithium. Fix presubmit. Committed: http://code.google.com/p/v8/source/detail?r=6912

Patch Set 1 #

Total comments: 1

Patch Set 2 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+73 lines, -48 lines) Patch
M src/flag-definitions.h View 1 1 chunk +2 lines, -2 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 3 chunks +68 lines, -42 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 1 chunk +3 lines, -4 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
William Hesse
ConstructCall functions are just moved below EmitTypeOf functions.
9 years, 10 months ago (2011-02-23 10:36:34 UTC) #1
Lasse Reichstein
LGTM http://codereview.chromium.org/6568004/diff/1/src/x64/lithium-codegen-x64.cc File src/x64/lithium-codegen-x64.cc (right): http://codereview.chromium.org/6568004/diff/1/src/x64/lithium-codegen-x64.cc#newcode3207 src/x64/lithium-codegen-x64.cc:3207: __ LoadRoot(result, Heap::kTrueValueRootIndex); Would it be faster to ...
9 years, 10 months ago (2011-02-23 11:22:36 UTC) #2
William Hesse
9 years, 10 months ago (2011-02-23 11:27:51 UTC) #3
On 2011/02/23 11:22:36, Lasse Reichstein wrote:
> LGTM
> 
> http://codereview.chromium.org/6568004/diff/1/src/x64/lithium-codegen-x64.cc
> File src/x64/lithium-codegen-x64.cc (right):
> 

We do this at some other place, but, since the Typeof code is based
on jumps, it does not help much here.
>
http://codereview.chromium.org/6568004/diff/1/src/x64/lithium-codegen-x64.cc#...
> src/x64/lithium-codegen-x64.cc:3207: __ LoadRoot(result,
> Heap::kTrueValueRootIndex);
> Would it be faster to make a macro for loading true/false that uses the fact
> that they are adjacent in the root array?
> I.e., something like
> 
>  setcc(condition, kScratchRegister);
>  movzxbl(kScratchRegister, kScratchRegister);
>  movq(result, Operand(kRootRegister, kScratchRegister, times_pointer_size,
> Heap::kTrueValueRootIndex * kPointerSize);
> 
> That would avoid the conditional jumps (which, in this case, wouldn't help us
> since the EmitTypeofIs already uses labels for control, so that would need to
be
> changed too).

Powered by Google App Engine
This is Rietveld 408576698