@helge @mattiem @calicoding the particular instructions used for refcounting get speculatively executed as if they were nonatomic, so in the case where there's no contention, there's very little overhead (because the atomic codegen still needs more instructions than a nonatomic update, etc.) if it turns out later the memory location was contended then you throw all that work away and do it properly