[MLton] 64-bit pointers

Henry Cejtin henry@sourcelight.com
Wed, 6 Oct 2004 19:44:00 -0500


I  know that from transitions in the past (16=>32 bits) and also some playing
on Alpha's, that I would say that only G really makes any sense.  One variant
not  discussed,  but which I could easily imagine being quite good, is 64 bit
pointers, but only aligned mod 4.  My notion is that  if  2-bits  stolen  for
immediate  information  is  enough  now, then it should be enough on a 64-bit
machine (no change).  Also I would expect much data to still  be  32-bits  in
size  (Int32  and friends) which a modulo-8 alignment would cause to use more
space.

64-bit machines are all going to be tweaked for fetching and  storing  64-bit
addresses.   As  I  recall,  the Alpha had some hacks for 32-bit addresses in
early versions, but later versions, although still having  the  instructions,
made  it  not  worth much speed-wise.  Similarly, but a ways back now, on the
Motorola 68K chip initially you paid quite a penalty to load up a full 32-bit
(instead  of 16) pointer, but later revs of the chip it didn't matter much at
all and no one used the old 16-bit load/stores much at all.