Maximally minimal stack trace standardization

Filip Pizlo fpizlo at apple.com
Mon Sep 29 10:43:06 PDT 2014



> On Sep 29, 2014, at 9:23 AM, Mark S. Miller <erights at google.com> wrote:
> 
> On Mon, Sep 29, 2014 at 12:06 PM, Filip Pizlo <fpizlo at apple.com> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20140929/38a93e32/attachment-0001.html>


More information about the es-discuss mailing list