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

Reply via email to