Jonathan Sillito <[EMAIL PROTECTED]> wrote:

> Here is another suggestion (I think I mentioned this in another email) we
> could support a few different types of continuations. The simplest
> continuation could be just a saved return address (i.e. an opcode_t*).

I'm fine with that, if its additionally to the current invoke/ret scheme.

> One more thing Leo (excuse my ignorance) why is there a "stack calling
> convention" in imcc? How does it relate to calling subs via the "calling
> convention"?

First one sentence from pdd03:

       Please note that the following conventions are only
       necessary when exposing subs and methods via the generic
       parrot routine exposure mechanism.

Parrot calling conventions are for subs and methods which ought to be
accessible like e.g. library functions. All internal language stuff may
use whatever subroutine calling convention that is appropriate.

So there are different ways to call a subroutine:
- stack calling conventions (callee saves used by BASIC, P6C)
- invoke/ret (callee saves used by P6Cs exceptions and rx rules)
- above schemes, caller saves

IMHO the continuation passing scheme can only be additionally to current
schemes.

> Jonathan Sillito

leo

Reply via email to