Comment #7 on issue 457 by [email protected]: Tail call elimination
(feature request)
http://code.google.com/p/v8/issues/detail?id=457
I completely disagree with comment #1, because tail call elimination must
*anyway* "rename" local arguments and variables to avoid conflicts, thus
producing a functional equivalent of:
function foo(x){
var y = x + 1; // Renamed the `x` argument of `bar` as `y`
return foo.arguments[0]; // body of `bar`, with `x` renamed as `y`
}
foo(1); // -> 1
.
On the other side, I fully agree with comment #4. Mutual recursion would be
meaningful.
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev