github.com/gagliardetto/golang-go@v0.0.0-20201020153340-53909ea70814/cmd/compile/internal/gc/builtin.go (about) 1 // Code generated by mkbuiltin.go. DO NOT EDIT. 2 3 package gc 4 5 import "github.com/gagliardetto/golang-go/cmd/compile/internal/types" 6 7 var runtimeDecls = [...]struct { 8 name string 9 tag int 10 typ int 11 }{ 12 {"newobject", funcTag, 4}, 13 {"panicdivide", funcTag, 5}, 14 {"panicshift", funcTag, 5}, 15 {"panicmakeslicelen", funcTag, 5}, 16 {"throwinit", funcTag, 5}, 17 {"panicwrap", funcTag, 5}, 18 {"gopanic", funcTag, 7}, 19 {"gorecover", funcTag, 10}, 20 {"goschedguarded", funcTag, 5}, 21 {"goPanicIndex", funcTag, 12}, 22 {"goPanicIndexU", funcTag, 14}, 23 {"goPanicSliceAlen", funcTag, 12}, 24 {"goPanicSliceAlenU", funcTag, 14}, 25 {"goPanicSliceAcap", funcTag, 12}, 26 {"goPanicSliceAcapU", funcTag, 14}, 27 {"goPanicSliceB", funcTag, 12}, 28 {"goPanicSliceBU", funcTag, 14}, 29 {"goPanicSlice3Alen", funcTag, 12}, 30 {"goPanicSlice3AlenU", funcTag, 14}, 31 {"goPanicSlice3Acap", funcTag, 12}, 32 {"goPanicSlice3AcapU", funcTag, 14}, 33 {"goPanicSlice3B", funcTag, 12}, 34 {"goPanicSlice3BU", funcTag, 14}, 35 {"goPanicSlice3C", funcTag, 12}, 36 {"goPanicSlice3CU", funcTag, 14}, 37 {"printbool", funcTag, 16}, 38 {"printfloat", funcTag, 18}, 39 {"printint", funcTag, 20}, 40 {"printhex", funcTag, 22}, 41 {"printuint", funcTag, 22}, 42 {"printcomplex", funcTag, 24}, 43 {"printstring", funcTag, 26}, 44 {"printpointer", funcTag, 27}, 45 {"printiface", funcTag, 27}, 46 {"printeface", funcTag, 27}, 47 {"printslice", funcTag, 27}, 48 {"printnl", funcTag, 5}, 49 {"printsp", funcTag, 5}, 50 {"printlock", funcTag, 5}, 51 {"printunlock", funcTag, 5}, 52 {"concatstring2", funcTag, 30}, 53 {"concatstring3", funcTag, 31}, 54 {"concatstring4", funcTag, 32}, 55 {"concatstring5", funcTag, 33}, 56 {"concatstrings", funcTag, 35}, 57 {"cmpstring", funcTag, 36}, 58 {"intstring", funcTag, 39}, 59 {"slicebytetostring", funcTag, 41}, 60 {"slicebytetostringtmp", funcTag, 42}, 61 {"slicerunetostring", funcTag, 45}, 62 {"stringtoslicebyte", funcTag, 46}, 63 {"stringtoslicerune", funcTag, 49}, 64 {"slicecopy", funcTag, 51}, 65 {"slicestringcopy", funcTag, 52}, 66 {"decoderune", funcTag, 53}, 67 {"countrunes", funcTag, 54}, 68 {"convI2I", funcTag, 55}, 69 {"convT16", funcTag, 57}, 70 {"convT32", funcTag, 57}, 71 {"convT64", funcTag, 57}, 72 {"convTstring", funcTag, 57}, 73 {"convTslice", funcTag, 57}, 74 {"convT2E", funcTag, 58}, 75 {"convT2Enoptr", funcTag, 58}, 76 {"convT2I", funcTag, 58}, 77 {"convT2Inoptr", funcTag, 58}, 78 {"assertE2I", funcTag, 55}, 79 {"assertE2I2", funcTag, 59}, 80 {"assertI2I", funcTag, 55}, 81 {"assertI2I2", funcTag, 59}, 82 {"panicdottypeE", funcTag, 60}, 83 {"panicdottypeI", funcTag, 60}, 84 {"panicnildottype", funcTag, 61}, 85 {"ifaceeq", funcTag, 63}, 86 {"efaceeq", funcTag, 63}, 87 {"fastrand", funcTag, 65}, 88 {"makemap64", funcTag, 67}, 89 {"makemap", funcTag, 68}, 90 {"makemap_small", funcTag, 69}, 91 {"mapaccess1", funcTag, 70}, 92 {"mapaccess1_fast32", funcTag, 71}, 93 {"mapaccess1_fast64", funcTag, 71}, 94 {"mapaccess1_faststr", funcTag, 71}, 95 {"mapaccess1_fat", funcTag, 72}, 96 {"mapaccess2", funcTag, 73}, 97 {"mapaccess2_fast32", funcTag, 74}, 98 {"mapaccess2_fast64", funcTag, 74}, 99 {"mapaccess2_faststr", funcTag, 74}, 100 {"mapaccess2_fat", funcTag, 75}, 101 {"mapassign", funcTag, 70}, 102 {"mapassign_fast32", funcTag, 71}, 103 {"mapassign_fast32ptr", funcTag, 71}, 104 {"mapassign_fast64", funcTag, 71}, 105 {"mapassign_fast64ptr", funcTag, 71}, 106 {"mapassign_faststr", funcTag, 71}, 107 {"mapiterinit", funcTag, 76}, 108 {"mapdelete", funcTag, 76}, 109 {"mapdelete_fast32", funcTag, 77}, 110 {"mapdelete_fast64", funcTag, 77}, 111 {"mapdelete_faststr", funcTag, 77}, 112 {"mapiternext", funcTag, 78}, 113 {"mapclear", funcTag, 79}, 114 {"makechan64", funcTag, 81}, 115 {"makechan", funcTag, 82}, 116 {"chanrecv1", funcTag, 84}, 117 {"chanrecv2", funcTag, 85}, 118 {"chansend1", funcTag, 87}, 119 {"closechan", funcTag, 27}, 120 {"writeBarrier", varTag, 89}, 121 {"typedmemmove", funcTag, 90}, 122 {"typedmemclr", funcTag, 91}, 123 {"typedslicecopy", funcTag, 92}, 124 {"selectnbsend", funcTag, 93}, 125 {"selectnbrecv", funcTag, 94}, 126 {"selectnbrecv2", funcTag, 96}, 127 {"selectsetpc", funcTag, 61}, 128 {"selectgo", funcTag, 97}, 129 {"block", funcTag, 5}, 130 {"makeslice", funcTag, 98}, 131 {"makeslice64", funcTag, 99}, 132 {"growslice", funcTag, 101}, 133 {"memmove", funcTag, 102}, 134 {"memclrNoHeapPointers", funcTag, 103}, 135 {"memclrHasPointers", funcTag, 103}, 136 {"memequal", funcTag, 104}, 137 {"memequal0", funcTag, 105}, 138 {"memequal8", funcTag, 105}, 139 {"memequal16", funcTag, 105}, 140 {"memequal32", funcTag, 105}, 141 {"memequal64", funcTag, 105}, 142 {"memequal128", funcTag, 105}, 143 {"f32equal", funcTag, 106}, 144 {"f64equal", funcTag, 106}, 145 {"c64equal", funcTag, 106}, 146 {"c128equal", funcTag, 106}, 147 {"strequal", funcTag, 106}, 148 {"interequal", funcTag, 106}, 149 {"nilinterequal", funcTag, 106}, 150 {"memhash", funcTag, 107}, 151 {"memhash0", funcTag, 108}, 152 {"memhash8", funcTag, 108}, 153 {"memhash16", funcTag, 108}, 154 {"memhash32", funcTag, 108}, 155 {"memhash64", funcTag, 108}, 156 {"memhash128", funcTag, 108}, 157 {"f32hash", funcTag, 108}, 158 {"f64hash", funcTag, 108}, 159 {"c64hash", funcTag, 108}, 160 {"c128hash", funcTag, 108}, 161 {"strhash", funcTag, 108}, 162 {"interhash", funcTag, 108}, 163 {"nilinterhash", funcTag, 108}, 164 {"int64div", funcTag, 109}, 165 {"uint64div", funcTag, 110}, 166 {"int64mod", funcTag, 109}, 167 {"uint64mod", funcTag, 110}, 168 {"float64toint64", funcTag, 111}, 169 {"float64touint64", funcTag, 112}, 170 {"float64touint32", funcTag, 113}, 171 {"int64tofloat64", funcTag, 114}, 172 {"uint64tofloat64", funcTag, 115}, 173 {"uint32tofloat64", funcTag, 116}, 174 {"complex128div", funcTag, 117}, 175 {"racefuncenter", funcTag, 118}, 176 {"racefuncenterfp", funcTag, 5}, 177 {"racefuncexit", funcTag, 5}, 178 {"raceread", funcTag, 118}, 179 {"racewrite", funcTag, 118}, 180 {"racereadrange", funcTag, 119}, 181 {"racewriterange", funcTag, 119}, 182 {"msanread", funcTag, 119}, 183 {"msanwrite", funcTag, 119}, 184 {"checkptrAlignment", funcTag, 120}, 185 {"checkptrArithmetic", funcTag, 122}, 186 {"libfuzzerTraceCmp1", funcTag, 124}, 187 {"libfuzzerTraceCmp2", funcTag, 126}, 188 {"libfuzzerTraceCmp4", funcTag, 127}, 189 {"libfuzzerTraceCmp8", funcTag, 128}, 190 {"libfuzzerTraceConstCmp1", funcTag, 124}, 191 {"libfuzzerTraceConstCmp2", funcTag, 126}, 192 {"libfuzzerTraceConstCmp4", funcTag, 127}, 193 {"libfuzzerTraceConstCmp8", funcTag, 128}, 194 {"x86HasPOPCNT", varTag, 15}, 195 {"x86HasSSE41", varTag, 15}, 196 {"x86HasFMA", varTag, 15}, 197 {"armHasVFPv4", varTag, 15}, 198 {"arm64HasATOMICS", varTag, 15}, 199 } 200 201 func runtimeTypes() []*types.Type { 202 var typs [129]*types.Type 203 typs[0] = types.Bytetype 204 typs[1] = types.NewPtr(typs[0]) 205 typs[2] = types.Types[TANY] 206 typs[3] = types.NewPtr(typs[2]) 207 typs[4] = functype(nil, []*Node{anonfield(typs[1])}, []*Node{anonfield(typs[3])}) 208 typs[5] = functype(nil, nil, nil) 209 typs[6] = types.Types[TINTER] 210 typs[7] = functype(nil, []*Node{anonfield(typs[6])}, nil) 211 typs[8] = types.Types[TINT32] 212 typs[9] = types.NewPtr(typs[8]) 213 typs[10] = functype(nil, []*Node{anonfield(typs[9])}, []*Node{anonfield(typs[6])}) 214 typs[11] = types.Types[TINT] 215 typs[12] = functype(nil, []*Node{anonfield(typs[11]), anonfield(typs[11])}, nil) 216 typs[13] = types.Types[TUINT] 217 typs[14] = functype(nil, []*Node{anonfield(typs[13]), anonfield(typs[11])}, nil) 218 typs[15] = types.Types[TBOOL] 219 typs[16] = functype(nil, []*Node{anonfield(typs[15])}, nil) 220 typs[17] = types.Types[TFLOAT64] 221 typs[18] = functype(nil, []*Node{anonfield(typs[17])}, nil) 222 typs[19] = types.Types[TINT64] 223 typs[20] = functype(nil, []*Node{anonfield(typs[19])}, nil) 224 typs[21] = types.Types[TUINT64] 225 typs[22] = functype(nil, []*Node{anonfield(typs[21])}, nil) 226 typs[23] = types.Types[TCOMPLEX128] 227 typs[24] = functype(nil, []*Node{anonfield(typs[23])}, nil) 228 typs[25] = types.Types[TSTRING] 229 typs[26] = functype(nil, []*Node{anonfield(typs[25])}, nil) 230 typs[27] = functype(nil, []*Node{anonfield(typs[2])}, nil) 231 typs[28] = types.NewArray(typs[0], 32) 232 typs[29] = types.NewPtr(typs[28]) 233 typs[30] = functype(nil, []*Node{anonfield(typs[29]), anonfield(typs[25]), anonfield(typs[25])}, []*Node{anonfield(typs[25])}) 234 typs[31] = functype(nil, []*Node{anonfield(typs[29]), anonfield(typs[25]), anonfield(typs[25]), anonfield(typs[25])}, []*Node{anonfield(typs[25])}) 235 typs[32] = functype(nil, []*Node{anonfield(typs[29]), anonfield(typs[25]), anonfield(typs[25]), anonfield(typs[25]), anonfield(typs[25])}, []*Node{anonfield(typs[25])}) 236 typs[33] = functype(nil, []*Node{anonfield(typs[29]), anonfield(typs[25]), anonfield(typs[25]), anonfield(typs[25]), anonfield(typs[25]), anonfield(typs[25])}, []*Node{anonfield(typs[25])}) 237 typs[34] = types.NewSlice(typs[25]) 238 typs[35] = functype(nil, []*Node{anonfield(typs[29]), anonfield(typs[34])}, []*Node{anonfield(typs[25])}) 239 typs[36] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[25])}, []*Node{anonfield(typs[11])}) 240 typs[37] = types.NewArray(typs[0], 4) 241 typs[38] = types.NewPtr(typs[37]) 242 typs[39] = functype(nil, []*Node{anonfield(typs[38]), anonfield(typs[19])}, []*Node{anonfield(typs[25])}) 243 typs[40] = types.NewSlice(typs[0]) 244 typs[41] = functype(nil, []*Node{anonfield(typs[29]), anonfield(typs[40])}, []*Node{anonfield(typs[25])}) 245 typs[42] = functype(nil, []*Node{anonfield(typs[40])}, []*Node{anonfield(typs[25])}) 246 typs[43] = types.Runetype 247 typs[44] = types.NewSlice(typs[43]) 248 typs[45] = functype(nil, []*Node{anonfield(typs[29]), anonfield(typs[44])}, []*Node{anonfield(typs[25])}) 249 typs[46] = functype(nil, []*Node{anonfield(typs[29]), anonfield(typs[25])}, []*Node{anonfield(typs[40])}) 250 typs[47] = types.NewArray(typs[43], 32) 251 typs[48] = types.NewPtr(typs[47]) 252 typs[49] = functype(nil, []*Node{anonfield(typs[48]), anonfield(typs[25])}, []*Node{anonfield(typs[44])}) 253 typs[50] = types.Types[TUINTPTR] 254 typs[51] = functype(nil, []*Node{anonfield(typs[2]), anonfield(typs[2]), anonfield(typs[50])}, []*Node{anonfield(typs[11])}) 255 typs[52] = functype(nil, []*Node{anonfield(typs[2]), anonfield(typs[2])}, []*Node{anonfield(typs[11])}) 256 typs[53] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[11])}, []*Node{anonfield(typs[43]), anonfield(typs[11])}) 257 typs[54] = functype(nil, []*Node{anonfield(typs[25])}, []*Node{anonfield(typs[11])}) 258 typs[55] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2])}, []*Node{anonfield(typs[2])}) 259 typs[56] = types.Types[TUNSAFEPTR] 260 typs[57] = functype(nil, []*Node{anonfield(typs[2])}, []*Node{anonfield(typs[56])}) 261 typs[58] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3])}, []*Node{anonfield(typs[2])}) 262 typs[59] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2])}, []*Node{anonfield(typs[2]), anonfield(typs[15])}) 263 typs[60] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[1]), anonfield(typs[1])}, nil) 264 typs[61] = functype(nil, []*Node{anonfield(typs[1])}, nil) 265 typs[62] = types.NewPtr(typs[50]) 266 typs[63] = functype(nil, []*Node{anonfield(typs[62]), anonfield(typs[56]), anonfield(typs[56])}, []*Node{anonfield(typs[15])}) 267 typs[64] = types.Types[TUINT32] 268 typs[65] = functype(nil, nil, []*Node{anonfield(typs[64])}) 269 typs[66] = types.NewMap(typs[2], typs[2]) 270 typs[67] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[19]), anonfield(typs[3])}, []*Node{anonfield(typs[66])}) 271 typs[68] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[11]), anonfield(typs[3])}, []*Node{anonfield(typs[66])}) 272 typs[69] = functype(nil, nil, []*Node{anonfield(typs[66])}) 273 typs[70] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[3])}, []*Node{anonfield(typs[3])}) 274 typs[71] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[2])}, []*Node{anonfield(typs[3])}) 275 typs[72] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[3]), anonfield(typs[1])}, []*Node{anonfield(typs[3])}) 276 typs[73] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[3])}, []*Node{anonfield(typs[3]), anonfield(typs[15])}) 277 typs[74] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[2])}, []*Node{anonfield(typs[3]), anonfield(typs[15])}) 278 typs[75] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[3]), anonfield(typs[1])}, []*Node{anonfield(typs[3]), anonfield(typs[15])}) 279 typs[76] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[3])}, nil) 280 typs[77] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[2])}, nil) 281 typs[78] = functype(nil, []*Node{anonfield(typs[3])}, nil) 282 typs[79] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66])}, nil) 283 typs[80] = types.NewChan(typs[2], types.Cboth) 284 typs[81] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[19])}, []*Node{anonfield(typs[80])}) 285 typs[82] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[11])}, []*Node{anonfield(typs[80])}) 286 typs[83] = types.NewChan(typs[2], types.Crecv) 287 typs[84] = functype(nil, []*Node{anonfield(typs[83]), anonfield(typs[3])}, nil) 288 typs[85] = functype(nil, []*Node{anonfield(typs[83]), anonfield(typs[3])}, []*Node{anonfield(typs[15])}) 289 typs[86] = types.NewChan(typs[2], types.Csend) 290 typs[87] = functype(nil, []*Node{anonfield(typs[86]), anonfield(typs[3])}, nil) 291 typs[88] = types.NewArray(typs[0], 3) 292 typs[89] = tostruct([]*Node{namedfield("enabled", typs[15]), namedfield("pad", typs[88]), namedfield("needed", typs[15]), namedfield("cgo", typs[15]), namedfield("alignme", typs[21])}) 293 typs[90] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3]), anonfield(typs[3])}, nil) 294 typs[91] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3])}, nil) 295 typs[92] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2]), anonfield(typs[2])}, []*Node{anonfield(typs[11])}) 296 typs[93] = functype(nil, []*Node{anonfield(typs[86]), anonfield(typs[3])}, []*Node{anonfield(typs[15])}) 297 typs[94] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[83])}, []*Node{anonfield(typs[15])}) 298 typs[95] = types.NewPtr(typs[15]) 299 typs[96] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[95]), anonfield(typs[83])}, []*Node{anonfield(typs[15])}) 300 typs[97] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[1]), anonfield(typs[11])}, []*Node{anonfield(typs[11]), anonfield(typs[15])}) 301 typs[98] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[11]), anonfield(typs[11])}, []*Node{anonfield(typs[56])}) 302 typs[99] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[19]), anonfield(typs[19])}, []*Node{anonfield(typs[56])}) 303 typs[100] = types.NewSlice(typs[2]) 304 typs[101] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[100]), anonfield(typs[11])}, []*Node{anonfield(typs[100])}) 305 typs[102] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3]), anonfield(typs[50])}, nil) 306 typs[103] = functype(nil, []*Node{anonfield(typs[56]), anonfield(typs[50])}, nil) 307 typs[104] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3]), anonfield(typs[50])}, []*Node{anonfield(typs[15])}) 308 typs[105] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3])}, []*Node{anonfield(typs[15])}) 309 typs[106] = functype(nil, []*Node{anonfield(typs[56]), anonfield(typs[56])}, []*Node{anonfield(typs[15])}) 310 typs[107] = functype(nil, []*Node{anonfield(typs[56]), anonfield(typs[50]), anonfield(typs[50])}, []*Node{anonfield(typs[50])}) 311 typs[108] = functype(nil, []*Node{anonfield(typs[56]), anonfield(typs[50])}, []*Node{anonfield(typs[50])}) 312 typs[109] = functype(nil, []*Node{anonfield(typs[19]), anonfield(typs[19])}, []*Node{anonfield(typs[19])}) 313 typs[110] = functype(nil, []*Node{anonfield(typs[21]), anonfield(typs[21])}, []*Node{anonfield(typs[21])}) 314 typs[111] = functype(nil, []*Node{anonfield(typs[17])}, []*Node{anonfield(typs[19])}) 315 typs[112] = functype(nil, []*Node{anonfield(typs[17])}, []*Node{anonfield(typs[21])}) 316 typs[113] = functype(nil, []*Node{anonfield(typs[17])}, []*Node{anonfield(typs[64])}) 317 typs[114] = functype(nil, []*Node{anonfield(typs[19])}, []*Node{anonfield(typs[17])}) 318 typs[115] = functype(nil, []*Node{anonfield(typs[21])}, []*Node{anonfield(typs[17])}) 319 typs[116] = functype(nil, []*Node{anonfield(typs[64])}, []*Node{anonfield(typs[17])}) 320 typs[117] = functype(nil, []*Node{anonfield(typs[23]), anonfield(typs[23])}, []*Node{anonfield(typs[23])}) 321 typs[118] = functype(nil, []*Node{anonfield(typs[50])}, nil) 322 typs[119] = functype(nil, []*Node{anonfield(typs[50]), anonfield(typs[50])}, nil) 323 typs[120] = functype(nil, []*Node{anonfield(typs[56]), anonfield(typs[1]), anonfield(typs[50])}, nil) 324 typs[121] = types.NewSlice(typs[56]) 325 typs[122] = functype(nil, []*Node{anonfield(typs[56]), anonfield(typs[121])}, nil) 326 typs[123] = types.Types[TUINT8] 327 typs[124] = functype(nil, []*Node{anonfield(typs[123]), anonfield(typs[123])}, nil) 328 typs[125] = types.Types[TUINT16] 329 typs[126] = functype(nil, []*Node{anonfield(typs[125]), anonfield(typs[125])}, nil) 330 typs[127] = functype(nil, []*Node{anonfield(typs[64]), anonfield(typs[64])}, nil) 331 typs[128] = functype(nil, []*Node{anonfield(typs[21]), anonfield(typs[21])}, nil) 332 return typs[:] 333 }