Abstract
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. This direct coupling with a JavaScript interpreter makes it difficult to harness the power of a TJIT for other components that are not written in JavaScript, e. g., the DOM implementation or the layout engine inside a browser. Furthermore, if a TJIT is tied to a particular high-level language interpreter, it is difficult to reuse it for other input languages as the optimizations are likely targeted at specific idioms of the source language. To address these issues, we designed and implemented a TJIT for Microsoft's Common Intermediate Language CIL (the target language of C#, VisualBasic, F#, and many other languages). Working on CIL enables TJIT optimizations for any program compiled to this platform. In addition, to validate that the performance gains of a TJIT for JavaScript do not depend on specific idioms of JavaScript that are lost in the translation to CIL, we provide a performance evaluation of our JavaScript runtime which translates JavaScript to CIL and then runs on top of our CIL TJIT.
Keyword: tracing,dynamic compilation,CIL,Performance,just-in-time,JavaScript,Languages,Design
Keyword: tracing,dynamic compilation,CIL,Performance,just-in-time,JavaScript,Languages,Design
| Original language | English |
|---|---|
| Journal | SIGPLAN Notices (ACM Special Interest Group on Programming Languages) |
| Volume | 45 |
| Issue number | 10 |
| Pages (from-to) | 708-725 |
| ISSN | 0362-1340 |
| DOIs | |
| Publication status | Published - 2010 |
| Externally published | Yes |
| Event | 2010 Conference on Object Oriented Programming Systems, Languages and Applications: Software for Humanity - Reno/Tahoe, United States Duration: 17 Oct 2010 → 21 Oct 2010 |
Conference
| Conference | 2010 Conference on Object Oriented Programming Systems, Languages and Applications |
|---|---|
| Country/Territory | United States |
| City | Reno/Tahoe |
| Period | 17/10/2010 → 21/10/2010 |
Fingerprint
Dive into the research topics of 'SPUR: A Trace-Based JIT Compiler for CIL'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver