If memory serves me right, Bryan C. Warnock wrote:
> Not to mention all the *other* problems we'll have if we've got more
> than 2^31 different opcodes.  (Although that's why there's UUIDs now,
> isn't there?)

I think parrot has already crossed the limit of 1024 ...
(I can't even keep 256 opcodes in my head , let alone 1024 :-)

> And for what?  To be able to add large numbers?

No .. to add large numbers very quickly ... ie split registers and
enemies ;-) 

No sense in keeping an Int64 in 2 32 bit regs if you have a 64 bit
CPU & shift-mask-add .. But how can you be sure where the .pbc will
run.

> to borrow a page from the physical hardware and simply join two smaller
> registers together?  (The advantage of contiguous memory regions.)

Well that's only if those two regs are in memory ... the Parrot JIT
does use a register allocation scheme , IIRC .

> Can we simplify interpreter types this much, while still providing
> extended numerics to hosted languages?

I *had* to hack out a couple of types of parrot to have fixed size
types irrespective of implementation size ... (@see dotgnu.ops)

But of course it's a sad situation that Parrot is missing 
Objects still . Until then those opcodes are there to occupy numbers.

Gopal
-- 
The difference between insanity and genius is measured by success

Reply via email to