users-prolog
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH/RFC] amd64 cleanups


From: carbonated beverage
Subject: [PATCH/RFC] amd64 cleanups
Date: Sat, 27 May 2006 14:36:54 -0700

Trying to figure out why gprolog blows up and dies on me, so I'm starting
with a few minor patches.  Comments on correctness/intent appreciated.

Patches:

0001-sizeof-int-sizeof-long.txt
    Changes G_IMPOSSIBLE_SIZE to (~0 >> 1) as the field it's assigned to is
    an int, not an unsigned long as per the original macro.  On amd64/Linux,
    sizeof(int) == 4, sizeof(long) == 8.
0002-pointer-integer-cleanups.txt
    The pointer in DynCInf and DynPInfo, first_erased_cl, has the two least
    significant bits being used to indicate "mark" and "all must be erased".
    Move these out to bitfields.
    It makes gcc 3.4.4 (Debian/sarge) happier and cleans up gcc 4.x porting
    issues, such as casting lvalues and using bitwise operators on pointers.
    It also converts some DBGPRINT() statements so instead of using
    %08lx, it uses %p.
    The naming of the bitfields are a bit fugly, though -- would changing the
    names to "mark" and "erase_all" be clear enough?

-- DN
Daniel

Attachment: 0001-sizeof-int-sizeof-long.txt
Description: Text document

Attachment: 0002-pointer-integer-cleanups.txt
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]