On Mar 30, 2018, at 01:40 PM, Antoine Pitrou <solipsis(a)pitrou.net> wrote:
A safer alternative is to use the *lower* bits of pointers. The bottom
3 bits are always available for storing ancillary information, since
typically all heap-allocated data will be at least 8-bytes aligned
(probably 16-bytes aligned on 64-bit processes). However, you also get
less bits :-)
The lower bits are more interesting to use. I'm still hoping to find some time to experiment with tagged pointers some day, that could be interesting w.r.t. performance and memory use (at the cost of being ABI incompatible).