aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/stubs.go
diff options
context:
space:
mode:
authorCherry Mui <cherryyz@google.com>2021-08-02 12:18:19 -0400
committerCherry Mui <cherryyz@google.com>2021-08-11 16:59:43 +0000
commiteeb7899137cda1c2cd60dab65ff41f627436db5b (patch)
tree62b709aaec0f5390b00b6c55899c4f4051a84869 /src/runtime/stubs.go
parent0888a8cd2dc3ad66e30ccb30eae8fbed065ea0f7 (diff)
downloadgo-eeb7899137cda1c2cd60dab65ff41f627436db5b.tar.gz
go-eeb7899137cda1c2cd60dab65ff41f627436db5b.zip
[dev.typeparams] internal/buildcfg: always enable regabi on AMD64
In Go 1.17 we added register ABI on AMD64 on Linux/macOS/Windows as a GOEXPERIMENT, on by default. In Go 1.18, we commit to always enabling register ABI on AMD64. Now "go build" for AMD64 always have goexperiment.regabi* tags set. However, at bootstrapping cmd/dist does not set the tags when building go_bootstrap. For this to work, unfortunately, we need to hard-code AMD64 to use register ABI in runtime code. Change-Id: I0b31e678e186b9cdeeb8502cd9e38ed0d7e72d4f Reviewed-on: https://go-review.googlesource.com/c/go/+/341151 Trust: Cherry Mui <cherryyz@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Austin Clements <austin@google.com>
Diffstat (limited to 'src/runtime/stubs.go')
-rw-r--r--src/runtime/stubs.go10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/runtime/stubs.go b/src/runtime/stubs.go
index fc29a1bac3..8a520d7839 100644
--- a/src/runtime/stubs.go
+++ b/src/runtime/stubs.go
@@ -6,6 +6,7 @@ package runtime
import (
"internal/abi"
+ "internal/goarch"
"internal/goexperiment"
"unsafe"
)
@@ -419,12 +420,5 @@ func sigpanic0()
// structure that is at least large enough to hold the
// registers the system supports.
//
-// Currently it's set to zero because using the actual
-// constant will break every part of the toolchain that
-// uses finalizers or Windows callbacks to call functions
-// The value that is currently commented out there should be
-// the actual value once we're ready to use the register ABI
-// everywhere.
-//
// Protected by finlock.
-var intArgRegs = abi.IntArgRegs * goexperiment.RegabiArgsInt
+var intArgRegs = abi.IntArgRegs * (goexperiment.RegabiArgsInt | goarch.IsAmd64)