[Mono-list] Tailcall

Varga Zoltan vargaz@freemail.hu
Wed, 21 Jul 2004 13:39:13 +0200 (CEST)


                                           Hi,

  An alternative solution, which I use on sparc, is to copy the 
arguments which are in the incoming registers to the
outgoing registers
/stack locations. See mini-sparc.c for more info.

                    Zoltan

> -----Original Message-----
> From: mono-list-admin@lists.ximian.com
> [mailto:mono-list-admin@lists.ximian.com]On Behalf Of ext 
> Sent: Thursday, July 15, 2004 5:19 PM
> To: mono-list@ximian.com
> Subject: [Mono-list] Tailcall
> 
> 
> Hi,
>  The implementation of tailc is quite x86-centric in mini.c. 
> It assumes that all parameters are on the stack and by simply 
> going back to the previous stack frame then the jump to the 
> new routine will have access to the parameters that it wants. 
> For architectures where parameters can be in registers as 
> well as on the stack then this causes problems. The tailc 
> needs to be processed like a normal call so that the 
> registers get set up properly but the actual call can be like 
> "jmp". I'm not sure what the best approach to fixing this
would be.
> 
> Neale Ferguson 
> _______________________________________________
> Mono-list maillist  -  Mono-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>