Package goexperiment
Overview ▸
Index ▸
Constants
const Arenas = false
const ArenasInt = 0
const BoringCrypto = false
const BoringCryptoInt = 0
const CgoCheck2 = false
const CgoCheck2Int = 0
const Dwarf5 = true
const Dwarf5Int = 1
const FieldTrack = false
const FieldTrackInt = 0
const GoroutineLeakProfile = false
const GoroutineLeakProfileInt = 0
const GreenTeaGC = false
const GreenTeaGCInt = 0
const HeapMinimum512KiB = false
const HeapMinimum512KiBInt = 0
const JSONv2 = false
const JSONv2Int = 0
const LoopVar = false
const LoopVarInt = 0
const NewInliner = false
const NewInlinerInt = 0
const PreemptibleLoops = false
const PreemptibleLoopsInt = 0
const RandomizedHeapBase64 = false
const RandomizedHeapBase64Int = 0
const RegabiArgs = true
const RegabiArgsInt = 1
const RegabiWrappers = true
const RegabiWrappersInt = 1
const RuntimeFreegc = false
const RuntimeFreegcInt = 0
const RuntimeSecret = false
const RuntimeSecretInt = 0
const SIMD = false
const SIMDInt = 0
const SizeSpecializedMalloc = false
const SizeSpecializedMallocInt = 0
const StaticLockRanking = false
const StaticLockRankingInt = 0
type Flags
Flags is the set of experiments that can be enabled or disabled in the current toolchain.
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 internal/buildcfg.Experiment.
If you change this struct definition, run "go generate".
type Flags struct {
FieldTrack bool
PreemptibleLoops bool
StaticLockRanking bool
BoringCrypto bool
// RegabiWrappers enables ABI wrappers for calling between
// ABI0 and ABIInternal functions. Without this, the ABIs are
// assumed to be identical so cross-ABI calls are direct.
RegabiWrappers bool
// RegabiArgs enables register arguments/results in all
// compiled Go functions.
//
// Requires wrappers (to do ABI translation), and reflect (so
// reflection calls use registers).
RegabiArgs bool
// HeapMinimum512KiB reduces the minimum heap size to 512 KiB.
//
// This was originally reduced as part of PacerRedesign, but
// has been broken out to its own experiment that is disabled
// by default.
HeapMinimum512KiB bool
// Arenas causes the "arena" standard library package to be visible
// to the outside world.
Arenas bool
// CgoCheck2 enables an expensive cgo rule checker.
// When this experiment is enabled, cgo rule checks occur regardless
// of the GODEBUG=cgocheck setting provided at runtime.
CgoCheck2 bool
// LoopVar changes loop semantics so that each iteration gets its own
// copy of the iteration variable.
LoopVar bool
// NewInliner enables a new+improved version of the function
// inlining phase within the Go compiler.
NewInliner bool
// Dwarf5 enables DWARF version 5 debug info generation.
Dwarf5 bool
// JSONv2 enables the json/v2 package.
JSONv2 bool
// GreenTeaGC enables the Green Tea GC implementation.
GreenTeaGC bool
// RandomizedHeapBase enables heap base address randomization on 64-bit
// platforms.
RandomizedHeapBase64 bool
// RuntimeFreegc enables the runtime to free and reuse memory more eagerly in some circumstances with compiler help.
RuntimeFreegc bool
// SizeSpecializedMalloc enables malloc implementations that are specialized per size class.
SizeSpecializedMalloc bool
// GoroutineLeakProfile enables the collection of goroutine leak profiles.
GoroutineLeakProfile bool
// SIMD enables the simd package and the compiler's handling
// of SIMD intrinsics.
SIMD bool
// RuntimeSecret enables the runtime/secret package.
RuntimeSecret bool
}