Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.31
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
local /
go /
src /
cmd /
compile /
internal /
gc /
[ HOME SHELL ]
Name
Size
Permission
Action
builtin
[ DIR ]
drwxr-xr-x
testdata
[ DIR ]
drwxr-xr-x
alg.go
16.28
KB
-rw-r--r--
align.go
9.85
KB
-rw-r--r--
bexport.go
4.41
KB
-rw-r--r--
bimport.go
667
B
-rw-r--r--
bitset.go
1.15
KB
-rw-r--r--
bootstrap.go
311
B
-rw-r--r--
builtin.go
16.41
KB
-rw-r--r--
builtin_test.go
622
B
-rw-r--r--
bv.go
5.5
KB
-rw-r--r--
class_string.go
712
B
-rw-r--r--
closure.go
15.57
KB
-rw-r--r--
const.go
27.21
KB
-rw-r--r--
constFold_test.go
322.99
KB
-rw-r--r--
dcl.go
28.37
KB
-rw-r--r--
dep_test.go
587
B
-rw-r--r--
dump.go
6.37
KB
-rw-r--r--
dwinl.go
10.07
KB
-rw-r--r--
esc.go
12.22
KB
-rw-r--r--
escape.go
37.37
KB
-rw-r--r--
export.go
5.33
KB
-rw-r--r--
fixedbugs_test.go
2.23
KB
-rw-r--r--
float_test.go
11.51
KB
-rw-r--r--
fmt.go
41.71
KB
-rw-r--r--
gen.go
2.33
KB
-rw-r--r--
global_test.go
2.57
KB
-rw-r--r--
go.go
7.4
KB
-rw-r--r--
gsubr.go
9.08
KB
-rw-r--r--
iexport.go
31.65
KB
-rw-r--r--
iface_test.go
1.92
KB
-rw-r--r--
iimport.go
22.79
KB
-rw-r--r--
init.go
3.29
KB
-rw-r--r--
initorder.go
9.84
KB
-rw-r--r--
inl.go
35.08
KB
-rw-r--r--
inl_test.go
6.64
KB
-rw-r--r--
lang_test.go
1.46
KB
-rw-r--r--
lex.go
5.96
KB
-rw-r--r--
lex_test.go
3.63
KB
-rw-r--r--
logic_test.go
11.08
KB
-rw-r--r--
main.go
43.75
KB
-rw-r--r--
mapfile_mmap.go
1.21
KB
-rw-r--r--
mapfile_read.go
485
B
-rw-r--r--
mkbuiltin.go
5.34
KB
-rw-r--r--
mpfloat.go
6.56
KB
-rw-r--r--
mpint.go
5.34
KB
-rw-r--r--
noder.go
37.65
KB
-rw-r--r--
obj.go
11.44
KB
-rw-r--r--
op_string.go
4.88
KB
-rw-r--r--
order.go
37.39
KB
-rw-r--r--
pgen.go
21.66
KB
-rw-r--r--
pgen_test.go
6.01
KB
-rw-r--r--
phi.go
14.72
KB
-rw-r--r--
plive.go
44.51
KB
-rw-r--r--
pprof.go
274
B
-rw-r--r--
racewalk.go
2.61
KB
-rw-r--r--
range.go
13.72
KB
-rw-r--r--
reflect.go
48.07
KB
-rw-r--r--
reproduciblebuilds_test.go
1.46
KB
-rw-r--r--
scc.go
4.18
KB
-rw-r--r--
scope.go
2.8
KB
-rw-r--r--
scope_test.go
13.67
KB
-rw-r--r--
select.go
9.16
KB
-rw-r--r--
shift_test.go
21.46
KB
-rw-r--r--
sinit.go
26.75
KB
-rw-r--r--
sizeof_test.go
844
B
-rw-r--r--
ssa.go
224.4
KB
-rw-r--r--
ssa_test.go
5.1
KB
-rw-r--r--
subr.go
43.73
KB
-rw-r--r--
swt.go
18.51
KB
-rw-r--r--
syntax.go
36.41
KB
-rw-r--r--
timings.go
5.75
KB
-rw-r--r--
trace.go
494
B
-rw-r--r--
truncconst_test.go
1.76
KB
-rw-r--r--
typecheck.go
87.11
KB
-rw-r--r--
types.go
1.19
KB
-rw-r--r--
types_acc.go
491
B
-rw-r--r--
universe.go
10.88
KB
-rw-r--r--
unsafe.go
1.8
KB
-rw-r--r--
util.go
2.18
KB
-rw-r--r--
walk.go
101.89
KB
-rw-r--r--
zerorange_test.go
1.89
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : inl_test.go
// Copyright 2017 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. package gc import ( "bufio" "internal/testenv" "io" "math/bits" "os/exec" "regexp" "runtime" "strings" "testing" ) // TestIntendedInlining tests that specific runtime functions are inlined. // This allows refactoring for code clarity and re-use without fear that // changes to the compiler will cause silent performance regressions. func TestIntendedInlining(t *testing.T) { if testing.Short() && testenv.Builder() == "" { t.Skip("skipping in short mode") } testenv.MustHaveGoRun(t) t.Parallel() // want is the list of function names (by package) that should // be inlinable. If they have no callers in their packages, they // might not actually be inlined anywhere. want := map[string][]string{ "runtime": { "add", "acquirem", "add1", "addb", "adjustpanics", "adjustpointer", "alignDown", "alignUp", "bucketMask", "bucketShift", "chanbuf", "deferArgs", "deferclass", "evacuated", "fastlog2", "fastrand", "float64bits", "funcPC", "getArgInfoFast", "getm", "isDirectIface", "itabHashFunc", "noescape", "pcvalueCacheKey", "readUnaligned32", "readUnaligned64", "releasem", "roundupsize", "stackmapdata", "stringStructOf", "subtract1", "subtractb", "tophash", "totaldefersize", "(*bmap).keys", "(*bmap).overflow", "(*waitq).enqueue", // GC-related ones "cgoInRange", "gclinkptr.ptr", "guintptr.ptr", "heapBits.bits", "heapBits.isPointer", "heapBits.morePointers", "heapBits.next", "heapBitsForAddr", "markBits.isMarked", "muintptr.ptr", "puintptr.ptr", "spanOf", "spanOfUnchecked", //"(*gcWork).putFast", // TODO(austin): For debugging #27993 "(*gcWork).tryGetFast", "(*guintptr).set", "(*markBits).advance", "(*mspan).allocBitsForIndex", "(*mspan).base", "(*mspan).markBitsForBase", "(*mspan).markBitsForIndex", "(*muintptr).set", "(*puintptr).set", }, "runtime/internal/sys": {}, "runtime/internal/math": { "MulUintptr", }, "bytes": { "(*Buffer).Bytes", "(*Buffer).Cap", "(*Buffer).Len", "(*Buffer).Grow", "(*Buffer).Next", "(*Buffer).Read", "(*Buffer).ReadByte", "(*Buffer).Reset", "(*Buffer).String", "(*Buffer).UnreadByte", "(*Buffer).tryGrowByReslice", }, "compress/flate": { "byLiteral.Len", "byLiteral.Less", "byLiteral.Swap", }, "encoding/base64": { "assemble32", "assemble64", }, "unicode/utf8": { "FullRune", "FullRuneInString", "RuneLen", "ValidRune", }, "reflect": { "Value.CanAddr", "Value.CanSet", "Value.CanInterface", "Value.IsValid", "Value.pointer", "add", "align", "flag.mustBe", "flag.mustBeAssignable", "flag.mustBeExported", "flag.kind", "flag.ro", }, "regexp": { "(*bitState).push", }, "math/big": { "bigEndianWord", // The following functions require the math_big_pure_go build tag. "addVW", "subVW", }, "math/rand": { "(*rngSource).Int63", "(*rngSource).Uint64", }, } if runtime.GOARCH != "386" && runtime.GOARCH != "mips64" && runtime.GOARCH != "mips64le" { // nextFreeFast calls sys.Ctz64, which on 386 is implemented in asm and is not inlinable. // We currently don't have midstack inlining so nextFreeFast is also not inlinable on 386. // On MIPS64x, Ctz64 is not intrinsified and causes nextFreeFast too expensive to inline // (Issue 22239). want["runtime"] = append(want["runtime"], "nextFreeFast") } if runtime.GOARCH != "386" { // As explained above, Ctz64 and Ctz32 are not Go code on 386. // The same applies to Bswap32. want["runtime/internal/sys"] = append(want["runtime/internal/sys"], "Ctz64") want["runtime/internal/sys"] = append(want["runtime/internal/sys"], "Ctz32") want["runtime/internal/sys"] = append(want["runtime/internal/sys"], "Bswap32") } if bits.UintSize == 64 { // rotl_31 is only defined on 64-bit architectures want["runtime"] = append(want["runtime"], "rotl_31") } switch runtime.GOARCH { case "386", "wasm", "arm", "riscv64": default: // TODO(mvdan): As explained in /test/inline_sync.go, some // architectures don't have atomic intrinsics, so these go over // the inlining budget. Move back to the main table once that // problem is solved. want["sync"] = []string{ "(*Mutex).Lock", "(*Mutex).Unlock", "(*RWMutex).RLock", "(*RWMutex).RUnlock", "(*Once).Do", } } // Functions that must actually be inlined; they must have actual callers. must := map[string]bool{ "compress/flate.byLiteral.Len": true, "compress/flate.byLiteral.Less": true, "compress/flate.byLiteral.Swap": true, } notInlinedReason := make(map[string]string) pkgs := make([]string, 0, len(want)) for pname, fnames := range want { pkgs = append(pkgs, pname) for _, fname := range fnames { fullName := pname + "." + fname if _, ok := notInlinedReason[fullName]; ok { t.Errorf("duplicate func: %s", fullName) } notInlinedReason[fullName] = "unknown reason" } } args := append([]string{"build", "-a", "-gcflags=all=-m -m", "-tags=math_big_pure_go"}, pkgs...) cmd := testenv.CleanCmdEnv(exec.Command(testenv.GoToolPath(t), args...)) pr, pw := io.Pipe() cmd.Stdout = pw cmd.Stderr = pw cmdErr := make(chan error, 1) go func() { cmdErr <- cmd.Run() pw.Close() }() scanner := bufio.NewScanner(pr) curPkg := "" canInline := regexp.MustCompile(`: can inline ([^ ]*)`) haveInlined := regexp.MustCompile(`: inlining call to ([^ ]*)`) cannotInline := regexp.MustCompile(`: cannot inline ([^ ]*): (.*)`) for scanner.Scan() { line := scanner.Text() if strings.HasPrefix(line, "# ") { curPkg = line[2:] continue } if m := haveInlined.FindStringSubmatch(line); m != nil { fname := m[1] delete(notInlinedReason, curPkg+"."+fname) continue } if m := canInline.FindStringSubmatch(line); m != nil { fname := m[1] fullname := curPkg + "." + fname // If function must be inlined somewhere, being inlinable is not enough if _, ok := must[fullname]; !ok { delete(notInlinedReason, fullname) continue } } if m := cannotInline.FindStringSubmatch(line); m != nil { fname, reason := m[1], m[2] fullName := curPkg + "." + fname if _, ok := notInlinedReason[fullName]; ok { // cmd/compile gave us a reason why notInlinedReason[fullName] = reason } continue } } if err := <-cmdErr; err != nil { t.Fatal(err) } if err := scanner.Err(); err != nil { t.Fatal(err) } for fullName, reason := range notInlinedReason { t.Errorf("%s was not inlined: %s", fullName, reason) } }
Close