]> Cypherpunks repositories - gostls13.git/commitdiff
all: delete regabireflect goexperiment
authorCherry Mui <cherryyz@google.com>
Tue, 15 Mar 2022 17:27:53 +0000 (13:27 -0400)
committerCherry Mui <cherryyz@google.com>
Fri, 18 Mar 2022 14:45:56 +0000 (14:45 +0000)
regabireflect goexperiment was helpful in the register ABI
development, to control code paths for reflect calls, before the
compiler can generate register ABI everywhere. It is not necessary
for now. Drop it.

Change-Id: I2731197d2f496e29616c426a01045c9b685946a4
Reviewed-on: https://go-review.googlesource.com/c/go/+/393362
Trust: Cherry Mui <cherryyz@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
src/internal/abi/abi_arm64.go
src/internal/abi/abi_generic.go
src/internal/abi/abi_ppc64x.go
src/internal/buildcfg/exp.go
src/internal/goexperiment/exp_regabireflect_off.go [deleted file]
src/internal/goexperiment/exp_regabireflect_on.go [deleted file]
src/internal/goexperiment/flags.go
src/reflect/abi_test.go
src/runtime/abi_test.go
src/runtime/asm_arm64.s
src/runtime/asm_ppc64x.s

index 5c3dd6cbe2815ae73be8ea286490056ccba333b1..8f85901c478ca13290a06207002c48ababa7bad3 100644 (file)
@@ -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
 
index a36745f402c414cb01dc8b63921c3303777c7c09..d7d2f3749bc30b79063ce56fd4c538c2fa846a4f 100644 (file)
@@ -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
 
index d47271d1a18836e4c65068e3149a1bf630d97f61..d51fb49bea2af8b20a7c60148e8ebb55c0f37159 100644 (file)
@@ -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
 
index a9b29d6718c5cf08220127a6dbf11057a84899d7..230ec0b231a8bfaa955d7b98cc80ba2192ebb882 100644 (file)
@@ -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 (file)
index 515f4a5..0000000
+++ /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 (file)
index e8a3e9c..0000000
+++ /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
index 6d935edc2b223564805b8e8081978391cc42c45d..9150493575a018c932e2767d0c7bdb25161a0716 100644 (file)
@@ -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.
        //
index f39eb5efeae914cf92dbf46a0939d42f64ab9d19..c9a4cd1c8e3643a476543d6b29aec2a9baa36d39 100644 (file)
@@ -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
 
index f9e8d701ceb88dcd92fe5b5f88f34c6563cfc942..0c9488a5f4ee596f7fb01d9b1890cce3b1208164 100644 (file)
@@ -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.
index 9e9d9314efc0b808badc0b27e1f55f30161453a5..46ffaaa9b3fe83d25a06ceef3f1ff311212c843b 100644 (file)
@@ -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)
index ae14213999534c9bf490f1cd5e8170d10a34fc46..45e0c8240a19633739968b6d7315a783d1bd2850 100644 (file)
@@ -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)