aboutsummaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
authorCherry Mui <cherryyz@google.com>2022-03-16 12:12:50 -0400
committerCherry Mui <cherryyz@google.com>2022-03-18 15:17:37 +0000
commitd8bee94be2fc2afa6418f0bf2d474c103d38c094 (patch)
treeb13ecfa8100041787c4af29768cd272c9fc514ab /src/runtime
parent3684abbf6c82d7f151a30cce6f435ee203908b2c (diff)
downloadgo-d8bee94be2fc2afa6418f0bf2d474c103d38c094.tar.xz
reflect, runtime: drop RegabiArgs conditions
With the previous CL, internal/abi.IntArgRegs and FloatArgRegs is controlled by RegabiArgs (or always enabled), so there is no need to check for that goexperiment. There are a few places we guard register-ABI specific code and tests with the RegabiArgs flag. Switch to checking for the number of argument registers instead. Change-Id: I79fff9fd1e919684ffaf73aba9e7e85d5a9e1629 Reviewed-on: https://go-review.googlesource.com/c/go/+/393363 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>
Diffstat (limited to 'src/runtime')
-rw-r--r--src/runtime/debug_test.go5
-rw-r--r--src/runtime/stubs.go3
-rw-r--r--src/runtime/traceback_test.go4
3 files changed, 5 insertions, 7 deletions
diff --git a/src/runtime/debug_test.go b/src/runtime/debug_test.go
index 5bb0c5cee3..7698eacb59 100644
--- a/src/runtime/debug_test.go
+++ b/src/runtime/debug_test.go
@@ -16,7 +16,6 @@ package runtime_test
import (
"fmt"
"internal/abi"
- "internal/goexperiment"
"math"
"os"
"regexp"
@@ -144,7 +143,7 @@ func TestDebugCall(t *testing.T) {
intRegs := regs.Ints[:]
floatRegs := regs.Floats[:]
fval := float64(42.0)
- if goexperiment.RegabiArgs {
+ if len(intRegs) > 0 {
intRegs[0] = 42
floatRegs[0] = math.Float64bits(fval)
} else {
@@ -159,7 +158,7 @@ func TestDebugCall(t *testing.T) {
}
var result0 int
var result1 float64
- if goexperiment.RegabiArgs {
+ if len(intRegs) > 0 {
result0 = int(intRegs[0])
result1 = math.Float64frombits(floatRegs[0])
} else {
diff --git a/src/runtime/stubs.go b/src/runtime/stubs.go
index ad78363bb6..cd7c91029b 100644
--- a/src/runtime/stubs.go
+++ b/src/runtime/stubs.go
@@ -7,7 +7,6 @@ package runtime
import (
"internal/abi"
"internal/goarch"
- "internal/goexperiment"
"runtime/internal/math"
"unsafe"
)
@@ -434,4 +433,4 @@ func sigpanic0()
// registers the system supports.
//
// Protected by finlock.
-var intArgRegs = abi.IntArgRegs * (goexperiment.RegabiArgsInt | goarch.IsAmd64)
+var intArgRegs = abi.IntArgRegs
diff --git a/src/runtime/traceback_test.go b/src/runtime/traceback_test.go
index 7d8b04e14b..e50bd95ead 100644
--- a/src/runtime/traceback_test.go
+++ b/src/runtime/traceback_test.go
@@ -6,7 +6,7 @@ package runtime_test
import (
"bytes"
- "internal/goexperiment"
+ "internal/abi"
"internal/testenv"
"runtime"
"strings"
@@ -23,7 +23,7 @@ func TestTracebackArgs(t *testing.T) {
abiSel := func(x, y string) string {
// select expected output based on ABI
// In noopt build we always spill arguments so the output is the same as stack ABI.
- if optimized && goexperiment.RegabiArgs {
+ if optimized && abi.IntArgRegs > 0 {
return x
}
return y