Mono has both an optimizing just-in-time (JIT) runtime and a interpreter runtime. The interpreter runtime is far less complex and is primarily used in the early stages before a JIT version for that architecture is constructed. The interpreter is not supported on architectures where the JIT has been ported.
| Supported Architectures | Runtime | Operating system |
|---|---|---|
| s390, s390x (32 and 64 bits) | JIT | Linux |
| SPARC (32) | JIT | Solaris, Linux |
| PowerPC | JIT | Linux, Mac OSX, Wii, PlayStation 3 |
| x86 | JIT | Linux, FreeBSD, OpenBSD, NetBSD, Microsoft Windows, Solaris, OS X, Android |
| x86-64: AMD64 and EM64T (64 bit) | JIT | Linux, FreeBSD, OpenBSD, Solaris, OS X |
| IA64 Itanium2 (64 bit) | JIT | Linux |
| ARM: little and big endian | JIT | Linux (both old and new ABI), iPhone, Android |
| Alpha | JIT | not maintained. Linux |
| MIPS | JIT | Linux |
| HPPA | JIT | not maintained Linux |
Note that the Alpha, MIPS, ARM big-endian and HPPA architectures are community-supported and may not be as complete as the other architectures.
Support for SPARC64 works in older versions of Mono, but not in the recent versions.