MOSA Compiler

To go along with the MOSA Framework theme the compiler is not a compiler in a classical sense. It rather provides building blocks, which if combined properly enable the AOT and JIT compilation of CIL images for a managed operating system. These building blocks consist of:
  • A method compiler framework
  • An intermediate representation of IL instructions
  • A lower level intermediate representation for code generation
  • Code generation basics
  • A set of independent compiler optimization stages
Available optimization stages

The MOSA compiler framework is built around individual replaceable compiler stages (see MOSA Compiler Design), which can be combined to build compilers with varying levels of optimizations. This allows fine control over the optimization level vs. time and memory costs.

The following optimization stages are available in the MOSA compiler:
  • Constant Propagation
  • Fast, simple dominance calculation
  • SSA Transformation
The set of available optimizations is growing as these can be developed and tested independently. The MOSA compiler is developed to be open for research purposes and we hope to receive some research results as additional optimization stages.

Features Testing

The MOSA source tree includes extensive tests of the MOSA compiler framework. To run the tests you should consult Running MOSA Compiler Tests. Note that these tests are rather dependent on the compilation stages setup, so if you use a different set of optimization stages you need to match up the test framework.

Release Plan

A release plan for the MOSA Compiler Release 0.0.1 has been defined.

Last edited Nov 21, 2008 at 10:21 AM by Kintaro, version 3


No comments yet.