call for readers II
Allison Randal
allison at parrot.org
Sat Feb 14 01:37:48 UTC 2009
register reg.ini wrote:
> What I would like to be more clear are the various calling conventions
> adopted in Parrot . From what I have read in the docs and in the book
> Parrot supports both a stack call ( there is a stack that keeps return
> address ) and continuation passing style. I read also that the same
> stack contains exceptions handlers. What are not clear to me are the
> various relationships that are possible between these three elements.
> For example: What happens when an exception is thrown and traversing the
> stack results in a return address because the stack does not contain an
> handler for the exception. And what happens in the same scenario when we
> are in a continuation? Also with this design it seems to me that a
> continuation should also carry a copy of the control stack to correctly
> restore the calling environment so the principle that says that CPS does
> not need a stack does not hold in this case.
That documentation is all out of date. You can no longer make a stack
call, you can only make a CPS call. And exception handlers are no longer
stored on a global stack, they're stored locally in each context.
Allison
More information about the parrot-dev
mailing list