Steve Fink <[EMAIL PROTECTED]> wrote:
> On Sep-21, Leopold Toetsch wrote:
>> Anyway, we should first finalize return conventions (it was proposed
>> these to be symmetric to calling conventions).
> It seems like there was widespread agreement to that proposal. Dan?
Yep.
>> Then finish pcc.c.
> What's needed?
Return conventions. They work but don't handle prot/non-proto cases. And of
course spilling, register allocation and opimization.
>> Then we need code from HLL to see, how efficient (or not) parameter
>> passing does look like.
> I've been trying to implement A6 for languages/perl6. My first cut was
> to have all calls, prototyped or not, take three parameters:
suboptimal for sure
>> Then we can think of some higher level ops to {de,}construct argument
>> arrays.
> Well, I'd also like to know what the IMCC syntax will look like for
> dynamically-sized lists of arguments and parameters,
Just use a PerlArray:
.sym PerlArray params
params = new PerlArray
push params, arg1
push params, arg2
...
.arg params
.pcc_call ...
Then in the sub:
.pcc_sub _sub
.param params
.local var a1
.local var a2
shift a1, params
shift a2, params
...
leo