mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
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:
parent
f08c552dab
commit
cf2396c70e
2 changed files with 10 additions and 7 deletions
|
|
@ -20,6 +20,11 @@ import (
|
||||||
// was built with.)
|
// was built with.)
|
||||||
var Experiment goexperiment.Flags = parseExperiments()
|
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
|
// FramePointerEnabled enables the use of platform conventions for
|
||||||
// saving frame pointers.
|
// saving frame pointers.
|
||||||
//
|
//
|
||||||
|
|
@ -31,7 +36,7 @@ var FramePointerEnabled = GOARCH == "amd64" || GOARCH == "arm64"
|
||||||
|
|
||||||
func parseExperiments() goexperiment.Flags {
|
func parseExperiments() goexperiment.Flags {
|
||||||
// Start with the statically enabled set of experiments.
|
// Start with the statically enabled set of experiments.
|
||||||
flags := goexperiment.BaselineFlags
|
flags := experimentBaseline
|
||||||
|
|
||||||
// Pick up any changes to the baseline configuration from the
|
// Pick up any changes to the baseline configuration from the
|
||||||
// GOEXPERIMENT environment. This can be set at make.bash time
|
// 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
|
// GOEXPERIMENT is exactly what a user would set on the command line
|
||||||
// to get the set of enabled experiments.
|
// to get the set of enabled experiments.
|
||||||
func GOEXPERIMENT() string {
|
func GOEXPERIMENT() string {
|
||||||
return strings.Join(expList(&Experiment, &goexperiment.BaselineFlags), ",")
|
return strings.Join(expList(&Experiment, &experimentBaseline), ",")
|
||||||
}
|
}
|
||||||
|
|
||||||
// EnabledExperiments returns a list of enabled experiments, as
|
// EnabledExperiments returns a list of enabled experiments, as
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,9 @@ package goexperiment
|
||||||
// When specified in the GOEXPERIMENT environment variable or as build
|
// When specified in the GOEXPERIMENT environment variable or as build
|
||||||
// tags, experiments use the strings.ToLower of their field name.
|
// 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".
|
// If you change this struct definition, run "go generate".
|
||||||
type Flags struct {
|
type Flags struct {
|
||||||
FieldTrack bool
|
FieldTrack bool
|
||||||
|
|
@ -78,8 +81,3 @@ type Flags struct {
|
||||||
// register arguments to defer/go).
|
// register arguments to defer/go).
|
||||||
RegabiArgs bool
|
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{}
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue