[Mono-dev] correct tail call optimization in mono

Rodrigo Kumpera kumpera at gmail.com
Sun Aug 23 17:02:56 EDT 2009


On Sun, Aug 23, 2009 at 5:21 PM, Mark Probst <mark.probst at gmail.com> wrote:

> On Sun, Aug 23, 2009 at 10:07 PM, Rodrigo Kumpera<kumpera at gmail.com>
> wrote:
> > Mono doesn't support TCO as well as .NET.
> > It's planned to be fixed eventually. The problem is that the  mono team
> at
> > Novell
> > doesn't have available manpower to fix this anytime soon.
> >
> > So, if you do care about F# on mono, please contribute the required fixes
> > for the
> > JIT to support more broad TCO.
>
> Proper tail calls is not just a more or less simple "fix".  To support
> proper tail calls in all scenarios, Mono needs to change its calling
> convention to callee-pops-arguments, the reason being that in the
> presence of proper tail calls, the caller does not know anymore which
> method returns from a call, which means that it also doesn't know how
> much argument space it needs to pop.
>

Mono doesn't really needs to support tail call on all valid positions, doing
as well as MS is enough for F# workloads.

Thou I have no idea on what are the restrictions for TCO on dotnet.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090823/65da5991/attachment.html 


More information about the Mono-devel-list mailing list