Parrot - Registros



La Perl 5 mquina 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 fcil de trabajar, pero es lenta.

Para sumar dos nmeros, tienes que realizar tres pila empuja y dos saltos de pila. Peor an, la pila tiene que crecer en el tiempo de ejecucin, y que significa asignacin de memoria slo si no quiere que le concedan.

Para Parrot va a romper la tradicin de las mquinas virtuales, y utilizar un registro arquitectura, ms parecido a la arquitectura de un hardware real CPU. Esto tiene otra ventaja. Podemos utilizar todos la literatura existente sobre cmo 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 continuacin, los operandos.

Advertisements