}
// Set GOEXPERIMENT to the parsed and canonicalized set of experiments.
- // This format must be parseable by runtime.haveexperiment.
GOEXPERIMENT = expList()
}
addstrdata1(ctxt, "runtime.defaultGOROOT="+final)
addstrdata1(ctxt, "cmd/internal/objabi.defaultGOROOT="+final)
- addstrdata1(ctxt, "runtime/internal/sys.GOEXPERIMENT="+objabi.GOEXPERIMENT)
-
// TODO(matloob): define these above and then check flag values here
if ctxt.Arch.Family == sys.AMD64 && objabi.GOOS == "plan9" {
flag.BoolVar(&flag8, "8", false, "use 64-bit addresses in symbol table")
dumpint(uint64(arenaStart))
dumpint(uint64(arenaEnd))
dumpstr(sys.GOARCH)
- dumpstr(sys.GOEXPERIMENT)
+ dumpstr(buildVersion)
dumpint(uint64(ncpu))
}
// StackAlign is the required alignment of the SP register.
// The stack must be at least word aligned, but some architectures require more.
const StackAlign = _StackAlign
-
-var GOEXPERIMENT string // set by cmd/link
package runtime
import (
- "internal/bytealg"
"internal/cpu"
"runtime/internal/atomic"
"runtime/internal/sys"
return
}
-func haveexperiment(name string) bool {
- // GOEXPERIMENT is a comma-separated list of enabled
- // experiments. It's not the raw environment variable, but a
- // pre-processed list from cmd/internal/objabi.
- x := sys.GOEXPERIMENT
- for x != "" {
- xname := ""
- i := bytealg.IndexByteString(x, ',')
- if i < 0 {
- xname, x = x, ""
- } else {
- xname, x = x[:i], x[i+1:]
- }
- if xname == name {
- return true
- }
- }
- return false
-}
-
//go:nosplit
func procPin() int {
_g_ := getg()