Parrot - Registros


Advertisements

La Perl 5 máquina virtual es un equipo de la pila. No comunicar valores entre las operaciones de una pila. Operaciones los valores de la carga a la pila, hacer lo que debe hacer y poner el resultado en la pila. Esto es fácil de trabajar, pero es lenta.

Para sumar dos números, tienes que realizar tres pila empuja y dos saltos de pila. Peor aún, la pila tiene que crecer en el tiempo de ejecución, y que significa asignación de memoria sólo si no quiere que le concedan.

Para Parrot va a romper la tradición de las máquinas virtuales, y utilizar un registro arquitectura, más parecido a la arquitectura de un hardware real CPU. Esto tiene otra ventaja. Podemos utilizar todos la literatura existente sobre cómo escribir compiladores y optimizadores para CPUs basadas en el registro de nuestro software CPU!

Parrot ha registros especializados para cada tipo: 32 IV registros NV 32 registros, registros y cadena 32 PMC 32 registros. En ensamblador, se denominan I1... I32, N1... N32, S1... S32, P1...P32 respectivamente.

Veamos ahora algunos ensamblador. Podemos establecer estos registros con los operadores:

   set I1, 10
   set N1, 3.1415
   set S1, "Hello, Parrot"

Todos po Parrot tienen el mismo formato: el nombre del operador, el registro de destino y, a continuación, los operandos.

Advertisements