Perhaps the comments can be clarified around the SHR non-Smi result. It seems a
little hard to understand right now and it's not obvious to me that it's
correct.

Otherwise LGTM.


http://codereview.chromium.org/3247008/diff/1/3
File src/arm/codegen-arm.cc (right):

http://codereview.chromium.org/3247008/diff/1/3#newcode975
src/arm/codegen-arm.cc:975: SaveRegisters();  // currently does nothing.
Capitalize comments.

http://codereview.chromium.org/3247008/diff/1/3#newcode1149
src/arm/codegen-arm.cc:1149: // Check that the *signed* result fits in a
smi.
You don't need this for AND or for the SAR if the shift is more than 0.

http://codereview.chromium.org/3247008/diff/1/3#newcode1185
src/arm/codegen-arm.cc:1185: // >>> 0 is the only case where the Smi is
tagged.
We can get here by two routes.  Either a Smi >>> 0 or a non-Smi >>> 0 or
1.  The comment looks wrong and the code may be too?

http://codereview.chromium.org/3247008/diff/1/3#newcode1487
src/arm/codegen-arm.cc:1487: // Smi tagging these two cases can only
happen with shifts
Smi tagging?  I think you mean Smi overflow.

http://codereview.chromium.org/3247008/diff/1/4
File src/arm/macro-assembler-arm.cc (right):

http://codereview.chromium.org/3247008/diff/1/4#newcode1355
src/arm/macro-assembler-arm.cc:1355: cmp(dest, Operand(LONG_MIN), ne);
I wonder if it would be better to add a fudge factor and then do an
unsigned comparison with 2?  Conditional cmp seems like a tough
instruction for the CPU.

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

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

Reply via email to