GoingDeep: Inside SPUR - A Trace-Based JIT Compiler for CIL

GoingDeep

Computer Scientists and MSR Researchers Wolfram Schulte, Herman Venter, Nikolai Tillmann, and Manuel Fahndrich join Erik Meijer for an Expert to Expert deep dive into the theory and implementation strategies inside of SPUR, a research Tracing Just-In-Time (TJIT) compiler for Microsoft’s Common In.

Running time
0h49m
File size
23.00MB

Download Original File | View original post

Episode synopsis

Computer Scientists and MSR Researchers Wolfram Schulte, Herman VenterNikolai Tillmann, and Manuel Fahndrich join Erik Meijer for an Expert to Expert deep dive into the theory and implementation strategies inside of SPUR, a research Tracing Just-In-Time (TJIT) compiler for Microsoft’s Common Intermediate Language CIL (the target language of C#, VB.NET, F#, and many other .NET languages).  

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. 

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 paper.

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“XML is like violence - if it's not working for you, you're not using enough of it.”