On Fri, 2003-06-06 at 16:34, Leopold Toetsch wrote:
> > *) Integer constants are limited to 32 bit signed integers because
> > they're inline.
> 
> Yep. But this will cause problems with JIT/Prederef and multi threading,
> and its already causing problems inside JIT on architectures with only
> small immediate constants. We have to consider these upcoming problems
> too. I dont see any reason, not to have optionally/additionally  - or
> always - integers in the const_table.

There must be *some* limit, even if it's the physical limit of the
machine.  Either that limit is hard - Parrot cannot support integers
larger than that type - or it's soft - Parrot will work around the limit
by promoting to arbitrary-width numbers.

If it's a soft limit (which it is), then the limit itself is arbitrary.

> 
> > *) INTVAL is meant to be the fastest native integer type for integer
> > math that's at least 32 bits. That integer registers are INTVALs is
> > an unfortunate side-effect, and one I'm tempted to do something about.
> 
> In one of the FUPs, I had a different definition:
> An INTVAL is the size of the integer register. The fastest integer
> type on $arch ought to be just a plain C<int>. I think, when we look at
> the problem from this side, it should be simpler.

IIRC, Jarkko pointed out that that's not always true.  (The *last* time
I was waffling on sizes.)


> I'm - as stated in the thread - for a new register type (L, long).
> 
> They have the same relation as 32bit ints and 64 bit longs, with the
> difference that we guarantee at least these sizes.

I'm not an actor, nor do I play one on TV.  That being said, if you can
handle making Parrot keep all the registers straight, I'm not adverse to
this.  (What am I saying?  Of course *you* can handle that. :-)

-- 
Bryan C. Warnock
bwarnock@(gtemail.net|raba.com)

Reply via email to