Sorry I should make the motivation clear. I am addressing your comment at
https://codereview.chromium.org/21014003/patch/17001/18010. When I used "the
passing the stub-call label always" approach for 31-bit SMI, I found 33 fails for this part of code as the SmiAddConstant and SmiSubConstant in the code are used for both SMI and HeapNumber. For 31-bit SMI, I did not check HeapNumber, and the result will be signed extend to 64 bit if no overflow and this destroy the HeapNumber. The main purpose of this CL is to make sure SmiAddConstant and
SmiSubConstant only operate on SMI, no HeapNumber. The original code is very
clever and utilizes several facts to make the inlined SMI operation minimal
inside a loop. So I tried hard to keep the origin spirit.

If having more compact code is more important, maybe we could remove the begging
JumpIfSmi as now ToNumberStub is a hydrogen stub, for SMI, the overhead is a
call than the current code.


https://codereview.chromium.org/22935005/

--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to