X7ROOT File Manager
Current Path:
/opt/golang/1.19.4/src/cmd/compile/internal/ssa/testdata
opt
/
golang
/
1.19.4
/
src
/
cmd
/
compile
/
internal
/
ssa
/
testdata
/
📁
..
📄
convertline.go
(151 B)
📄
hist.dlv-dbg.nexts
(3.81 KB)
📄
hist.dlv-opt.nexts
(3.74 KB)
📄
hist.gdb-dbg.nexts
(4.03 KB)
📄
hist.gdb-opt.nexts
(4.45 KB)
📄
hist.go
(2.4 KB)
📄
i22558.dlv-dbg.nexts
(251 B)
📄
i22558.gdb-dbg.nexts
(278 B)
📄
i22558.go
(773 B)
📄
i22600.dlv-dbg-race.nexts
(122 B)
📄
i22600.gdb-dbg-race.nexts
(149 B)
📄
i22600.go
(358 B)
📄
infloop.dlv-opt.nexts
(179 B)
📄
infloop.gdb-opt.nexts
(98 B)
📄
infloop.go
(177 B)
📄
inline-dump.go
(178 B)
📄
pushback.go
(360 B)
📄
sayhi.go
(137 B)
📄
scopes.dlv-dbg.nexts
(1.27 KB)
📄
scopes.dlv-opt.nexts
(1.11 KB)
📄
scopes.gdb-dbg.nexts
(1.27 KB)
📄
scopes.gdb-opt.nexts
(1.11 KB)
📄
scopes.go
(1.45 KB)
Editing: hist.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. // This is the input program for an end-to-end test of the DWARF produced // by the compiler. It is compiled with various flags, then the resulting // binary is "debugged" under the control of a harness. Because the compile+debug // step is time-consuming, the tests for different bugs are all accumulated here // so that their cost is only the time to "n" through the additional code. package main import ( "bufio" "fmt" "io" "os" "strconv" "strings" ) type point struct { x, y int } type line struct { begin, end point } var zero int var sink int //go:noinline func tinycall() { } func ensure(n int, sl []int) []int { for len(sl) <= n { sl = append(sl, 0) } return sl } var cannedInput string = `1 1 1 2 2 2 4 4 5 ` func test() { // For #19868 l := line{point{1 + zero, 2 + zero}, point{3 + zero, 4 + zero}} tinycall() // this forces l etc to stack dx := l.end.x - l.begin.x //gdb-dbg=(l.begin.x,l.end.y)//gdb-opt=(l,dx/O,dy/O) dy := l.end.y - l.begin.y //gdb-opt=(dx,dy/O) sink = dx + dy //gdb-opt=(dx,dy) // For #21098 hist := make([]int, 7) //gdb-opt=(dx/O,dy/O) // TODO sink is missing if this code is in 'test' instead of 'main' var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A) // TODO cannedInput/A is missing if this code is in 'test' instead of 'main' if len(os.Args) > 1 { var err error reader, err = os.Open(os.Args[1]) if err != nil { fmt.Fprintf(os.Stderr, "There was an error opening %s: %v\n", os.Args[1], err) return } } scanner := bufio.NewScanner(reader) for scanner.Scan() { //gdb-opt=(scanner/A) s := scanner.Text() i, err := strconv.ParseInt(s, 10, 64) if err != nil { //gdb-dbg=(i) //gdb-opt=(err,hist,i) fmt.Fprintf(os.Stderr, "There was an error: %v\n", err) return } hist = ensure(int(i), hist) hist[int(i)]++ } t := 0 n := 0 for i, a := range hist { if a == 0 { //gdb-opt=(a,n,t) continue } t += i * a n += a fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t) } } func main() { growstack() // Use stack early to prevent growth during test, which confuses gdb test() } var snk string //go:noinline func growstack() { snk = fmt.Sprintf("%#v,%#v,%#v", 1, true, "cat") }
Upload File
Create Folder