mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
370672e989
All atomic 64 bit ints are changed to atomicbitops.(Ui|I)nt64. A nogo checker enforces that sync/atomic 64 bit functions are not called. For reviewers: the interesting changes are in the atomicbitops and checkaligned packages. Why do this? - It is very easy to accidentally use atomic values without sync/atomic funcs. - We have checkatomics, but this is optional and is forgotten in several places. - Using a type+checker to enforce this seems less error prone and simpler. - We get NoCopy protection. - Use of 64 bit atomics can break 32 bit builds. We have types to handle this without any runtime cost, so we might as well use them. PiperOrigin-RevId: 440473398