source license discord

github-build github-unittests issues forks stars

Introduction

MOSA is an open source software project that natively executes .NET applications within a virtual hypervisor or on bare metal hardware!

The MOSA project consists of:

  • Compiler - a high quality, multi-threaded, cross-platform, optimizing .NET compiler

  • Kernel - a small kernel operating system

  • Device Drivers Framework - a modular, device drivers framework and device drivers

  • Debugger - QEMU-based debugger

Current Status

The target platforms are:

  • 32-bit x86 (stable)

  • 64-bit x86 (x64) (in development)

  • 32-bit ARMv8+ (in early development)

  • 64-bit ARMv8+ (in early development)

The MOSA compiler supports most object and non-object oriented code, including:

  • Generic Code (example: List<T>)

  • Delegates (static and non-static) and with optional parameters

  • Exception Handling (try, finally, and catch code blocks)

The MOSA compiler seeks to provide high quality code generation using the following optimizations:

  • Constant Folding and Propagation

  • Strength Reduction optimization

  • Dead Code Elimination

  • Single Static Assignment (SSA)

  • Global Value Numbering / Common Subexpession Elimination

  • Sparse Conditional Constant Propagation

  • Inlined Expansion

  • Loop-Invariant Code Motion

  • Null Check Elimination

  • Devirtualization

  • Block Reordering

  • Greedy Register Allocation

See the Compiler Optimizations for a description of each of these optimization methods.

Join the Discussion

Join us on Discord. This is the most interactive way to connect to MOSA’s development team.

License

MOSA is licensed under the New BSD License.