]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.25] runtime: use one more address bit for tagged pointers
authorKeith Randall <khr@golang.org>
Tue, 2 Sep 2025 22:46:11 +0000 (15:46 -0700)
committerMichael Knyszek <mknyszek@google.com>
Mon, 27 Oct 2025 16:44:44 +0000 (09:44 -0700)
commitbf95b767394eb5643265f44c7b98bdbb85b897ce
tree313eb162e21a1296b691e6268468655a61cba3f6
parentbbb76271230a801e085bb813e82fd40000b65367
[release-branch.go1.25] runtime: use one more address bit for tagged pointers

We use one extra bit to placate systems which simulate amd64 binaries on
an arm64 host. Allocated arm64 addresses could be as high as 1<<48-1,
which would be invalid if we assumed 48-bit sign-extended addresses.

(Note that this does not help the other way around, simluating arm64
on amd64, but we don't have that problem at the moment.)

For #69255.
Fixes #75775.

Change-Id: Iace17a5d41a65e34abf201d03d8b0ff6f7bf1150
Reviewed-on: https://go-review.googlesource.com/c/go/+/700515
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Keith Randall <khr@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
(cherry picked from commit 2a7f1d47b0650c92b47f0cd5bc3536d438e4bbbe)
Reviewed-on: https://go-review.googlesource.com/c/go/+/712800
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: David Chase <drchase@google.com>
src/runtime/tagptr_64bit.go