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

Reply via email to