Steve Fink <[EMAIL PROTECTED]> wrote:
> I'm not sure how to use the current pdd03's calling conventions to
> implement what I want right now. Let's consider Perl6:

First, that whole stuff definitely needs more clarification. Calling and
return conventions are not symmetrical, C<I1> (number of items in C<P3>)
is redundant... And we probably need pdd03-examples.pod.

>   sub f ($a, $b) { ... }
>   f(1, 2);
>   &f(1, 2);

>   I0 = 1 # have prototype
>   I5 = 1
>   I6 = 2

As the sub doesn't specify taking C<int>, arguments would go into P5 and
P6.

> It would be tempting to change all pushtop,pushbottom,poptop,popbottom
> ops into ones that had the start register and number of registers as
> arguments.

No. These ops are used to save registers for the caller and not for
argument passing.

>  sub f($a, $b, $c, $d) { ... }
>  f(1, [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], @array);

I would at least expect a compiler warning: "Suboptimal argument passing
detected in function call ...".

leo

Reply via email to