On Wed, 2004-09-01 at 11:17, Leopold Toetsch wrote: > Comments welcome,
Honestly, much of this goes beyond my meager understanding of Parrot internals, but I've read it, and most of it seems reasonable. Just on point where you may not have considered a logical alternative: > =head2 2.6. Morphing Undefs > > Currently all binary (and other) opcodes need an existing destination > PMC. The normal sequence a compiler emits is something like this: > > $P0 = new Undef > $P0 = a + b Since you've lopped a lot of space off of PMCs, Undefs could be made large enough to fit a basic buffer PMC (3 words). In that case, they could always be upgraded in-place to integer PMCs, float PMCs, very simple objects, references and buffers. Everything else would need to go through a copy-upgrade. The trade-off is that all PMCs would be 3 words unless special code was emitted that avoided this for smaller (integer, float, reference) PMCs. I'm not saying that this is a BETTER plan, just an idea to think about and a different set of trade-offs. -- â 781-324-3772 â [EMAIL PROTECTED] â http://www.ajs.com/~ajs