As we discussed, it might be good to try to avoid calling to number via
the INC builtin, since we know we've called it.  We should also assess
whether the code growth due to the slow case path is worth it.


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

http://codereview.chromium.org/56151/diff/1007/8#newcode4699
Line 4699: bool target_size)
How can this be a bool?  Aren't the possible target sizes 0, 1, or 2?

http://codereview.chromium.org/56151/diff/1007/8#newcode4721
Line 4721: // Undo the optimistic smi increment.
"smi increment or decrement"?  "smi operation"?

http://codereview.chromium.org/56151/diff/1007/8#newcode4757
Line 4757: // by a new register explicitly, to optimize the fast case.
Backed by a register until spilled, but it doesn't seem important to
mention it here.

http://codereview.chromium.org/56151/diff/1007/8#newcode4785
Line 4785: // old_value must be a register here, so that it is spilled
by any call.
This is confusing.  It's not that we need it to be spilled by a call,
it's that it can't be a constant or copy because we (might) modify it
and it's below the water mark for the deferred code exit.

Since something weird is (intentionally) happening here we should be
really explicit about what it is: we are not allowed to modify constants
and copies below the water mark on deferred exit frames.

http://codereview.chromium.org/56151

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

Reply via email to