What is the current state of tail-call-optimizatio

2020-07-09 02:56发布

问题:

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