internal/goexperiment: move baseline configuration to objabi

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>
This commit is contained in:
Austin Clements 2021-04-14 12:35:00 -04:00 committed by Russ Cox
parent f08c552dab
commit cf2396c70e
2 changed files with 10 additions and 7 deletions

View 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

View 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{}