Maximally minimal stack trace standardization

Mark S. Miller erights at
Mon Sep 29 09:23:47 PDT 2014

On Mon, Sep 29, 2014 at 12:06 PM, Filip Pizlo <fpizlo at> 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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list