[Top][All Lists]
[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
0001-sizeof-int-sizeof-long.txt
Description: Text document
0002-pointer-integer-cleanups.txt
Description: Text document
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH/RFC] amd64 cleanups,
carbonated beverage <=