ensure that the compiler doesn't try to reorder around atomic ops