<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
> <channel><title>Comments on: Never rely on tail recursion elimination</title> <atom:link href="http://ripper234.com/p/never-rely-on-tail-recursion-elimination/feed/" rel="self" type="application/rss+xml" /><link>http://ripper234.com/p/never-rely-on-tail-recursion-elimination/</link> <description>Stuff Ron Gross Finds Interesting</description> <lastBuildDate>Fri, 27 Jan 2012 03:20:29 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>By: Tomer Gabel</title><link>http://ripper234.com/p/never-rely-on-tail-recursion-elimination/comment-page-1/#comment-1270</link> <dc:creator>Tomer Gabel</dc:creator> <pubDate>Fri, 06 Feb 2009 12:52:01 +0000</pubDate> <guid
isPermaLink="false">http://ripper234.com/?p=925#comment-1270</guid> <description>In that case, I&#039;m (badly) surprised. I&#039;ll try to do some more research on the subject.</description> <content:encoded><![CDATA[<p>In that case, I&#8217;m (badly) surprised. I&#8217;ll try to do some more research on the subject.</p> ]]></content:encoded> </item> <item><title>By: ripper234</title><link>http://ripper234.com/p/never-rely-on-tail-recursion-elimination/comment-page-1/#comment-1267</link> <dc:creator>ripper234</dc:creator> <pubDate>Fri, 06 Feb 2009 06:46:33 +0000</pubDate> <guid
isPermaLink="false">http://ripper234.com/?p=925#comment-1267</guid> <description>Yes you can.</description> <content:encoded><![CDATA[<p>Yes you can.</p> ]]></content:encoded> </item> <item><title>By: Tomer Gabel</title><link>http://ripper234.com/p/never-rely-on-tail-recursion-elimination/comment-page-1/#comment-1261</link> <dc:creator>Tomer Gabel</dc:creator> <pubDate>Thu, 05 Feb 2009 17:27:09 +0000</pubDate> <guid
isPermaLink="false">http://ripper234.com/?p=925#comment-1261</guid> <description>Can I assume you&#039;ve compiled for RELEASE?</description> <content:encoded><![CDATA[<p>Can I assume you&#8217;ve compiled for RELEASE?</p> ]]></content:encoded> </item> <item><title>By: ripper234</title><link>http://ripper234.com/p/never-rely-on-tail-recursion-elimination/comment-page-1/#comment-1260</link> <dc:creator>ripper234</dc:creator> <pubDate>Thu, 05 Feb 2009 17:25:24 +0000</pubDate> <guid
isPermaLink="false">http://ripper234.com/?p=925#comment-1260</guid> <description>I went to said location, viewed it with reflector, and this is what it shows.
I don&#039;t really have the will to open IDA now, but running the example proves my point.</description> <content:encoded><![CDATA[<p>I went to said location, viewed it with reflector, and this is what it shows.<br
/> I don&#8217;t really have the will to open IDA now, but running the example proves my point.</p> ]]></content:encoded> </item> <item><title>By: Tomer Gabel</title><link>http://ripper234.com/p/never-rely-on-tail-recursion-elimination/comment-page-1/#comment-1259</link> <dc:creator>Tomer Gabel</dc:creator> <pubDate>Thu, 05 Feb 2009 17:13:50 +0000</pubDate> <guid
isPermaLink="false">http://ripper234.com/?p=925#comment-1259</guid> <description>That&#039;s not an ngen image - I&#039;m talking native code, here. Try C:\Windows\assembly\NativeImages_v2.0.50727_32, I think that&#039;s where ngen&#039;d assemblies go.</description> <content:encoded><![CDATA[<p>That&#8217;s not an ngen image &#8211; I&#8217;m talking native code, here. Try C:\Windows\assembly\NativeImages_v2.0.50727_32, I think that&#8217;s where ngen&#8217;d assemblies go.</p> ]]></content:encoded> </item> <item><title>By: ripper234</title><link>http://ripper234.com/p/never-rely-on-tail-recursion-elimination/comment-page-1/#comment-1255</link> <dc:creator>ripper234</dc:creator> <pubDate>Thu, 05 Feb 2009 08:56:42 +0000</pubDate> <guid
isPermaLink="false">http://ripper234.com/?p=925#comment-1255</guid> <description>NGen does&#039;t help.
&lt;pre&gt;
.method private hidebysig static void Foo(int32 i) cil managed
{
.maxstack 8
L_0000: ldarg.0
L_0001: ldc.i4 0xf4240
L_0006: bne.un.s L_0009
L_0008: ret
L_0009: ldarg.0
L_000a: ldc.i4.s 100
L_000c: rem
L_000d: brtrue.s L_0015
L_000f: ldarg.0
L_0010: call void [mscorlib]System.Console::WriteLine(int32)
L_0015: ldarg.0
L_0016: ldc.i4.1
L_0017: add
L_0018: call void StackOverflow.Program::Foo(int32)
L_001d: ret
}
&lt;/pre&gt;</description> <content:encoded><![CDATA[<p>NGen does&#8217;t help.</p><pre>
.method private hidebysig static void Foo(int32 i) cil managed
{
    .maxstack 8
    L_0000: ldarg.0
    L_0001: ldc.i4 0xf4240
    L_0006: bne.un.s L_0009
    L_0008: ret
    L_0009: ldarg.0
    L_000a: ldc.i4.s 100
    L_000c: rem
    L_000d: brtrue.s L_0015
    L_000f: ldarg.0
    L_0010: call void [mscorlib]System.Console::WriteLine(int32)
    L_0015: ldarg.0
    L_0016: ldc.i4.1
    L_0017: add
    L_0018: call void StackOverflow.Program::Foo(int32)
    L_001d: ret
}
</pre>]]></content:encoded> </item> <item><title>By: ripper234</title><link>http://ripper234.com/p/never-rely-on-tail-recursion-elimination/comment-page-1/#comment-1226</link> <dc:creator>ripper234</dc:creator> <pubDate>Tue, 03 Feb 2009 09:11:59 +0000</pubDate> <guid
isPermaLink="false">http://ripper234.com/?p=925#comment-1226</guid> <description>I&#039;ve read somewhere that NGen doesn&#039;t help. Will verify. The JIT obviously didn&#039;t optimize it away because it did throw a StackOverflowException.</description> <content:encoded><![CDATA[<p>I&#8217;ve read somewhere that NGen doesn&#8217;t help. Will verify. The JIT obviously didn&#8217;t optimize it away because it did throw a StackOverflowException.</p> ]]></content:encoded> </item> <item><title>By: Tomer Gabel</title><link>http://ripper234.com/p/never-rely-on-tail-recursion-elimination/comment-page-1/#comment-1213</link> <dc:creator>Tomer Gabel</dc:creator> <pubDate>Mon, 02 Feb 2009 18:38:37 +0000</pubDate> <guid
isPermaLink="false">http://ripper234.com/?p=925#comment-1213</guid> <description>Inconclusive: try NGen&#039;ing the compiled assembly and check the generated native code. CSC performs almost no optimizations; nearly everything is done in the JIT.</description> <content:encoded><![CDATA[<p>Inconclusive: try NGen&#8217;ing the compiled assembly and check the generated native code. CSC performs almost no optimizations; nearly everything is done in the JIT.</p> ]]></content:encoded> </item> </channel> </rss>
