> Assuming there's one general stack to save "stuff" on, where stuff is:
> 
>     * Scope entries
>     * Return addresses for JSRs
>     * Saved individual registers
>     * Local() calls

Dave's Wild+Whacky+Unworkable Suggestion #42:

If we have one generic stack with all sorts of things on it, why not
treat it as a stack of objects, with each object "knowing" what to do
with itself when popped? Or more prosaically, for each "thing" pushed
onto the stack (register set etc), we also push a pointer to a function
that gets called when the thing is popped. ie like the Perl 5
savestack, but we push a fn pointer rather than a SAVEt_* constant.
This gives us flexibility + extensibility, but may slow us down.

Reply via email to