This topic has missing or partial documentation. Please help us improve it.
O compilador do Rubinius converte código fonte Ruby em bytecodes que podem ser interpretados pela máquina virtual. A máquina virtual usa uma série de estágios sequenciais para transformar a entrada algo que ela possa entender.
Cada um dos estágios é desacoplado do resto do processo, esperando apenas uma forma particular de entrada e enviando sua saída para o próximo estágio. Como resultado, o processo de compilação tem bons níveis de configuração e os estágios pode ser instrumentados de maneira simples.
Cada estágio do processo recebe uma entrada, executa, e passa a saída para o estágio sequinte. Os estágios padrão, assim como suas entradas e saídas são ilustrados abaixo.