You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/cmd/compile/internal/ir/expr.go
+8-1
Original file line number
Diff line number
Diff line change
@@ -153,13 +153,20 @@ const (
153
153
CallUseStmt// results not used - call is a statement
154
154
)
155
155
156
+
// EdgeFrequency stores edge profile information for CallExpr where RawCount captures the raw sampled execution count and percent denotes the percentage of counts spent in this edge vs. the total edge samples collected.
157
+
typeEdgeFrequencystruct {
158
+
RawCountint64
159
+
Percentfloat64
160
+
}
161
+
156
162
// A CallExpr is a function call X(Args).
157
163
typeCallExprstruct {
158
164
miniExpr
159
165
origNode
160
166
XNode
161
167
ArgsNodes
162
-
KeepAlive []*Name// vars to be kept alive until call returns
168
+
KeepAlive []*Name// vars to be kept alive until call returns
169
+
EdgeFreqmap[*Func]EdgeFrequency// Frequency of callee targets
Copy file name to clipboardExpand all lines: src/cmd/compile/internal/ir/func.go
+8
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,12 @@ import (
11
11
"cmd/internal/src"
12
12
)
13
13
14
+
// NodeFrequency stores profile data of an ir.Func where RawCount stores the number of samples and percent captures fraction samples spend in this function versus all samples collected.
15
+
typeNodeFrequencystruct {
16
+
RawCountint64
17
+
Percentfloat64
18
+
}
19
+
14
20
// A Func corresponds to a single function in a Go program
15
21
// (and vice versa: each function is denoted by exactly one *Func).
16
22
//
@@ -96,6 +102,8 @@ type Func struct {
96
102
LSym*obj.LSym// Linker object in this function's native ABI (Func.ABI)
97
103
98
104
Inl*Inline
105
+
// Aggregated Weight of the function obtained from pprof profiles.
106
+
NodeFreqNodeFrequency
99
107
100
108
// Closgen tracks how many closures have been generated within
101
109
// this function. Used by closurename for creating unique
0 commit comments