[perl #58414] [TODO] review calling conventions
Will Coleda via RT
parrotbug-followup at parrotcode.org
Wed Oct 28 13:53:27 UTC 2009
On Wed Oct 28 06:23:29 2009, Whiteknight wrote:
> Following the pcc_reapply branch, the central calling mechanisms have
> been completely reviewed, redesigned, and reimplemented. I'm closing
> this ticket. For other issues:
>
> > - VTABLE_invoke is inconsistent between different sub-like PMCs. For
> > most subs it simply sets up the environment for invocation, and
selects
> > the first opcode instruction of the sub as the next 'opcode_t *' for
> > 'runops'. For NCI subs it actually invokes the function pointer. The
> > disjoint means that NCI subs can't be invoked from C argument lists
the
> > same way as all the other subs (because the regular C argument list
> > passing can only happen *after* VTABLE_invoke has been called to set
up
> > the environment, but NCI requires the arguments to be passed
*before*
> > the call to VTABLE_invoke).
>
> This issue is being followed on the Calling conventions tasklist on
> Trac: https://trac.parrot.org/parrot/wiki/CallingConventionsTasklist
>
> > - Also, VTABLE_invoke can't really be overridden from PIR, because
it
> > requires direct access to low-level interpreter data structures.
>
> See Trac ticket https://trac.parrot.org/parrot/ticket/103
>
> > - Standardize on PCC-style signature description strings throughout
the
> > system (instead of different signature description strings for NCI,
PCC,
> > and regular subs).
>
> Issue listed on the calling conventions tasklist wiki page
>
> > - Refactor to remove code duplication between the various dispatch
> systems.
>
> Done.
>
> > - Optimize PCC dispatch (refactor to slim down the code).
>
> In process
>
> > - Enable dispatching by CallSignature PMC everywhere.
>
> Done.
>
CC'ing list with final resolution comment.
--
Will "Coke" Coleda
More information about the parrot-dev
mailing list