runtime.go raw
1 package unused
2
3 // Functions defined in the Go runtime that may be called through
4 // compiler magic or via assembly.
5 var runtimeFuncs = map[string]bool{
6 // Copied from cmd/compile/internal/typecheck/builtin.go, var runtimeDecls
7 "newobject": true,
8 "panicindex": true,
9 "panicslice": true,
10 "panicdivide": true,
11 "panicmakeslicelen": true,
12 "throwinit": true,
13 "panicwrap": true,
14 "gopanic": true,
15 "gorecover": true,
16 "goschedguarded": true,
17 "printbool": true,
18 "printfloat": true,
19 "printint": true,
20 "printhex": true,
21 "printuint": true,
22 "printcomplex": true,
23 "printstring": true,
24 "printpointer": true,
25 "printiface": true,
26 "printeface": true,
27 "printslice": true,
28 "printnl": true,
29 "printsp": true,
30 "printlock": true,
31 "printunlock": true,
32 "concatstring2": true,
33 "concatstring3": true,
34 "concatstring4": true,
35 "concatstring5": true,
36 "concatstrings": true,
37 "cmpstring": true,
38 "intstring": true,
39 "slicebytetostring": true,
40 "slicebytetostringtmp": true,
41 "slicerunetostring": true,
42 "stringtoslicebyte": true,
43 "stringtoslicerune": true,
44 "slicecopy": true,
45 "slicestringcopy": true,
46 "decoderune": true,
47 "countrunes": true,
48 "convI2I": true,
49 "convT16": true,
50 "convT32": true,
51 "convT64": true,
52 "convTstring": true,
53 "convTslice": true,
54 "convT2E": true,
55 "convT2Enoptr": true,
56 "convT2I": true,
57 "convT2Inoptr": true,
58 "assertE2I": true,
59 "assertE2I2": true,
60 "assertI2I": true,
61 "assertI2I2": true,
62 "panicdottypeE": true,
63 "panicdottypeI": true,
64 "panicnildottype": true,
65 "ifaceeq": true,
66 "efaceeq": true,
67 "fastrand": true,
68 "makemap64": true,
69 "makemap": true,
70 "makemap_small": true,
71 "mapaccess1": true,
72 "mapaccess1_fast32": true,
73 "mapaccess1_fast64": true,
74 "mapaccess1_faststr": true,
75 "mapaccess1_fat": true,
76 "mapaccess2": true,
77 "mapaccess2_fast32": true,
78 "mapaccess2_fast64": true,
79 "mapaccess2_faststr": true,
80 "mapaccess2_fat": true,
81 "mapassign": true,
82 "mapassign_fast32": true,
83 "mapassign_fast32ptr": true,
84 "mapassign_fast64": true,
85 "mapassign_fast64ptr": true,
86 "mapassign_faststr": true,
87 "mapiterinit": true,
88 "mapdelete": true,
89 "mapdelete_fast32": true,
90 "mapdelete_fast64": true,
91 "mapdelete_faststr": true,
92 "mapiternext": true,
93 "mapclear": true,
94 "makechan64": true,
95 "makechan": true,
96 "chanrecv1": true,
97 "chanrecv2": true,
98 "chansend1": true,
99 "closechan": true,
100 "writeBarrier": true,
101 "typedmemmove": true,
102 "typedmemclr": true,
103 "typedslicecopy": true,
104 "selectnbsend": true,
105 "selectnbrecv": true,
106 "selectnbrecv2": true,
107 "selectsetpc": true,
108 "selectgo": true,
109 "block": true,
110 "makeslice": true,
111 "makeslice64": true,
112 "growslice": true,
113 "memmove": true,
114 "memclrNoHeapPointers": true,
115 "memclrHasPointers": true,
116 "memequal": true,
117 "memequal8": true,
118 "memequal16": true,
119 "memequal32": true,
120 "memequal64": true,
121 "memequal128": true,
122 "int64div": true,
123 "uint64div": true,
124 "int64mod": true,
125 "uint64mod": true,
126 "float64toint64": true,
127 "float64touint64": true,
128 "float64touint32": true,
129 "int64tofloat64": true,
130 "uint64tofloat64": true,
131 "uint32tofloat64": true,
132 "complex128div": true,
133 "racefuncenter": true,
134 "racefuncenterfp": true,
135 "racefuncexit": true,
136 "raceread": true,
137 "racewrite": true,
138 "racereadrange": true,
139 "racewriterange": true,
140 "msanread": true,
141 "msanwrite": true,
142 "x86HasPOPCNT": true,
143 "x86HasSSE41": true,
144 "arm64HasATOMICS": true,
145 "mallocgc": true,
146 "panicshift": true,
147 "panicmakeslicecap": true,
148 "goPanicIndex": true,
149 "goPanicIndexU": true,
150 "goPanicSliceAlen": true,
151 "goPanicSliceAlenU": true,
152 "goPanicSliceAcap": true,
153 "goPanicSliceAcapU": true,
154 "goPanicSliceB": true,
155 "goPanicSliceBU": true,
156 "goPanicSlice3Alen": true,
157 "goPanicSlice3AlenU": true,
158 "goPanicSlice3Acap": true,
159 "goPanicSlice3AcapU": true,
160 "goPanicSlice3B": true,
161 "goPanicSlice3BU": true,
162 "goPanicSlice3C": true,
163 "goPanicSlice3CU": true,
164 "goPanicSliceConvert": true,
165 "printuintptr": true,
166 "convT": true,
167 "convTnoptr": true,
168 "makeslicecopy": true,
169 "unsafeslicecheckptr": true,
170 "panicunsafeslicelen": true,
171 "panicunsafeslicenilptr": true,
172 "unsafestringcheckptr": true,
173 "panicunsafestringlen": true,
174 "panicunsafestringnilptr": true,
175 "mulUintptr": true,
176 "memequal0": true,
177 "f32equal": true,
178 "f64equal": true,
179 "c64equal": true,
180 "c128equal": true,
181 "strequal": true,
182 "interequal": true,
183 "nilinterequal": true,
184 "memhash": true,
185 "memhash0": true,
186 "memhash8": true,
187 "memhash16": true,
188 "memhash32": true,
189 "memhash64": true,
190 "memhash128": true,
191 "f32hash": true,
192 "f64hash": true,
193 "c64hash": true,
194 "c128hash": true,
195 "strhash": true,
196 "interhash": true,
197 "nilinterhash": true,
198 "int64tofloat32": true,
199 "uint64tofloat32": true,
200 "getcallerpc": true,
201 "getcallersp": true,
202 "msanmove": true,
203 "asanread": true,
204 "asanwrite": true,
205 "checkptrAlignment": true,
206 "checkptrArithmetic": true,
207 "libfuzzerTraceCmp1": true,
208 "libfuzzerTraceCmp2": true,
209 "libfuzzerTraceCmp4": true,
210 "libfuzzerTraceCmp8": true,
211 "libfuzzerTraceConstCmp1": true,
212 "libfuzzerTraceConstCmp2": true,
213 "libfuzzerTraceConstCmp4": true,
214 "libfuzzerTraceConstCmp8": true,
215 "libfuzzerHookStrCmp": true,
216 "libfuzzerHookEqualFold": true,
217 "addCovMeta": true,
218 "x86HasFMA": true,
219 "armHasVFPv4": true,
220
221 // Extracted from assembly code in the standard library, with the exception of the runtime package itself
222 "abort": true,
223 "aeshashbody": true,
224 "args": true,
225 "asminit": true,
226 "badctxt": true,
227 "badmcall2": true,
228 "badmcall": true,
229 "badmorestackg0": true,
230 "badmorestackgsignal": true,
231 "badsignal2": true,
232 "callbackasm1": true,
233 "callCfunction": true,
234 "cgocallback_gofunc": true,
235 "cgocallbackg": true,
236 "checkgoarm": true,
237 "check": true,
238 "debugCallCheck": true,
239 "debugCallWrap": true,
240 "emptyfunc": true,
241 "entersyscall": true,
242 "exit": true,
243 "exits": true,
244 "exitsyscall": true,
245 "externalthreadhandler": true,
246 "findnull": true,
247 "goexit1": true,
248 "gostring": true,
249 "i386_set_ldt": true,
250 "_initcgo": true,
251 "init_thread_tls": true,
252 "ldt0setup": true,
253 "libpreinit": true,
254 "load_g": true,
255 "morestack": true,
256 "mstart": true,
257 "nacl_sysinfo": true,
258 "nanotimeQPC": true,
259 "nanotime": true,
260 "newosproc0": true,
261 "newproc": true,
262 "newstack": true,
263 "noted": true,
264 "nowQPC": true,
265 "osinit": true,
266 "printf": true,
267 "racecallback": true,
268 "reflectcallmove": true,
269 "reginit": true,
270 "rt0_go": true,
271 "save_g": true,
272 "schedinit": true,
273 "setldt": true,
274 "settls": true,
275 "sighandler": true,
276 "sigprofNonGo": true,
277 "sigtrampgo": true,
278 "_sigtramp": true,
279 "sigtramp": true,
280 "stackcheck": true,
281 "syscall_chdir": true,
282 "syscall_chroot": true,
283 "syscall_close": true,
284 "syscall_dup2": true,
285 "syscall_execve": true,
286 "syscall_exit": true,
287 "syscall_fcntl": true,
288 "syscall_forkx": true,
289 "syscall_gethostname": true,
290 "syscall_getpid": true,
291 "syscall_ioctl": true,
292 "syscall_pipe": true,
293 "syscall_rawsyscall6": true,
294 "syscall_rawSyscall6": true,
295 "syscall_rawsyscall": true,
296 "syscall_RawSyscall": true,
297 "syscall_rawsysvicall6": true,
298 "syscall_setgid": true,
299 "syscall_setgroups": true,
300 "syscall_setpgid": true,
301 "syscall_setsid": true,
302 "syscall_setuid": true,
303 "syscall_syscall6": true,
304 "syscall_syscall": true,
305 "syscall_Syscall": true,
306 "syscall_sysvicall6": true,
307 "syscall_wait4": true,
308 "syscall_write": true,
309 "traceback": true,
310 "tstart": true,
311 "usplitR0": true,
312 "wbBufFlush": true,
313 "write": true,
314
315 // Other runtime functions that can get called in non-standard ways
316 "bgsweep": true,
317 "memhash_varlen": true,
318 "strhashFallback": true,
319 "asanregisterglobals": true,
320 "cgoUse": true,
321 "cgoCheckPointer": true,
322 "cgoCheckResult": true,
323 "_cgo_panic_internal": true,
324 "addExitHook": true,
325 }
326
327 var runtimeCoverageFuncs = map[string]bool{
328 "initHook": true,
329 "markProfileEmitted": true,
330 "processCoverTestDir": true,
331 }
332