Mono’s New .NET Interpreter

Mono is complementing its Just-in-Time compiler and its static
compiler with a .NET interpreter allowing a few new ways of running
your code.

In 2001 when the Mono project started, we wrote an interpreter for the
.NET instruction set and we used this to bootstrap a self-hosted .NET
development environment on Linux.

At the time we considered the interpreter a temporary tool that we
could use while we built a Just-in-Time (JIT) compiler. The
interpreter (mint) and the JIT engine (mono) existed side-by-side
until we could port the JIT engine to all the platforms that we

When generics were introduced, the engineering cost of keeping both
the interpreter and the JIT engine was not worth it, and we did not
see much value in the extra work to keep it around, so we removed the

We later introduced full static compilation of .NET code. This is a
technology that we introduced to target platforms that do not allow
for dynamic code generation. iOS was the

Original URL:

Original article

Comments are closed.

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d bloggers like this: