[Mono-dev] correct tail call optimization in mono
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>
> > Mono doesn't support TCO as well as .NET.
> > It's planned to be fixed eventually. The problem is that the mono team
> > 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...
More information about the Mono-devel-list