http://codereview.chromium.org/2885018/diff/1/5
File src/x64/macro-assembler-x64.cc (right):

http://codereview.chromium.org/2885018/diff/1/5#newcode559
src/x64/macro-assembler-x64.cc:559: //imul(dst, kSmiConstantRegister,
Immediate(value));
Ack, yes.

http://codereview.chromium.org/2885018/diff/1/5#newcode727
src/x64/macro-assembler-x64.cc:727: // Make mask 0x8000000000000001 and
test that both bits are zero.
I used lea instead of movl(.., Immediate(3)) since the latter is
actually longer (the immediate must be 4 bytes).
I don't want to use more rotates than necessary (although concern for
the P4 might not be that necessary these days), and the second rotate
clobbers the flags from the src.

I think the first one is probably the best one.

http://codereview.chromium.org/2885018/diff/1/5#newcode775
src/x64/macro-assembler-x64.cc:775: cmpq(kScratchRegister, src);
Good one!

http://codereview.chromium.org/2885018/diff/1/5#newcode886
src/x64/macro-assembler-x64.cc:886: subq(src1, kScratchRegister);
The current version should be slightly better on an i7, due to cmp/j
macro-op fusion (sadly it doesn't exist on earlier chips in 64-bit
mode).

http://codereview.chromium.org/2885018/diff/1/9
File test/cctest/test-macro-assembler-x64.cc (right):

http://codereview.chromium.org/2885018/diff/1/9#newcode103
test/cctest/test-macro-assembler-x64.cc:103: __
pop(v8::internal::kSmiConstantRegister);
Sure.

http://codereview.chromium.org/2885018/show

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to