I wrote a little blog post on storing data in pointers - initially motivated by documenting the impact of >48-bit virtual addresses on such tricks and the various available hardware pointer masking schemes https://muxup.com/2023q4/storing-data-in-pointers Any corrections or additional notes, do let me know!
Storing data in pointers

Some notes on storing data in pointers and the impact of >48-bit virtual addresses

Muxup

@asb The jump from 24 to 32-bit virtual addresses produced quite a stir in the old Motorola-based Macs and early ARM-based Acorn systems. Reading through the top of this article filled me with the same old dread, and yet I still find myself uttering the traditional words of hubris:

"128 terabytes per process should be enough for everyone."

@mcmartin @asb I was gonna point out the same thing! On the original 68K Mac the use of the upper 8 bits (of 32) as flags, because we “only need 24 bits for addressing memory”, is a famous mea culpa from that era.

https://macgui.com/news/article.php?t=527