In general I'm not thrilled with this. It conflicts quite a bit with my
ongoing
project of refactoring HGraphBuilder.
Specifically, all this mutation of the bailout environment will need to be
rethought when arguments are pushed more eagerly (a good rule is: avoid
constructing bailout environments that don't correspond to anything in the
unoptimized code generator).
In this case I think a better long-term design is to do something more like
HCallConstantFunction. Don't use the outgoing parameters at all for the
function to call. Evaluate the arguments as arguments, but not the last one
(the function). Allocate that one to fixed register edi and use
InvokeFunction
exactly like the unoptimized code.
http://codereview.chromium.org/6084003/diff/1/src/hydrogen.cc
File src/hydrogen.cc (left):
http://codereview.chromium.org/6084003/diff/1/src/hydrogen.cc#oldcode4288
src/hydrogen.cc:4288: ++argument_count;
Please don't make this change.
I'm currently refactoring the HGraphBuilder (per my status reports on
v8-dev). This will introduce conflicts :)
http://codereview.chromium.org/6084003/
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev