[Mono-bugs] [Bug 73936][Min] Changed - gmcs does not optimize for space
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Mon, 21 Mar 2005 13:51:41 -0500 (EST)
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by dsilva@ccs.neu.edu.
http://bugzilla.ximian.com/show_bug.cgi?id=73936
--- shadow/73936 2005-03-21 13:25:55.000000000 -0500
+++ shadow/73936.tmp.23786 2005-03-21 13:51:41.000000000 -0500
@@ -84,6 +84,23 @@
------- Additional Comments From bmaurer@users.sf.net 2005-03-21 13:25 -------
csc does not do this. In general the solution is to not make recursive
calls.
The jit may be able to optimize this, but IIRC, the msft jit doesn't;
so it wouldn't be cross platform.
+
+------- Additional Comments From dsilva@ccs.neu.edu 2005-03-21 13:51 -------
+I don't quite understand the comment about cross-platform
+compatibility. The optimization preserves program semantics. I can't
+imagine any program depending on stack overflows and memory explosion.
+
+I'm not very familiar with the Mono policies -- must every mcs/gmcs
+optimization produce IL identical to csc's output? I thought some
+recent optimization work was aimed at producing better code that might
+differ from csc's output, eg:
+http://lists.ximian.com/archives/public/mono-devel-list/2004-October/008295.html
+
+A note about not making recursive calls: I made a mistake in my
+report; the tail instruction is for non-recursive tail calls. It's
+standard practice to compile tail recursive calls into unconditional
+branches to the top instead.
+