Use registers to pass arguments to GenericBinaryOpStub.
authorkaznacheev@chromium.org <kaznacheev@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 25 Jan 2010 16:00:03 +0000 (16:00 +0000)
committerkaznacheev@chromium.org <kaznacheev@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 25 Jan 2010 16:00:03 +0000 (16:00 +0000)
commit36477ee160e4d35211b17ee8cd467e053469eccd
treed2cd14c425aac8dbbaf8f146b9b64ffcfd4397ae
parent5428e036d1e12f50cede44fa8fe75cab64e67208
Use registers to pass arguments to GenericBinaryOpStub.
Currently arguments are never passed on registers (due to the way ArgsInRegistersSupported is written) and
if they were, the stub would break in several places because registers are not preserved properly in the
course of execution. This CL makes use of registers more often (than never) and makes sure that registers are
handler properly.
A peformance gain is small (0.2-0.3%) but stable.
This CL was extracted from the one sent out earlier (http://codereview.chromium.org/551093).

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/ia32/codegen-ia32.cc
src/ia32/codegen-ia32.h