[Mono-list] The Mono Virtual Machine...

Jonathan Pryor jonpryor at vt.edu
Fri Mar 3 07:45:16 EST 2006

On Thu, 2006-03-02 at 08:06 -0800, Redefined Horizons wrote:
> How do I learn about the virtual machine used in Mono? (I'm not sure
> if the "virtual machine" is the correct term. I'm talking about the
> software that actually executes the compiled byte code.)

What *precisely* do you want to know about it?

You can learn about what it's supposed to do from the ECMA standards:


You can learn about how Mono implements that standard by reading the
Mono source and Mono's internal documentation:


"docs" contains internal documentation; "mono" contains the unmanaged
runtime; "mini" contains the JIT IL->assembly engine.

> How do I learn about the compilers used in Mono?

Read a book on compilers:


You can read the source to Mono's C# compiler:


> If I was interested in helping with the development of Mono, how would
> I get started?



You should also sign up for mono-devel-list at lists.ximian.com.

And you should find an incomplete area that you're personally interested
in, and start contributing -- e.g. the .NET 2.0 class libraries need
lots of help, generics still have issues IIRC, final nullable type
support, more JIT optimizations...

 - Jon

More information about the Mono-list mailing list