diff --git a/src/internal/abi/abi_arm64.go b/src/internal/abi/abi_arm64.go index 5c3dd6cbe2..8f85901c47 100644 --- a/src/internal/abi/abi_arm64.go +++ b/src/internal/abi/abi_arm64.go @@ -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.regabireflect +//go:build goexperiment.regabiargs package abi diff --git a/src/internal/abi/abi_generic.go b/src/internal/abi/abi_generic.go index a36745f402..d7d2f3749b 100644 --- a/src/internal/abi/abi_generic.go +++ b/src/internal/abi/abi_generic.go @@ -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.regabireflect && !amd64 +//go:build !goexperiment.regabiargs && !amd64 package abi diff --git a/src/internal/abi/abi_ppc64x.go b/src/internal/abi/abi_ppc64x.go index d47271d1a1..d51fb49bea 100644 --- a/src/internal/abi/abi_ppc64x.go +++ b/src/internal/abi/abi_ppc64x.go @@ -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.regabireflect && (ppc64 || ppc64le) +//go:build goexperiment.regabiargs && (ppc64 || ppc64le) package abi diff --git a/src/internal/buildcfg/exp.go b/src/internal/buildcfg/exp.go index a9b29d6718..230ec0b231 100644 --- a/src/internal/buildcfg/exp.go +++ b/src/internal/buildcfg/exp.go @@ -54,7 +54,6 @@ func ParseGOEXPERIMENT(goos, goarch, goexp string) (flags, baseline goexperiment baseline = goexperiment.Flags{ RegabiWrappers: regabiSupported, - RegabiReflect: regabiSupported, RegabiArgs: regabiSupported, PacerRedesign: true, } @@ -81,7 +80,6 @@ func ParseGOEXPERIMENT(goos, goarch, goexp string) (flags, baseline goexperiment // do the right thing. names["regabi"] = func(v bool) { flags.RegabiWrappers = v - flags.RegabiReflect = v flags.RegabiArgs = v } @@ -113,17 +111,15 @@ func ParseGOEXPERIMENT(goos, goarch, goexp string) (flags, baseline goexperiment // regabi is always enabled on amd64. if goarch == "amd64" { flags.RegabiWrappers = true - flags.RegabiReflect = true flags.RegabiArgs = true } // regabi is only supported on amd64, arm64, ppc64 and ppc64le. if !regabiSupported { - flags.RegabiReflect = false flags.RegabiArgs = false } // Check regabi dependencies. - if flags.RegabiArgs && !(flags.RegabiWrappers && flags.RegabiReflect) { - err = fmt.Errorf("GOEXPERIMENT regabiargs requires regabiwrappers,regabireflect") + if flags.RegabiArgs && !flags.RegabiWrappers { + err = fmt.Errorf("GOEXPERIMENT regabiargs requires regabiwrappers") } return } diff --git a/src/internal/goexperiment/exp_regabireflect_off.go b/src/internal/goexperiment/exp_regabireflect_off.go deleted file mode 100644 index 515f4a53e6..0000000000 --- a/src/internal/goexperiment/exp_regabireflect_off.go +++ /dev/null @@ -1,9 +0,0 @@ -// Code generated by mkconsts.go. DO NOT EDIT. - -//go:build !goexperiment.regabireflect -// +build !goexperiment.regabireflect - -package goexperiment - -const RegabiReflect = false -const RegabiReflectInt = 0 diff --git a/src/internal/goexperiment/exp_regabireflect_on.go b/src/internal/goexperiment/exp_regabireflect_on.go deleted file mode 100644 index e8a3e9c06a..0000000000 --- a/src/internal/goexperiment/exp_regabireflect_on.go +++ /dev/null @@ -1,9 +0,0 @@ -// Code generated by mkconsts.go. DO NOT EDIT. - -//go:build goexperiment.regabireflect -// +build goexperiment.regabireflect - -package goexperiment - -const RegabiReflect = true -const RegabiReflectInt = 1 diff --git a/src/internal/goexperiment/flags.go b/src/internal/goexperiment/flags.go index 6d935edc2b..9150493575 100644 --- a/src/internal/goexperiment/flags.go +++ b/src/internal/goexperiment/flags.go @@ -72,11 +72,6 @@ type Flags struct { // ABI0 and ABIInternal functions. Without this, the ABIs are // assumed to be identical so cross-ABI calls are direct. RegabiWrappers bool - // RegabiReflect enables the register-passing paths in - // reflection calls. This is also gated by intArgRegs in - // reflect and runtime (which are disabled by default) so it - // can be used in targeted tests. - RegabiReflect bool // RegabiArgs enables register arguments/results in all // compiled Go functions. // diff --git a/src/reflect/abi_test.go b/src/reflect/abi_test.go index f39eb5efea..c9a4cd1c8e 100644 --- a/src/reflect/abi_test.go +++ b/src/reflect/abi_test.go @@ -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.regabireflect && goexperiment.regabiargs +//go:build goexperiment.regabiargs package reflect_test diff --git a/src/runtime/abi_test.go b/src/runtime/abi_test.go index f9e8d701ce..0c9488a5f4 100644 --- a/src/runtime/abi_test.go +++ b/src/runtime/abi_test.go @@ -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.regabireflect +//go:build goexperiment.regabiargs // This file contains tests specific to making sure the register ABI // works in a bunch of contexts in the runtime. diff --git a/src/runtime/asm_arm64.s b/src/runtime/asm_arm64.s index 9e9d9314ef..46ffaaa9b3 100644 --- a/src/runtime/asm_arm64.s +++ b/src/runtime/asm_arm64.s @@ -317,7 +317,7 @@ TEXT runtime·morestack_noctxt(SB),NOSPLIT|NOFRAME,$0-0 MOVW $0, R26 B runtime·morestack(SB) -#ifdef GOEXPERIMENT_regabireflect +#ifdef GOEXPERIMENT_regabiargs // spillArgs stores return values from registers to a *internal/abi.RegArgs in R20. TEXT ·spillArgs(SB),NOSPLIT,$0-0 MOVD R0, (0*8)(R20) diff --git a/src/runtime/asm_ppc64x.s b/src/runtime/asm_ppc64x.s index ae14213999..45e0c8240a 100644 --- a/src/runtime/asm_ppc64x.s +++ b/src/runtime/asm_ppc64x.s @@ -788,7 +788,7 @@ TEXT runtime·cputicks(SB),NOSPLIT,$0-8 MOVD R3, ret+0(FP) RET -#ifdef GOEXPERIMENT_regabireflect +#ifdef GOEXPERIMENT_regabiargs // spillArgs stores return values from registers to a *internal/abi.RegArgs in R20. TEXT runtime·spillArgs(SB),NOSPLIT,$0-0 MOVD R3, 0(R20)