[Gc] gc7 and 64-bit platforms

Peter Colson pcolson at connexus.net.au
Mon Nov 15 19:41:12 PST 2004

I've been looking at gc7 and am wondering if it's at least LP64 
compliant (obviously it's not LLP64-compliant at this stage)?

I see instances where a word var is assigned to an int (dbg_mlc, 
GC_generate_random_heap_address(), line 148). Now if sizeof(int) < 
sizeof(long) and sizeof(word) == 8 this will be a problem on either 
style of 64-bit platform.

Also, possibly more widespread, interchanging size_t and word usage 
(allchblk, GC_allocchblk and GC_allocchblk_nth sz param,  and 
elsewhere). On an LP64 platform do you imagine that size_t would be 
promoted to an 8-byte size as per long? On my LLP64 platform size_t 
remains at 4 bytes (unsigned long) while word becomes 8-bytes (unsigned 
long long)? So is this interchange of word and size_t vars valid?

Peter Colson.

More information about the Gc mailing list