On Monday, 14 October 2013 at 17:50:01 UTC, John Colvin wrote:
I'm totally out of my depth here but can't you store the reference count adjacent to the pointer and use CMPXCHG16B
I think that can work if the refcount is stored with the pointer (ie. if a fat pointer is used) and not in the object. But that would defeat the whole point of the refcount :(
It seems that Rainer Schuetze is right and that the implementation that boost::shared_ptr uses is not safe.