[Mono-list] Tailcall

Paolo Molaro lupus@ximian.com
Mon, 2 Aug 2004 15:04:41 +0200


On 07/30/04 Neale.Ferguson@SoftwareAG-USA.com wrote:
> The S/390 ABI only specifies that Registers 6-14 are guaranteed on exit
> as they were on entry. It does provide a place on the stack for parameter
> registers to be place there but for performance reasons it's better not
> to. If there was a flag set for the method that the emit_prolog could
> check to see if a tailc was going to be made then I'd use that stack
> area in this instance only. The tail handling code could then load from
> there before jumping.

Just add a new flag to MonoCompileFlags in mini.h and make sure it's set
in mini.c where tail calls are emitted (the two places were CEE_JMP is
used).

lupus

-- 
-----------------------------------------------------------------
lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better