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

Reply via email to