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 -~----------~----~----~----~------~----~------~--~---
