> On Sep 29, 2014, at 9:23 AM, Mark S. Miller <[email protected]> wrote:
> 
> On Mon, Sep 29, 2014 at 12:06 PM, Filip Pizlo <[email protected]> wrote:
> [...]
>>> I haven't actually seen anything about tail recursion optimizations being 
>>> implemented, have any of the VM actually tried or committed to implementing 
>>> tail call optimizations? 
>> 
>> We (JSC) haven’t.  And we don’t plan to, because:
>> 
>> - We still need to be able to reconstruct the original stack for things like 
>> function.caller and function.arguments.  We are trying to remove the latter 
>> but the former still lives.
> 
> First, kudos on trying to remove function.arguments. It would be awesome to 
> see this gone, and I greatly appreciate that you/JSC are willing to test the 
> waters.
> 
> Although we would both like to see function.caller gone as well, we are also 
> both much more skeptical that this is possible. Let's assume that it is not. 
> The conclusion that follows is only that sloppy calls to sloppy functions 
> can't be TCOed away. That is in any case what we've been assuming. That's 
> why, IIRC (haven't checked lately), TCO is only specified for calls from 
> non-sloppy functions.

I agree!  Thanks for the explanation. :-)

-Filip

> 
> [...]
> -- 
>     Cheers,
>     --MarkM
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to