On 02-Jan-2001, Marcin 'Qrczak' Kowalczyk <qrczak@knm.org.pl> wrote:
On IA-64 C function pointers are AFAIK twice as big as data pointers (16 bytes!), to hold a global data pointer associated with the module the function came from, which is a part of a model of dynamically linked libraries. I don't know what ghc is going to do with it - it uses function pointers internally a lot! It also means that FunPtr will no longer be represented the same as Ptr on IA-64.
Are you sure about that? Are you sure function pointers aren't represented as ordinary pointers to a 16-byte block of memory that includes a code pointer and a data pointer? (I don't have any information about what IA64 does, but I think representing function pointers as 16 bytes would probably be a bad idea, since quite a bit of existing code assumes that function pointers are the same size as data pointers, and so I'd be somewhat surprised if they've really done that.) -- Fergus Henderson <fjh@cs.mu.oz.au> | "I have always known that the pursuit | of excellence is a lethal habit" WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.