();   return res; }  // "Acquire" operations // ensure that no later memory access can be reordered ahead of the operation. // "Release" operations ensure that no previous memory access can be reordered // after the operation.  "Barrier" operations have both "Acquire" and "Release" // semantics.   A MemoryBarrier() has "Barrier" semantics, but does no memory // access. inline Atomic00 Acquire_CompareAndSwap(volatile Atomic00* ptr,                                        Atomic00 old_value,                                        Atomic00 new_value) {   Atomic00 res = NoBarrier_CompareAndSwap(ptr, old_value, new_value);   