<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/542071_100x75.jpg</url>
		<title>Channel 9 - Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<link></link>
	</image>
	<description>Computer Scientists and MSR Researchers 
Wolfram Schulte, 
Herman Venter,&amp;nbsp;Nikolai Tillmann, and&amp;nbsp;Manuel Fahndrich join&amp;nbsp;Erik
 Meijer for an&amp;nbsp;Expert to Expert deep&amp;nbsp;dive into the&amp;nbsp;theory&amp;nbsp;and implementation strategies&amp;nbsp;inside of

SPUR, a research Tracing Just-In-Time (TJIT) compiler&amp;nbsp;for Microsoft’s Common Intermediate Language CIL (the target language of C#, VB.NET, F#, and many other .NET&amp;nbsp;languages).&amp;nbsp;&amp;nbsp;Tracing just-in-time compilers (TJITs) determine frequently executed traces (hot paths and loops) in running programs and focus their optimization effort by emitting optimized machine code specialized to these traces. Prior work has established this strategy
 to be especially beneficial for dynamic languages such as JavaScript, where the TJIT interfaces with the interpreter and produces machine code from the JavaScript trace.&amp;nbsp;In order to validate that the performance gains of a TJIT for interpreted languages like JavaScript
do not depend on specific idioms of the language, the SPUR team produces a performance evaluation of a JavaScript runtime that
translates JavaScript to CIL and then runs on top of SPUR.Read the 
SPUR research&amp;nbsp;paper. </description>
	<link></link>
	<language>en</language>
	<pubDate>Thu, 23 May 2013 07:07:14 GMT</pubDate>
	<lastBuildDate>Thu, 23 May 2013 07:07:14 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>Thanks.&nbsp; Interesting stuff.&nbsp; Is java script going to be it forever on the browser?&nbsp; Erik does work using java script as an IL.&nbsp; In my simple mind, that seems like a good workaround, but not a complete solution.&nbsp; Will something like this allow any language
 to run on browser?&nbsp; Like a compiler as a service in the browser deal?</p>
<p>&nbsp;</p>
<p>In terms of singularity.&nbsp;&nbsp;Is there an exit summary?&nbsp; What&nbsp;are the learnings?&nbsp;&nbsp;Was there a dead-end?&nbsp;&nbsp;Was there a discovery that lead to new direction&nbsp;and/or project?&nbsp;&nbsp;tia&nbsp;&nbsp;&nbsp;
</p>
<p>posted by staceyw</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069549850000000</link>
		<pubDate>Thu, 15 Apr 2010 19:03:05 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069549850000000</guid>
		<dc:creator>staceyw</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>In terms of&nbsp; Singularity, that was simply a side conversation, unrelated in context... Singularity is and has always been a research project, a test bed for OS proof-of-concept&nbsp;development. The Singularity researchers are the ones who should speak about
 Singularity's current and future states... I have no idea if/when this will happen.
</p>
<p>&nbsp;</p>
<p>Again, Singularity is a &quot;platform&quot; for scientific experimentation related to operating system research.</p>
<p>&nbsp;</p>
<p>C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069555540000000</link>
		<pubDate>Thu, 15 Apr 2010 19:12:34 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069555540000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>Compiling MSIL to JavaScript is the opposite of SPUR, which compiles JavaScript to MSIL. The interesting hypothesis of using a tracing JIT is that it does not matter at which side of the equation you start since all hot abstractions will be &quot;traced away&quot;
 at runtime. The potential of no-pay abstraction is quite enticing. It is like being able to feast on an all-you-can-eat buffet without gaining any weight <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>posted by head.in.the.box</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069592870000000</link>
		<pubDate>Thu, 15 Apr 2010 20:14:47 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069592870000000</guid>
		<dc:creator>head.in.the.box</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>Awesome analogy, Erik! <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> </p>
<p>&nbsp;</p>
<p>Hmm. A buffet with a JIT&nbsp;that traces away&nbsp;calories. Yes, a BJIT.&nbsp;&nbsp;Las Vegas should be the first place to implement this... <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif' alt='Wink' /><br />C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069602720000000</link>
		<pubDate>Thu, 15 Apr 2010 20:31:12 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069602720000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>How does this relate to statically typed languages like C#? Does it improve upon the normal JIT for those too? Apologies if this is answered in the video. I'm bandwidth-limited at the moment so I'll have to watch it later.</p>
<p>posted by sylvan</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069610690000000</link>
		<pubDate>Thu, 15 Apr 2010 20:44:29 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069610690000000</guid>
		<dc:creator>sylvan</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>Interesting video about a interesting topic. I'm wondering how much a ASP.NET server application could benefit from such a technology. Because such a process runs for a long, long time and therefore even more costly optimizations might pay off. Especially
 because costly optimizations could run as background task without problems.</p>
<p>&nbsp;</p>
<p>Anyway, very I hope will see more interesting research work in this area =)</p>
<p>posted by GamlerHart</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069622980000000</link>
		<pubDate>Thu, 15 Apr 2010 21:04:58 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069622980000000</guid>
		<dc:creator>GamlerHart</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>Interesting video. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>&nbsp;</p>
