[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.