Corpus ID: 18379120

An Optimizing Just-InTime Compiler for Rotor

  title={An Optimizing Just-InTime Compiler for Rotor},
  author={J{\~o}ao Henrique Trindade and Jos{\'e} CF Silva},
The Shared Source CLI (SSCLI), also known as Rotor, is an implementation of the CLI released by Microsoft in source code. Rotor includes a single pass just-in-time compiler that generates non-optimized code for Intel IA-32 and IBM PowerPC processors. We extend Rotor with an optimizing justin-time compiler for IA-32. This compiler has three passes: control flow graph generation, data dependence graph generation and final code generation. Dominance relations in the control flow graph are used to… Expand

Figures from this paper


Efficient JavaVM just-in-time compilation
  • A. Krall
  • Computer Science
  • Proceedings. 1998 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.98EX192)
  • 1998
A very fast algorithm for translating JavaVM byte code to high quality machine code for RISC processors, which replaces an older one in the CACAO JavaVM implementation reducing the compile time by a factor of seven and producing slightly faster machine code. Expand
The starjit compiler: a dynamic compiler for managed runtime environments
The design and implementation of the StarJIT compiler, a dynamic compiler for Java Virtual Machines and Common Language Runtime platforms, and the design of its intermediate representation, global optimizer, Itanium Processor Family code generator, and dynamic optimization framework are described. Expand
Targeting Dynamic Compilation for Embedded Environments
This paper has implemented microJIT, a small and portable just-in-time (JIT) compiler for Java that can produce high quality code 2.5x faster than a comparable dataflow-based compiler and 30% slower than a compiler that performs only limited optimizations. Expand
The Open Runtime Platform: a flexible high‐performance managed runtime environment
The structure of ORP is described in detail, paying particular attention to how it supports flexibility while preserving high performance; the interfaces between the garbage collector, the JIT, and the core VM; how these interfaces enable multiple garbage collectors and JITs without sacrificing performance; and how they allow theJIT and thecore VM to reduce or eliminate MRTE‐specific performance issues. Expand
A Simple, Fast Dominance Algorithm
The problem of finding the dominators in a control-flow graph has a long history in the literature. The original algorithms suffered from a large asymptotic complexity but were easy to understand.Expand
A fast algorithm for finding dominators in a flowgraph
A fast algorithm for finding dominators in a flowgraph is presented, which beat the straightforward algorithm and the bit vector algorithm on all but the smallest graphs tested. Expand
Essential .NET Volume 1 -The Common Language Runtime
  • Essential .NET Volume 1 -The Common Language Runtime
  • 2002
Common Language Infrastructure (CLI)
  • Ecma
  • Computer Science
  • 2001
Applied Cryptography, 2nd ed
  • 1996
The Java Hotspot Performance Architecture
  • Sun Microsystems