• 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… 

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.

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.

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.

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.

A Simple, Fast Dominance Algorithm

It is shown that, in some cases, careful engineering of simple algorithms can overcome theoretical advantages, even when problems grow beyond realistic sizes.

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.

Common Language Infrastructure (CLI)

  • Ecma
  • Computer Science
  • 2001

Applied Cryptography, 2nd ed

  • 1996

Essential .NET Volume 1 -The Common Language Runtime

  • Essential .NET Volume 1 -The Common Language Runtime
  • 2002

The Java Hotspot Performance Architecture

  • Sun Microsystems