At 01:25 PM 10/4/2001 -0400, Andy Dougherty wrote:
>On Thu, 4 Oct 2001, Dan Sugalski wrote:
>
> > > > Sort of. They're guaranteed to be as big as the native integer you've
> > > > chosen to build Parrot with, and at least 32 bits.
> > >
> > >Ok, but does "long long" count as a "native integer"?
> >
> > Yup, if that's what you configured perl with.
>
>Ok, last question for today: Do we want to require sizeof(opcode_t) ==
>sizeof(INTVAL)? A user may know he wants 'long long' integer constants,
>but also know that opcodes will always fit in 32-bits and want to use
>'int' for opcode_t (for compactness and possibly speed).
Nope. If the person hand-rolling parrot assembly knows he/she/it needs
integers outside the range that a 32 bit signed integer can deal with, then
he/she/it is perfectly free to play weird games with generated bytecode.
Constants in the constant section can be larger than 32 bits, in which case
the user can load up a PMC integer constant and copy its value to an
integer register. (Or use a "load integer from constant table" opcode, if
we make one)
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
[EMAIL PROTECTED] have teddy bears and even
teddy bears get drunk