Simon Glover <[EMAIL PROTECTED]> wrote:

>   1. What is <init_pmc_properties> supposed to do?

Probably setup a new PMC *and* attach the passed properties.

>   2. What, precisely, do <invoke> and <invoke_pmc> do?

C<invoke> does kind of a subroutine call on the PMC. The functionality
depends on the class implementing the method. C<invoke_pmc> is AFAIK
unused and not needed.

>     void* invoke(void* next)
>     void* invoke_pmc(PMC* sub, void* next)

>   (taken directly from vtable.tbl), what is <next>, and what do they
>   return?

C<next> is normally a pointer into the byte code (the address of the
instruction after the C<invoke> opcode. The return value of C<invoke> is
the branch address, where operation flow continues (normally the
subroutine's address).

>  3. <mark> is described as taking a PMC parameter that represents the
>  current end of the free list, and returning the new end of the free
>  list (after the PMC with the custom mark routine has added itself and
>  its contents to the list if appropriate). We don't actually do this,
>  however; is this a deliberate change?

Unifying buffers and PMCs changed that.

>  4. Since we've tossed the keyed variants of push, pop, shift, unshift,
>  the arithmetic ops, the bitwise ops, the logical ops, increment,
>  decrement, substr and repeat, is it OK to get rid of the corresponding
>  entries in PDD02?

Fine for me.

>  Simon

leo

Reply via email to