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.

Reply via email to