performacne tweek to SharedByValue<TRAITS>: check ptr != rhs.ptr not this != &rhs to avoid memory barrier