问题
What is the current state of Tail Call Optimization (TCO) implementation on Mono (2.11) ? Read somewhere that all the codebase would need to be modified to use a callee-pops-arguments convention. What is the status of this change ? Is the ARM/Linux port up to date on this matter ?
Thanks!
回答1:
Tail calls definitely work on mono on linux - tested using
let rec f a = f (a+1)
which didn't crash - tested on Mono 2.10.2
UPDATE
Tested with link from Brian - https://bugzilla.novell.com/show_bug.cgi?id=476785
which crashes on Mono 2.10.2 despite generating .tail
instructions
来源:https://stackoverflow.com/questions/9595585/what-is-the-current-state-of-tail-call-optimization-for-f-on-mono-2-11