<p>Btw, Charles, Erik, do you know the best way I could get an answer to <a href="http://channel9.msdn.com/shows/Going&#43;Deep/E2E-Research-Perspectives-on-JavaScript-with-Erik-Meijer-Ben-Zorn-and-Ben-Livshits/?CommentID=543943">
my question for the JSMeter team</a>?</p>
<p>posted by ShinNoNoir</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069627510000000</link>
		<pubDate>Thu, 15 Apr 2010 21:12:31 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069627510000000</guid>
		<dc:creator>ShinNoNoir</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>I FW'd your question to Ben and Ben.<br />C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069631790000000</link>
		<pubDate>Thu, 15 Apr 2010 21:19:39 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069631790000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>background theorem prover that tracing itself, what an idea ! sounds like a <span class="pos_content">
M.C. Escher artwork. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> <br /></span></p>
<p>and, automatic parallelization in the runtime, wow, truly a gold mine ......</p>
<p>nicely done Charles, and thank you for asking the singularity question.</p>
<p>hope tracing can get into .NET 'beep', today's research is tomorrows reality.</p>
<p>since .NET 4 wave is already released c9 should do more 'future' videos like this. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif' alt='Tongue Out' />
</p>
<p>posted by felix9</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069658970000000</link>
		<pubDate>Thu, 15 Apr 2010 22:04:57 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069658970000000</guid>
		<dc:creator>felix9</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>Yes, SPUR is a tracing JIT for MSIL.</p>
<p>posted by head.in.the.box</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069884110000000</link>
		<pubDate>Fri, 16 Apr 2010 04:20:11 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069884110000000</guid>
		<dc:creator>head.in.the.box</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>16:30 is&nbsp;what I love about Channel9.&nbsp;&nbsp;Where else can&nbsp;you find this kind of content?</p>
<p>&nbsp;</p>
<p>Treat the type as a probabilty wave, and delay the wave collapse until observation.&nbsp; Exceptions can occur on observation, so you Amb them,&nbsp;(Amb in groups of greatest probability, and recursively)&nbsp;for the first one that doesn't, if all do, you have a fatal
 exception.&nbsp; You pick the probabilities that result in the least possible exceptions, to optimize.&nbsp;&nbsp; But an Exception is really a type conversion.&nbsp; It may not be what you expect but it's a type.&nbsp; Maybe it is supposed to have a string with numbers appended.&nbsp;
 Swap code/thread that was running in parallel.</p>
<p>&nbsp;</p>
<p>I have to watch this all again now.&nbsp; Now I just found this paper saying that there is no least fixed point sematics for Amb, I have a lot to learn.&nbsp;</p>
<p>posted by Richard.Hein</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069947710000000</link>
		<pubDate>Fri, 16 Apr 2010 06:06:11 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069947710000000</guid>
		<dc:creator>Richard.Hein</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>Superb video! <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>&nbsp;</p>
