On Thursday 10 July 2008 13:42:07 Andrew Whitworth wrote:

> I found this while tracking a nasty GC-related bug. In
> src/packfile/pf_items.c:PF_fetch_integer, we have the following two
> notes:
>
> XXX assumes C<sizeof (INTVAL) == sizeof (opcode_t) - we don't have
> INTVAL size in the PackFile header
>
> XXX assume sizeof (opcode_t) == sizeof (INTVAL) on the machine
> producing this PBC
>
> This raises the question, are the two always defined to be the same
> (which makes this a non-issue), or are there platforms where they are
> different? I suspect a fix would not be too too difficult if they
> aren't always the same, and if the behavior wasn't already implemented
> elsewhere.

They're defined in parrot/config.h, which gets built from 
config/gen/config_h/config_h.in:

------> typedef @iv@                    Parrot_Int;
        typedef unsigned @iv@           Parrot_UInt;
        typedef @nv@                    Parrot_Float;
------> typedef @opcode_t@              Parrot_Opcode;

The defaults are in config/inter/types.pm, and both default to 'long'.  
However, in prompting mode, the user can set both to different sizes.  That's 
probably a mistake.  If we prevented them from differing, we could remove 
these comments.

-- c

Reply via email to