I guess you're still working on a different approach, so I'll hold off
an a real code review.


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

http://codereview.chromium.org/56151/diff/1/3#newcode4705
Line 4705: if (!is_postfix_) {  // Undo the optimistic SMI increment.
I think we normally just write "smi".  It's not an acronym.

http://codereview.chromium.org/56151/diff/1/3#newcode4707
Line 4707: frame->Spill(value.reg());  // Is this needed?
I don't think it is needed.  You could assert that the register's count
is 1.  Spill(Register) has an early bailout for not occurring in the
frame, so it's OK to leave it in.

http://codereview.chromium.org/56151/diff/1/3#newcode4775
Line 4775: value.ToRegister();
Maybe this is too eager (at least, if we think the setcc stuff that
follows is an optimization).  If the value is a constant, we might be
putting it in the last byte register which inhibits the optimization.
OTOH, delaying may cause a spill and missing the optimization doesn't.

As a separate change, we should preform the operation at compile time if
the value is a constant smi.

http://codereview.chromium.org/56151/diff/1/3#newcode4776
Line 4776: ASSERT(value.is_valid());
No need for this after ToRegister.

http://codereview.chromium.org/56151

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

Reply via email to