<p>It does indeed look like a research gold-mine.</p>
<p>&nbsp;</p>
<p>Theorem-proving at run-time, tracing, abstract interpretation. Quite a sophisticated set of ideas.</p>
<p>posted by exoteric</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069994760000000</link>
		<pubDate>Fri, 16 Apr 2010 07:24:36 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634069994760000000</guid>
		<dc:creator>exoteric</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>On Singularity, it's interesting that it was a very static approach whereas the tracing approach is much more dynamic in nature but as far as can extract from articles on the Web, there exists an incubation team continuing on the basis that Singularity established.</p>
<p>&nbsp;</p>
<p>Also, the idea that Erik mentions of an entire browser being written in C# or some other safe language compiled to MSIL and then traced is pretty cool. The browser and scripts both being traced together.</p>
<p>&nbsp;</p>
<p>Also interesting is the Z3 theorem prover. I forget what it's written in, probably C&#43;&#43;. It would be interesting if that was ported to perhaps first C&#43;&#43;/IL and later to F# (which is probably a better language for a theorem prover).</p>
<p>posted by exoteric</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634070016210000000</link>
		<pubDate>Fri, 16 Apr 2010 08:00:21 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634070016210000000</guid>
		<dc:creator>exoteric</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>&nbsp;<font face="CMR10" size="2"><font face="CMR10" size="2"><font face="CMR10" size="2"><font face="CMR10" size="2"><font face="CMR10" size="2"><font face="CMR10" size="2">&quot;Front-ends interact with Z3 by using either a textual format or a binary</font></font>&nbsp;</font></font></font></font></p>
<p></p>
<p align="left">API. Three textual input-formats are supported: The SMT-LIB [12] format, the</p>
<p align="left">Simplify [8] format, and a low-level native format in the spirit of the DIMACS</p>
<p align="left">format for propositional SAT formulas. One can also call Z3 procedurally by</p>
<p align="left">using either an ANSI C API, an API for the .NET managed common language</p>
<p>runtime, or an OCaml API.&quot;, and &quot;Z3 is implemented in C&#43;&#43;&quot;.</p>
<p align="left"><a href="http://research.microsoft.com/en-us/um/redmond/projects/z3/z3.pdf">http://research.microsoft.com/en-us/um/redmond/projects/z3/z3.pdf</a></p>
<p align="left">&nbsp;</p>
<p align="left"><img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>posted by Richard.Hein</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634072086120000000</link>
		<pubDate>Sun, 18 Apr 2010 17:30:12 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634072086120000000</guid>
		<dc:creator>Richard.Hein</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>Cool, once again a managed implementation of JScript faster than the &quot;current&quot; version of IE's native one. When Managed JScript was still on going, it was faster than IE8's interpreter-based JScript.</p>
<p>So SPUR doesn't yet support neseted trace trees. I wonder if they will consider the trace scheme used in LuaJIT 2 where it doesn't use trace trees, but still supports nested loops well. FYI <a href="http://lua-users.org/lists/lua-l/2009-11/msg00089.html">http&#58;&#47;&#47;lua-users.org&#47;lists&#47;lua-l&#47;2009-11&#47;msg00089.html</a></p>
<p>The possibility of being able to trace all the way into SPUR itself is also very interesting. That would evolve into another metacircular VM. Hopefully it'll come true some day.</p>
<p>posted by Ravenex</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634083157940000000</link>
		<pubDate>Sat, 01 May 2010 13:03:14 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634083157940000000</guid>
		<dc:creator>Ravenex</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>Page 2 will not load for me.&nbsp; This has happened before.</p>
<p>posted by Richard.Hein</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634091387390000000</link>
		<pubDate>Tue, 11 May 2010 01:38:59 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634091387390000000</guid>
		<dc:creator>Richard.Hein</dc:creator>
	</item>
	<item>
		<title>Re: Inside SPUR - A Trace-Based JIT Compiler for CIL</title>
		<description>
			<![CDATA[
<p>I can't repro.</p>
<p>C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634092175380000000</link>
		<pubDate>Tue, 11 May 2010 23:32:18 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/E2E-Tracing-JIT-and-SPUR#c634092175380000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
</channel>
</rss>