mirror of https://github.com/golang/go.git
internal/abi, internal/buildcfg: always enable register ABI on ARM64
In last cycle we developed register ABI for ARM64, enabled by default as a GOEXPERIMENT. This cycle we turn it on all the time. Later CLs will clean up fallback code. To support in-development platforms (e.g. RISC-V), separate the boolean variables for in-development platforms and always-on platforms. Change-Id: I97c27f6aeccc85ccc57eed2abd783b176da3ad80 Reviewed-on: https://go-review.googlesource.com/c/go/+/393364 Trust: Cherry Mui <cherryyz@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
2c92b2349a
commit
8ff42d1bb1
|
|
@ -2,8 +2,6 @@
|
|||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build goexperiment.regabiargs
|
||||
|
||||
package abi
|
||||
|
||||
const (
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build !goexperiment.regabiargs && !amd64
|
||||
//go:build !goexperiment.regabiargs && !amd64 && !arm64
|
||||
|
||||
package abi
|
||||
|
||||
|
|
|
|||
|
|
@ -56,9 +56,16 @@ var FramePointerEnabled = GOARCH == "amd64" || GOARCH == "arm64"
|
|||
//
|
||||
// TODO(mdempsky): Move to internal/goexperiment.
|
||||
func ParseGOEXPERIMENT(goos, goarch, goexp string) (*ExperimentFlags, error) {
|
||||
regabiSupported := false
|
||||
// regabiSupported is set to true on platforms where register ABI is
|
||||
// supported and enabled by default.
|
||||
// regabiAlwaysOn is set to true on platforms where register ABI is
|
||||
// always on.
|
||||
var regabiSupported, regabiAlwaysOn bool
|
||||
switch goarch {
|
||||
case "amd64", "arm64", "ppc64le", "ppc64":
|
||||
case "amd64", "arm64":
|
||||
regabiAlwaysOn = true
|
||||
fallthrough
|
||||
case "ppc64le", "ppc64":
|
||||
regabiSupported = true
|
||||
}
|
||||
|
||||
|
|
@ -120,8 +127,7 @@ func ParseGOEXPERIMENT(goos, goarch, goexp string) (*ExperimentFlags, error) {
|
|||
}
|
||||
}
|
||||
|
||||
// regabi is always enabled on amd64.
|
||||
if goarch == "amd64" {
|
||||
if regabiAlwaysOn {
|
||||
flags.RegabiWrappers = true
|
||||
flags.RegabiArgs = true
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue