Skip to content

Commit

Permalink
sync/atomic: clarify that 8-byte alignment of variables is due to escape
Browse files Browse the repository at this point in the history
For #53223.

Change-Id: I79e9b920488581a4d850e4051ee0dd600b5bbcb1
Reviewed-on: https://go-review.googlesource.com/c/go/+/410102
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Austin Clements <austin@google.com>
  • Loading branch information
hawkinsw authored and prattmic committed Jun 7, 2022
1 parent 81033fb commit 69bb7c6
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/sync/atomic/doc.go
Expand Up @@ -57,8 +57,9 @@ import (
// On ARM, 386, and 32-bit MIPS, it is the caller's responsibility to arrange
// for 64-bit alignment of 64-bit words accessed atomically via the primitive
// atomic functions (types Int64 and Uint64 are automatically aligned).
// The first word in a variable or in an allocated struct, array, or slice can
// be relied upon to be 64-bit aligned.
// The first word in an allocated struct, array, or slice; in a global
// variable; or in a local variable (because the subject of all atomic operations
// will escape to the heap) can be relied upon to be 64-bit aligned.

// SwapInt32 atomically stores new into *addr and returns the previous *addr value.
func SwapInt32(addr *int32, new int32) (old int32)
Expand Down

0 comments on commit 69bb7c6

Please sign in to comment.