[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
>