]> Cypherpunks repositories - gostls13.git/commitdiff
internal/goexperiment: move baseline configuration to objabi
authorAustin Clements <austin@google.com>
Wed, 14 Apr 2021 16:35:00 +0000 (12:35 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 16 Apr 2021 03:16:11 +0000 (03:16 +0000)
We need to adjust baseline experiment configuration based on the
configured GOOS and GOARCH, so it can't live in goexperiment. Move it
to objabi.

Change-Id: I65f4ce56902c6c1a82735050773c58f2d1320cc6
Reviewed-on: https://go-review.googlesource.com/c/go/+/310169
Trust: Austin Clements <austin@google.com>
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
src/cmd/internal/objabi/exp.go
src/internal/goexperiment/flags.go

index 5ebbdac772792c2bd97da63298f8ddbdf60528ab..9eb3e431b394dadafd08a67d6108f6099b556769 100644 (file)
@@ -20,6 +20,11 @@ import (
 // was built with.)
 var Experiment goexperiment.Flags = parseExperiments()
 
+// experimentBaseline specifies the experiment flags that are enabled by
+// default in the current toolchain. This is, in effect, the "control"
+// configuration and any variation from this is an experiment.
+var experimentBaseline goexperiment.Flags
+
 // FramePointerEnabled enables the use of platform conventions for
 // saving frame pointers.
 //
@@ -31,7 +36,7 @@ var FramePointerEnabled = GOARCH == "amd64" || GOARCH == "arm64"
 
 func parseExperiments() goexperiment.Flags {
        // Start with the statically enabled set of experiments.
-       flags := goexperiment.BaselineFlags
+       flags := experimentBaseline
 
        // Pick up any changes to the baseline configuration from the
        // GOEXPERIMENT environment. This can be set at make.bash time
@@ -135,7 +140,7 @@ func expList(exp, base *goexperiment.Flags) []string {
 // GOEXPERIMENT is exactly what a user would set on the command line
 // to get the set of enabled experiments.
 func GOEXPERIMENT() string {
-       return strings.Join(expList(&Experiment, &goexperiment.BaselineFlags), ",")
+       return strings.Join(expList(&Experiment, &experimentBaseline), ",")
 }
 
 // EnabledExperiments returns a list of enabled experiments, as
index 4803fabe28e87d024b5c97dc8d4c4fe668b43af1..932df10ded175fd5f924951c019f7b2feea68b44 100644 (file)
@@ -41,6 +41,9 @@ package goexperiment
 // When specified in the GOEXPERIMENT environment variable or as build
 // tags, experiments use the strings.ToLower of their field name.
 //
+// For the baseline experimental configuration, see
+// objabi.experimentBaseline.
+//
 // If you change this struct definition, run "go generate".
 type Flags struct {
        FieldTrack        bool
@@ -78,8 +81,3 @@ type Flags struct {
        // register arguments to defer/go).
        RegabiArgs bool
 }
-
-// BaselineFlags specifies the experiment flags that are enabled by
-// default in the current toolchain. This is, in effect, the "control"
-// configuration and any variation from this is an experiment.
-var BaselineFlags = Flags{}