<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>As promised, what is the WOW64 and what does it mean to managed apps that you run on 64bit machines?</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx</link><description>So, what is the WOW64? If you already have a firm grasp please feel free to skip these first few paragraphs to the section titled &amp;#8220;Break in here for the .Net perspective&amp;#8221; . When I went and Google&amp;#8217;d a bit to see if anyone had a convincing</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: As promised, what is the WOW64 and what does it mean to managed apps that you run on 64bit machines?</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#88485</link><pubDate>Fri, 12 Mar 2004 11:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:88485</guid><dc:creator>Mike Dimmick</dc:creator><description>My understanding of IA64 was that a 32-bit process does run in hardware emulation, but that the emulation is a direct mapping of x86 to IA64 instructions with no out-of-order execution or branch prediction. This makes it perform like a 1.5GHz 386 or worse.&lt;br&gt;&lt;br&gt;How does the CLR interact with the 'IA32 Execution Layer' component, which essentially JITs the 32-bit x86 code into native IA64 instructions?&lt;br&gt;&lt;br&gt;More on IA32EL at &lt;a target="_new" href="http://www.microsoft.com/windowsserver2003/64bit/ipf/ia32el.mspx"&gt;http://www.microsoft.com/windowsserver2003/64bit/ipf/ia32el.mspx&lt;/a&gt; and &lt;a target="_new" href="http://www.microarch.org/micro36/html/pdf/goldenberg-IA32ExecutionLayer.pdf"&gt;http://www.microarch.org/micro36/html/pdf/goldenberg-IA32ExecutionLayer.pdf&lt;/a&gt;.</description></item><item><title>re: As promised, what is the WOW64 and what does it mean to managed apps that you run on 64bit machines?</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#88618</link><pubDate>Fri, 12 Mar 2004 16:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:88618</guid><dc:creator>Josh Williams [MS]</dc:creator><description>Mike -- I'm not sure I follow. The link that you gave (the MS one anyway) indicates that there is a software layer that as you said essentially JITs the 32bit code into IA64 instructions and then executes those natively on the 64bit hardware. That's what I was trying to imply with my post (it's variation on software emulation right... maybe my word choice was poor?).&lt;br&gt;&lt;br&gt;As for how the CLR interacts with this layer... Well, as I said the x86 CLR that we'll be installing on 64bit platforms in the WOW64 will be the normal x86 CLR, so it is pretty much brain dead to the fact that it's running in the WOW64, the JIT32 will create native x86 code which the CLR in the WOW64 will try to execute and the OS will transition to native IA64 code at runtime. It isn't hard to imagine that this causes a perf degrade.&lt;br&gt;&lt;br&gt;You can't really do it another way though. The point of the WOW64 is to run x86 code in a 32bit process, your app (and ours, namely the 32bit CLR) aren't supposed to know that it's running on a 64bit machine. And as such, having the CLR running as a 32bit x86 native app and having a &amp;quot;smart&amp;quot; WOW64 specific JIT32 that produces 64bit native code just don't work.&lt;br&gt;&lt;br&gt;I don't have any perf numbers on hand for CLR perf in the WOW64 on IA64, nor any native WOW64 perf numbers for IA64. But as you imply, it's not nearly as good as running code natively on the 64bit platform.&lt;br&gt;&lt;br&gt;It is worth noting (just so no one gets confused) that on AMD64 and IA32e (Intel's newly announced 64bit Extended architecture) instructions in the WOW64 don't have to be modified by software as such, and the Perf is significantly better. This stems from the wholy different design philosophy of the x64 chips vs. the IA64. And that's not an argument that I want to get into here (let's say that I have my preferences, but that it varys depending on what I'm doing).&lt;br&gt;&lt;br&gt;-josh</description></item><item><title>re: As promised, what is the WOW64 and what does it mean to managed apps that you run on 64bit machines?</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#88621</link><pubDate>Fri, 12 Mar 2004 16:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:88621</guid><dc:creator>Josh Williams [MS]</dc:creator><description>Additonally, I believe that Intel's original plan with Itanium was that they had hardware emulation on chip for x86 (&lt;a target="_new" href="http://www.theinquirer.net/?article=5241"&gt;http://www.theinquirer.net/?article=5241&lt;/a&gt;) that OS's were supposed to take advantage of to run 32bit code. I don't know what/when/why of the decision that lead us to using the IA32EL software driver that you link to above. Presumably it either has better correctness or performance? It seems to now be the choice that Intel is pushing (&lt;a target="_new" href="http://www.intel.com/products/server/processors/server/itanium2/index.htm?iid=sr+itanium&amp;amp;"&gt;http://www.intel.com/products/server/processors/server/itanium2/index.htm?iid=sr+itanium&amp;amp;&lt;/a&gt;).&lt;br&gt;&lt;br&gt;-josh</description></item><item><title>Programmazione .NET (e Windows) a 64 bit</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#88805</link><pubDate>Sat, 13 Mar 2004 01:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:88805</guid><dc:creator>Alberto Falossi's Blog (Italiano)</dc:creator><description /></item><item><title>Behavior of 1.0/1.1 managed apps on 64bit machines</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#89164</link><pubDate>Sun, 14 Mar 2004 00:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:89164</guid><dc:creator>Josh Williams</dc:creator><description /></item><item><title>Behavior of 1.0/1.1 managed apps on 64bit machines</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#89165</link><pubDate>Sun, 14 Mar 2004 00:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:89165</guid><dc:creator>Josh Williams</dc:creator><description /></item><item><title>.NET Happenings #18</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#90133</link><pubDate>Tue, 16 Mar 2004 03:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:90133</guid><dc:creator>MasterMaq.NET</dc:creator><description /></item><item><title>what is the WOW64 and what does it mean to managed apps that you run on 64bit machines?</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#215274</link><pubDate>Mon, 16 Aug 2004 22:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:215274</guid><dc:creator>Paul Fallon's WebLog</dc:creator><description /></item><item><title>How the OS Loader will force .Net v1.0/1.1 executables to run under WOW64 on a 64-Bit Machine</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#243021</link><pubDate>Fri, 15 Oct 2004 23:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:243021</guid><dc:creator>Josh Williams</dc:creator><description /></item><item><title>How the OS Loader will force .Net v1.0/1.1 executables to run under WOW64 on a 64-Bit Machine</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#243048</link><pubDate>Sat, 16 Oct 2004 00:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:243048</guid><dc:creator>Josh Williams</dc:creator><description /></item><item><title>How the OS Loader will force .Net v1.0/1.1 executables to run under WOW64 on a 64-Bit Machine</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#243125</link><pubDate>Sat, 16 Oct 2004 02:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:243125</guid><dc:creator>Josh Williams</dc:creator><description /></item><item><title>Julian_Jewel.Weblog() &amp;raquo; Running Apps on Win 64</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#243607</link><pubDate>Sun, 17 Oct 2004 20:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:243607</guid><dc:creator>TrackBack</dc:creator><description>Julian_Jewel.Weblog() &amp;amp;raquo; Running Apps on Win 64</description></item><item><title>What is WOW64</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#368707</link><pubDate>Tue, 08 Feb 2005 00:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:368707</guid><dc:creator>SmartWombat Blog</dc:creator><description /></item><item><title>64-bit .NET Compiler Options</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#398290</link><pubDate>Fri, 18 Mar 2005 01:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:398290</guid><dc:creator>Mike Taulty's Weblog</dc:creator><description /></item><item><title>Whidbey and 64-bit Compiler Options</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#398292</link><pubDate>Fri, 18 Mar 2005 01:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:398292</guid><dc:creator>Mike Taulty's Weblog</dc:creator><description /></item><item><title>Whidbey and 64-bit Compiler Options</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#399425</link><pubDate>Sun, 20 Mar 2005 23:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:399425</guid><dc:creator>Mike Taulty's Weblog</dc:creator><description /></item><item><title>What is WOW64</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#402861</link><pubDate>Mon, 28 Mar 2005 10:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:402861</guid><dc:creator>Smartwombat Blog</dc:creator><description>&amp;#160; In short, Windows on Windows 64.  &amp;#160; For a longer explanation please visit this link: http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx...</description></item><item><title>Flipping bits on managed images to make them load with the right bitness...</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#415195</link><pubDate>Fri, 06 May 2005 22:20:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:415195</guid><dc:creator>Josh Williams</dc:creator><description>In a number of blog entries I have discussed how on 64-bit machines .Net applications can run as either...</description></item><item><title>64 bit and managed code</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#904021</link><pubDate>Mon, 30 Oct 2006 21:06:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:904021</guid><dc:creator>BizTalk 2006 - Windows SharePoint Services adapter</dc:creator><description>&lt;p&gt;This article covers some 64 bit aspects regarding managed code and COM+ applications. The 64 bit info&lt;/p&gt;
</description></item><item><title>64 bit and managed code</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#904125</link><pubDate>Mon, 30 Oct 2006 21:45:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:904125</guid><dc:creator>BizTalk 2006 - Windows SharePoint Services adapter</dc:creator><description>&lt;p&gt;This article covers some 64 bit aspects regarding managed code and COM+ applications. The 64 bit info&lt;/p&gt;
</description></item><item><title>WOW64 and Your Profiler</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#1072049</link><pubDate>Tue, 14 Nov 2006 04:07:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1072049</guid><dc:creator>David Broman's CLR Profiling API Blog</dc:creator><description>&lt;p&gt;Has this ever happened to you? My profiler loads and runs great on my 32 bit box. But when I try to run&lt;/p&gt;
</description></item><item><title>Flipping bits on managed images to make them load with the right bitness... &amp;laquo; Millicent Carr News</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#2761071</link><pubDate>Mon, 21 May 2007 08:13:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2761071</guid><dc:creator>Flipping bits on managed images to make them load with the right bitness... « Millicent Carr News</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://millicentboh.wordpress.com/2007/05/21/flipping-bits-on-managed-images-to-make-them-load-with-the-right-bitness/"&gt;http://millicentboh.wordpress.com/2007/05/21/flipping-bits-on-managed-images-to-make-them-load-with-the-right-bitness/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Microsoft Dynamics CRM, x64 Processors and Virtual Servers</title><link>http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx#3435792</link><pubDate>Thu, 21 Jun 2007 04:24:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3435792</guid><dc:creator>NTBuddy</dc:creator><description>&lt;p&gt;One tip of advice with the recent surge in selling x64 (64-bit) based systems you need to be aware that&lt;/p&gt;
</description></item></channel></rss>