The Register Number are declare of type unsigned char in IMCC
(compilers/imcc/pcc.c). This will result in a parrot context not having more
that 256 register of a given type (I,N,S,P).
There is also logic that assumes that the max number of registers is 256.
e.g. (compilers/imcc/pcc.c)
static int
pcc_reg_mov(Interp *interpreter, unsigned char d, unsigned char s,
void *vinfo)
Parrot requires to support unbounded number of register (unsigned int might
type might be good enough).
--
Thanks,
Vishal