Reviewers: Vladislav Kaznacheev,
Message:
Hi Vlad. It's good you're starting to look at this code.
I started to change the smi code for binary op stubs to work with values in
edx,eax when possible (e.g., anything other than DIV or MOD). The control
flow
was so complicated that I ended up refactoring most of it.
Description:
Refactoring and small optimization of the smi code for binary op stubs
on ia32.
1. Operate on the values in edx,eax when possible (all operations
except DIV and MOD). This saves moving them on entry and when falling
out to the non-smi code.
2. Do not perform ADD and SUB before the smi check of their inputs.
This saves undoing the operation in the case that we fall through to
the non-smi case due to non-smi inputs (probably common?), and we can
avoid emitting the smi check code twice (code size reduction).
3. Don't perform OR twice (once to smi check the inputs and once to
smi check the result).
Please review this at http://codereview.chromium.org/556019
SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
Affected files:
M src/ia32/codegen-ia32.cc
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev