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: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of ext 
> Sent: Thursday, July 15, 2004 5:19 PM
> To: [EMAIL PROTECTED]
> 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  -  [EMAIL PROTECTED]
> http://lists.ximian.com/mailman/listinfo/mono-list
> 
_______________________________________________
Mono-list maillist  -  [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to