I've committed the next major step of switching to variable-sized
register frames.
Actually now almost all[1] register frames are variable-sized. It still
needs more cleanup, but the basics are working now. There are still some
NUM_REGISTERS around and the register allocator doesn't yet use more the
these 32 registers per kind.
I've tested so far the plain runloop only, JIT needs some more work still.
Have fun,
leo
[1] the initial register frame still provides 32 regs each, for the sake
of extending parrot and spme other code like running a new interpreter
without a proper call syntax.
And there is still a workaround for subroutines created via 'newsub'.
Removing all the 'newsub's from the Parrot tree is very welcome. See
docs/compiler_faq.pod for more information.