stack-unlike behaviour of the execution context stack

Allen Wirfs-Brock allen at wirfs-brock.com
Mon Apr 20 17:19:37 UTC 2015


On Apr 20, 2015, at 8:55 AM, a.d.bergi at web.de wrote:

> Hello!
> In <http://people.mozilla.org/~jorendorff/es6-draft.html#sec-execution-contexts>, a paragraph reads:
> 
> | Transition of the running execution context status among execution
> | contexts usually occurs in stack-like last-in/first-out manner.
> | However, some ECMAScript features require non-LIFO transitions of the
> | running execution context.
> 
> I wonder what this means?
> My first guess was that this refers to generators, whose contexts enter and leave the stack multiple times at will (in contrast to a normal context that enters only once and is destroyed after being suspended), but I found that generator contexts are pushed to and popped from the stack as everything else.

Yes, generators was what I had in mind when I wrote that.

> 
> On closer inspection, I found that the spec sometimes uses the term "remove" and sometimes "pop" when suspending an execution context, but I can't imagine a case where this did not refer to the topmost context on the stack.
> Can you give me an example? Did I miss something?

probably not.

feel free to file a ES7 bug saying that such inconsistent terminology usage should be eliminated.

Allen



More information about the es-discuss mailing list