Performance is approx. the same (~0.2% increase on V8 benchmark suite).

http://codereview.chromium.org/196077/diff/1/5
File src/x64/builtins-x64.cc (right):

http://codereview.chromium.org/196077/diff/1/5#newcode358
Line 358: __ PositiveSmiTimesPowerOfTwoToInteger64(rdx, rdx,
kPointerSizeLog2);
It should not assume anything except that rdx contains a positive smi.
If any code above makes assumptions on the representation of a smi, it
should be changed.

This should be __PositiveSmi...er64(rdx, rax, ...) and omit the mov
before.

http://codereview.chromium.org/196077/diff/1/6
File src/x64/codegen-x64.cc (right):

http://codereview.chromium.org/196077/diff/1/6#newcode727
Line 727: Condition is_smi = masm_->CheckSmi(receiver.reg());
I thought about inlining the CheckSmi call in the branch, but didn't
like to have an argument computation with side effects (it emits code).

I have avoided extending JumpTarget, but it would make sense to have a
few frequently used branch types directly on the JumpTarget (and perhaps
on deferred code too).

http://codereview.chromium.org/196077/diff/1/6#newcode5390
Line 5390: __ SmiShiftLogicRightConstant(answer.reg(),
Will rename LogicRight into LogicalRight.

http://codereview.chromium.org/196077

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to