X7ROOT File Manager
Current Path:
/opt/golang/1.22.0/src/internal/goexperiment
opt
/
golang
/
1.22.0
/
src
/
internal
/
goexperiment
/
📁
..
📄
exp_allocheaders_off.go
(162 B)
📄
exp_allocheaders_on.go
(160 B)
📄
exp_arenas_off.go
(144 B)
📄
exp_arenas_on.go
(142 B)
📄
exp_boringcrypto_off.go
(162 B)
📄
exp_boringcrypto_on.go
(160 B)
📄
exp_cacheprog_off.go
(153 B)
📄
exp_cacheprog_on.go
(151 B)
📄
exp_cgocheck2_off.go
(153 B)
📄
exp_cgocheck2_on.go
(151 B)
📄
exp_coverageredesign_off.go
(174 B)
📄
exp_coverageredesign_on.go
(172 B)
📄
exp_exectracer2_off.go
(195 B)
📄
exp_exectracer2_on.go
(192 B)
📄
exp_fieldtrack_off.go
(156 B)
📄
exp_fieldtrack_on.go
(154 B)
📄
exp_heapminimum512kib_off.go
(177 B)
📄
exp_heapminimum512kib_on.go
(175 B)
📄
exp_loopvar_off.go
(147 B)
📄
exp_loopvar_on.go
(145 B)
📄
exp_newinliner_off.go
(156 B)
📄
exp_newinliner_on.go
(154 B)
📄
exp_pagetrace_off.go
(153 B)
📄
exp_pagetrace_on.go
(151 B)
📄
exp_preemptibleloops_off.go
(174 B)
📄
exp_preemptibleloops_on.go
(172 B)
📄
exp_rangefunc_off.go
(153 B)
📄
exp_rangefunc_on.go
(151 B)
📄
exp_regabiargs_off.go
(156 B)
📄
exp_regabiargs_on.go
(154 B)
📄
exp_regabiwrappers_off.go
(168 B)
📄
exp_regabiwrappers_on.go
(166 B)
📄
exp_staticlockranking_off.go
(177 B)
📄
exp_staticlockranking_on.go
(175 B)
📄
flags.go
(4.51 KB)
📄
mkconsts.go
(1.63 KB)
Editing: mkconsts.go
// Copyright 2021 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build ignore // mkconsts generates const definition files for each GOEXPERIMENT. package main import ( "bytes" "fmt" "internal/goexperiment" "log" "os" "reflect" "strings" ) func main() { // Delete existing experiment constant files. ents, err := os.ReadDir(".") if err != nil { log.Fatal(err) } for _, ent := range ents { name := ent.Name() if !strings.HasPrefix(name, "exp_") { continue } // Check that this is definitely a generated file. data, err := os.ReadFile(name) if err != nil { log.Fatalf("reading %s: %v", name, err) } if !bytes.Contains(data, []byte("Code generated by mkconsts")) { log.Fatalf("%s: expected generated file", name) } if err := os.Remove(name); err != nil { log.Fatal(err) } } // Generate new experiment constant files. rt := reflect.TypeOf(&goexperiment.Flags{}).Elem() for i := 0; i < rt.NumField(); i++ { f := rt.Field(i).Name buildTag := "goexperiment." + strings.ToLower(f) for _, val := range []bool{false, true} { name := fmt.Sprintf("exp_%s_%s.go", strings.ToLower(f), pick(val, "off", "on")) data := fmt.Sprintf(`// Code generated by mkconsts.go. DO NOT EDIT. //go:build %s%s package goexperiment const %s = %v const %sInt = %s `, pick(val, "!", ""), buildTag, f, val, f, pick(val, "0", "1")) if err := os.WriteFile(name, []byte(data), 0666); err != nil { log.Fatalf("writing %s: %v", name, err) } } } } func pick(v bool, f, t string) string { if v { return t } return f }
Upload File
Create Folder