internal/runtime/atomic: add Cas128 primitive#79304
Conversation
This is the initial primitive for the upcoming atomic.Uint64Pair. amd64 uses LOCK CMPXCHG16B; arm64 uses an LDAXP/STLXP loop; all other architectures fall back to a small fixed lock table keyed by the 16-byte-aligned pair address. No GOAMD64 or GOARM64 feature gating for now. There are no callers yet, so this is safe.
|
This PR (HEAD: 4665d6b) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/776400. Important tips:
|
|
Message from Gopher Robot: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Mauri de Souza Meneguzzo: Patch Set 2: Commit-Queue+1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 2: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2026-05-09T20:08:09Z","revision":"03f6dd555f68d5013a23c4f5e4b75897199fc3ec"} Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Mauri de Souza Meneguzzo: Patch Set 2: -Commit-Queue (Performed by <GERRIT_ACCOUNT_60063> on behalf of <GERRIT_ACCOUNT_63983>) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 2: This CL has failed the run. Reason: Tryjob golang/try/gotip-linux-amd64-race has failed with summary (view all results):
To reproduce, try Additional links for debugging: Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 2: LUCI-TryBot-Result-1 Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
This PR (HEAD: 12cbdb4) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/776400. Important tips:
|
|
Message from Mauri de Souza Meneguzzo: Patch Set 3: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 3: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2026-05-09T21:24:39Z","revision":"a48aee14587b102ad51b946d46872ce97f28c1e7"} Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Mauri de Souza Meneguzzo: Patch Set 3: -Commit-Queue (Performed by <GERRIT_ACCOUNT_60063> on behalf of <GERRIT_ACCOUNT_63983>) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 3: This CL has failed the run. Reason: Tryjob golang/try/gotip-windows-amd64 has failed with summary (view all results):
To reproduce, try Additional links for debugging: Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 3: LUCI-TryBot-Result-1 Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Mauri de Souza Meneguzzo: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Jorropo: Patch Set 4: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Mauri de Souza Meneguzzo: Patch Set 4: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Jorropo: Patch Set 4: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
This PR (HEAD: 048049a) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/776400. Important tips:
|
|
Message from Mauri de Souza Meneguzzo: Patch Set 4: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Mauri de Souza Meneguzzo: Patch Set 5: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Mauri de Souza Meneguzzo: Patch Set 5: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
This PR (HEAD: b9b6a71) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/776400. Important tips:
|
|
Message from Mauri de Souza Meneguzzo: Patch Set 7: Commit-Queue+1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 7: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2026-05-11T23:37:10Z","revision":"5dc67beb4de09021ef1ee4bffdd3e4a6da4eb186"} Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Mauri de Souza Meneguzzo: Patch Set 7: -Commit-Queue (Performed by <GERRIT_ACCOUNT_60063> on behalf of <GERRIT_ACCOUNT_63983>) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 7: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 7: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Carlo Alberto Ferraris: Patch Set 7: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Keith Randall: Patch Set 7: Code-Review+2 (3 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Mauri de Souza Meneguzzo: Patch Set 7: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
This PR (HEAD: 7c8f710) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/776400. Important tips:
|
|
Message from Mauri de Souza Meneguzzo: Patch Set 8: Commit-Queue+1 (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 8: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2026-05-29T00:05:46Z","revision":"a0b4670ec30442779a894cf91d3259be9c7a05f4"} Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
This PR (HEAD: b6c80ff) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/776400. Important tips:
|
|
Message from Mauri de Souza Meneguzzo: Patch Set 8: -Commit-Queue (Performed by <GERRIT_ACCOUNT_60063> on behalf of <GERRIT_ACCOUNT_63983>) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 8: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 8: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
This PR (HEAD: 07387b6) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/776400. Important tips:
|
|
This PR (HEAD: ff23014) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/776400. Important tips:
|
|
Message from Keith Randall: Patch Set 12: Auto-Submit+1 Code-Review+2 Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 12: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2026-05-29T16:57:43Z","revision":"05ede82a73e4b15594c614df53b0764e2c1b2770"} Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Keith Randall: Patch Set 12: Code-Review+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from Keith Randall: Patch Set 12: -Commit-Queue (Performed by <GERRIT_ACCOUNT_60063> on behalf of <GERRIT_ACCOUNT_5200>) Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 12: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 12: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/776400. |
This is the initial work for the upcoming atomic.Uint64Pair.
amd64 uses LOCK CMPXCHG16B for v2+; arm64 uses an LDAXP/STLXP loop; all
other architectures fall back to a small fixed lock table keyed by the
16-byte-aligned pair address.
Specialization will come in at a later stage. There are no callers yet, so this is safe.
For #61236