github.com/ltltlt/go-source-code@v0.0.0-20190830023027-95be009773aa/cmd/compile/internal/gc/builtin.go (about) 1 // Code generated by mkbuiltin.go. DO NOT EDIT. 2 3 package gc 4 5 import "cmd/compile/internal/types" 6 7 var runtimeDecls = [...]struct { 8 name string 9 tag int 10 typ int 11 }{ 12 {"newobject", funcTag, 4}, 13 {"panicindex", funcTag, 5}, 14 {"panicslice", funcTag, 5}, 15 {"panicdivide", funcTag, 5}, 16 {"throwinit", funcTag, 5}, 17 {"panicwrap", funcTag, 5}, 18 {"gopanic", funcTag, 7}, 19 {"gorecover", funcTag, 10}, 20 {"goschedguarded", funcTag, 5}, 21 {"printbool", funcTag, 12}, 22 {"printfloat", funcTag, 14}, 23 {"printint", funcTag, 16}, 24 {"printhex", funcTag, 18}, 25 {"printuint", funcTag, 18}, 26 {"printcomplex", funcTag, 20}, 27 {"printstring", funcTag, 22}, 28 {"printpointer", funcTag, 23}, 29 {"printiface", funcTag, 23}, 30 {"printeface", funcTag, 23}, 31 {"printslice", funcTag, 23}, 32 {"printnl", funcTag, 5}, 33 {"printsp", funcTag, 5}, 34 {"printlock", funcTag, 5}, 35 {"printunlock", funcTag, 5}, 36 {"concatstring2", funcTag, 26}, 37 {"concatstring3", funcTag, 27}, 38 {"concatstring4", funcTag, 28}, 39 {"concatstring5", funcTag, 29}, 40 {"concatstrings", funcTag, 31}, 41 {"cmpstring", funcTag, 33}, 42 {"intstring", funcTag, 36}, 43 {"slicebytetostring", funcTag, 38}, 44 {"slicebytetostringtmp", funcTag, 39}, 45 {"slicerunetostring", funcTag, 42}, 46 {"stringtoslicebyte", funcTag, 43}, 47 {"stringtoslicerune", funcTag, 46}, 48 {"decoderune", funcTag, 47}, 49 {"slicecopy", funcTag, 49}, 50 {"slicestringcopy", funcTag, 50}, 51 {"convI2I", funcTag, 51}, 52 {"convT2E", funcTag, 52}, 53 {"convT2E16", funcTag, 52}, 54 {"convT2E32", funcTag, 52}, 55 {"convT2E64", funcTag, 52}, 56 {"convT2Estring", funcTag, 52}, 57 {"convT2Eslice", funcTag, 52}, 58 {"convT2Enoptr", funcTag, 52}, 59 {"convT2I", funcTag, 52}, 60 {"convT2I16", funcTag, 52}, 61 {"convT2I32", funcTag, 52}, 62 {"convT2I64", funcTag, 52}, 63 {"convT2Istring", funcTag, 52}, 64 {"convT2Islice", funcTag, 52}, 65 {"convT2Inoptr", funcTag, 52}, 66 {"assertE2I", funcTag, 51}, 67 {"assertE2I2", funcTag, 53}, 68 {"assertI2I", funcTag, 51}, 69 {"assertI2I2", funcTag, 53}, 70 {"panicdottypeE", funcTag, 54}, 71 {"panicdottypeI", funcTag, 54}, 72 {"panicnildottype", funcTag, 55}, 73 {"ifaceeq", funcTag, 58}, 74 {"efaceeq", funcTag, 58}, 75 {"fastrand", funcTag, 60}, 76 {"makemap64", funcTag, 62}, 77 {"makemap", funcTag, 63}, 78 {"makemap_small", funcTag, 64}, 79 {"mapaccess1", funcTag, 65}, 80 {"mapaccess1_fast32", funcTag, 66}, 81 {"mapaccess1_fast64", funcTag, 66}, 82 {"mapaccess1_faststr", funcTag, 66}, 83 {"mapaccess1_fat", funcTag, 67}, 84 {"mapaccess2", funcTag, 68}, 85 {"mapaccess2_fast32", funcTag, 69}, 86 {"mapaccess2_fast64", funcTag, 69}, 87 {"mapaccess2_faststr", funcTag, 69}, 88 {"mapaccess2_fat", funcTag, 70}, 89 {"mapassign", funcTag, 65}, 90 {"mapassign_fast32", funcTag, 66}, 91 {"mapassign_fast32ptr", funcTag, 66}, 92 {"mapassign_fast64", funcTag, 66}, 93 {"mapassign_fast64ptr", funcTag, 66}, 94 {"mapassign_faststr", funcTag, 66}, 95 {"mapiterinit", funcTag, 71}, 96 {"mapdelete", funcTag, 71}, 97 {"mapdelete_fast32", funcTag, 72}, 98 {"mapdelete_fast64", funcTag, 72}, 99 {"mapdelete_faststr", funcTag, 72}, 100 {"mapiternext", funcTag, 73}, 101 {"makechan64", funcTag, 75}, 102 {"makechan", funcTag, 76}, 103 {"chanrecv1", funcTag, 78}, 104 {"chanrecv2", funcTag, 79}, 105 {"chansend1", funcTag, 81}, 106 {"closechan", funcTag, 23}, 107 {"writeBarrier", varTag, 83}, 108 {"writebarrierptr", funcTag, 84}, 109 {"typedmemmove", funcTag, 85}, 110 {"typedmemclr", funcTag, 86}, 111 {"typedslicecopy", funcTag, 87}, 112 {"selectnbsend", funcTag, 88}, 113 {"selectnbrecv", funcTag, 89}, 114 {"selectnbrecv2", funcTag, 91}, 115 {"newselect", funcTag, 92}, 116 {"selectsend", funcTag, 93}, 117 {"selectrecv", funcTag, 94}, 118 {"selectdefault", funcTag, 55}, 119 {"selectgo", funcTag, 95}, 120 {"block", funcTag, 5}, 121 {"makeslice", funcTag, 97}, 122 {"makeslice64", funcTag, 98}, 123 {"growslice", funcTag, 99}, 124 {"memmove", funcTag, 100}, 125 {"memclrNoHeapPointers", funcTag, 101}, 126 {"memclrHasPointers", funcTag, 101}, 127 {"memequal", funcTag, 102}, 128 {"memequal8", funcTag, 103}, 129 {"memequal16", funcTag, 103}, 130 {"memequal32", funcTag, 103}, 131 {"memequal64", funcTag, 103}, 132 {"memequal128", funcTag, 103}, 133 {"int64div", funcTag, 104}, 134 {"uint64div", funcTag, 105}, 135 {"int64mod", funcTag, 104}, 136 {"uint64mod", funcTag, 105}, 137 {"float64toint64", funcTag, 106}, 138 {"float64touint64", funcTag, 107}, 139 {"float64touint32", funcTag, 108}, 140 {"int64tofloat64", funcTag, 109}, 141 {"uint64tofloat64", funcTag, 110}, 142 {"uint32tofloat64", funcTag, 111}, 143 {"complex128div", funcTag, 112}, 144 {"racefuncenter", funcTag, 113}, 145 {"racefuncexit", funcTag, 5}, 146 {"raceread", funcTag, 113}, 147 {"racewrite", funcTag, 113}, 148 {"racereadrange", funcTag, 114}, 149 {"racewriterange", funcTag, 114}, 150 {"msanread", funcTag, 114}, 151 {"msanwrite", funcTag, 114}, 152 {"support_popcnt", varTag, 11}, 153 {"support_sse41", varTag, 11}, 154 } 155 156 func runtimeTypes() []*types.Type { 157 var typs [115]*types.Type 158 typs[0] = types.Bytetype 159 typs[1] = types.NewPtr(typs[0]) 160 typs[2] = types.Types[TANY] 161 typs[3] = types.NewPtr(typs[2]) 162 typs[4] = functype(nil, []*Node{anonfield(typs[1])}, []*Node{anonfield(typs[3])}) 163 typs[5] = functype(nil, nil, nil) 164 typs[6] = types.Types[TINTER] 165 typs[7] = functype(nil, []*Node{anonfield(typs[6])}, nil) 166 typs[8] = types.Types[TINT32] 167 typs[9] = types.NewPtr(typs[8]) 168 typs[10] = functype(nil, []*Node{anonfield(typs[9])}, []*Node{anonfield(typs[6])}) 169 typs[11] = types.Types[TBOOL] 170 typs[12] = functype(nil, []*Node{anonfield(typs[11])}, nil) 171 typs[13] = types.Types[TFLOAT64] 172 typs[14] = functype(nil, []*Node{anonfield(typs[13])}, nil) 173 typs[15] = types.Types[TINT64] 174 typs[16] = functype(nil, []*Node{anonfield(typs[15])}, nil) 175 typs[17] = types.Types[TUINT64] 176 typs[18] = functype(nil, []*Node{anonfield(typs[17])}, nil) 177 typs[19] = types.Types[TCOMPLEX128] 178 typs[20] = functype(nil, []*Node{anonfield(typs[19])}, nil) 179 typs[21] = types.Types[TSTRING] 180 typs[22] = functype(nil, []*Node{anonfield(typs[21])}, nil) 181 typs[23] = functype(nil, []*Node{anonfield(typs[2])}, nil) 182 typs[24] = types.NewArray(typs[0], 32) 183 typs[25] = types.NewPtr(typs[24]) 184 typs[26] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[21]), anonfield(typs[21])}, []*Node{anonfield(typs[21])}) 185 typs[27] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[21]), anonfield(typs[21]), anonfield(typs[21])}, []*Node{anonfield(typs[21])}) 186 typs[28] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[21]), anonfield(typs[21]), anonfield(typs[21]), anonfield(typs[21])}, []*Node{anonfield(typs[21])}) 187 typs[29] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[21]), anonfield(typs[21]), anonfield(typs[21]), anonfield(typs[21]), anonfield(typs[21])}, []*Node{anonfield(typs[21])}) 188 typs[30] = types.NewSlice(typs[21]) 189 typs[31] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[30])}, []*Node{anonfield(typs[21])}) 190 typs[32] = types.Types[TINT] 191 typs[33] = functype(nil, []*Node{anonfield(typs[21]), anonfield(typs[21])}, []*Node{anonfield(typs[32])}) 192 typs[34] = types.NewArray(typs[0], 4) 193 typs[35] = types.NewPtr(typs[34]) 194 typs[36] = functype(nil, []*Node{anonfield(typs[35]), anonfield(typs[15])}, []*Node{anonfield(typs[21])}) 195 typs[37] = types.NewSlice(typs[0]) 196 typs[38] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[37])}, []*Node{anonfield(typs[21])}) 197 typs[39] = functype(nil, []*Node{anonfield(typs[37])}, []*Node{anonfield(typs[21])}) 198 typs[40] = types.Runetype 199 typs[41] = types.NewSlice(typs[40]) 200 typs[42] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[41])}, []*Node{anonfield(typs[21])}) 201 typs[43] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[21])}, []*Node{anonfield(typs[37])}) 202 typs[44] = types.NewArray(typs[40], 32) 203 typs[45] = types.NewPtr(typs[44]) 204 typs[46] = functype(nil, []*Node{anonfield(typs[45]), anonfield(typs[21])}, []*Node{anonfield(typs[41])}) 205 typs[47] = functype(nil, []*Node{anonfield(typs[21]), anonfield(typs[32])}, []*Node{anonfield(typs[40]), anonfield(typs[32])}) 206 typs[48] = types.Types[TUINTPTR] 207 typs[49] = functype(nil, []*Node{anonfield(typs[2]), anonfield(typs[2]), anonfield(typs[48])}, []*Node{anonfield(typs[32])}) 208 typs[50] = functype(nil, []*Node{anonfield(typs[2]), anonfield(typs[2])}, []*Node{anonfield(typs[32])}) 209 typs[51] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2])}, []*Node{anonfield(typs[2])}) 210 typs[52] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3])}, []*Node{anonfield(typs[2])}) 211 typs[53] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2])}, []*Node{anonfield(typs[2]), anonfield(typs[11])}) 212 typs[54] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[1]), anonfield(typs[1])}, nil) 213 typs[55] = functype(nil, []*Node{anonfield(typs[1])}, nil) 214 typs[56] = types.NewPtr(typs[48]) 215 typs[57] = types.Types[TUNSAFEPTR] 216 typs[58] = functype(nil, []*Node{anonfield(typs[56]), anonfield(typs[57]), anonfield(typs[57])}, []*Node{anonfield(typs[11])}) 217 typs[59] = types.Types[TUINT32] 218 typs[60] = functype(nil, nil, []*Node{anonfield(typs[59])}) 219 typs[61] = types.NewMap(typs[2], typs[2]) 220 typs[62] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15]), anonfield(typs[3])}, []*Node{anonfield(typs[61])}) 221 typs[63] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[32]), anonfield(typs[3])}, []*Node{anonfield(typs[61])}) 222 typs[64] = functype(nil, nil, []*Node{anonfield(typs[61])}) 223 typs[65] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[61]), anonfield(typs[3])}, []*Node{anonfield(typs[3])}) 224 typs[66] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[61]), anonfield(typs[2])}, []*Node{anonfield(typs[3])}) 225 typs[67] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[61]), anonfield(typs[3]), anonfield(typs[1])}, []*Node{anonfield(typs[3])}) 226 typs[68] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[61]), anonfield(typs[3])}, []*Node{anonfield(typs[3]), anonfield(typs[11])}) 227 typs[69] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[61]), anonfield(typs[2])}, []*Node{anonfield(typs[3]), anonfield(typs[11])}) 228 typs[70] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[61]), anonfield(typs[3]), anonfield(typs[1])}, []*Node{anonfield(typs[3]), anonfield(typs[11])}) 229 typs[71] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[61]), anonfield(typs[3])}, nil) 230 typs[72] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[61]), anonfield(typs[2])}, nil) 231 typs[73] = functype(nil, []*Node{anonfield(typs[3])}, nil) 232 typs[74] = types.NewChan(typs[2], types.Cboth) 233 typs[75] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15])}, []*Node{anonfield(typs[74])}) 234 typs[76] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[32])}, []*Node{anonfield(typs[74])}) 235 typs[77] = types.NewChan(typs[2], types.Crecv) 236 typs[78] = functype(nil, []*Node{anonfield(typs[77]), anonfield(typs[3])}, nil) 237 typs[79] = functype(nil, []*Node{anonfield(typs[77]), anonfield(typs[3])}, []*Node{anonfield(typs[11])}) 238 typs[80] = types.NewChan(typs[2], types.Csend) 239 typs[81] = functype(nil, []*Node{anonfield(typs[80]), anonfield(typs[3])}, nil) 240 typs[82] = types.NewArray(typs[0], 3) 241 typs[83] = tostruct([]*Node{namedfield("enabled", typs[11]), namedfield("pad", typs[82]), namedfield("needed", typs[11]), namedfield("cgo", typs[11]), namedfield("alignme", typs[17])}) 242 typs[84] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[2])}, nil) 243 typs[85] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3]), anonfield(typs[3])}, nil) 244 typs[86] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3])}, nil) 245 typs[87] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2]), anonfield(typs[2])}, []*Node{anonfield(typs[32])}) 246 typs[88] = functype(nil, []*Node{anonfield(typs[80]), anonfield(typs[3])}, []*Node{anonfield(typs[11])}) 247 typs[89] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[77])}, []*Node{anonfield(typs[11])}) 248 typs[90] = types.NewPtr(typs[11]) 249 typs[91] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[90]), anonfield(typs[77])}, []*Node{anonfield(typs[11])}) 250 typs[92] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15]), anonfield(typs[8])}, nil) 251 typs[93] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[80]), anonfield(typs[3])}, nil) 252 typs[94] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[77]), anonfield(typs[3]), anonfield(typs[90])}, nil) 253 typs[95] = functype(nil, []*Node{anonfield(typs[1])}, []*Node{anonfield(typs[32])}) 254 typs[96] = types.NewSlice(typs[2]) 255 typs[97] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[32]), anonfield(typs[32])}, []*Node{anonfield(typs[96])}) 256 typs[98] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15]), anonfield(typs[15])}, []*Node{anonfield(typs[96])}) 257 typs[99] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[96]), anonfield(typs[32])}, []*Node{anonfield(typs[96])}) 258 typs[100] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3]), anonfield(typs[48])}, nil) 259 typs[101] = functype(nil, []*Node{anonfield(typs[57]), anonfield(typs[48])}, nil) 260 typs[102] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3]), anonfield(typs[48])}, []*Node{anonfield(typs[11])}) 261 typs[103] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3])}, []*Node{anonfield(typs[11])}) 262 typs[104] = functype(nil, []*Node{anonfield(typs[15]), anonfield(typs[15])}, []*Node{anonfield(typs[15])}) 263 typs[105] = functype(nil, []*Node{anonfield(typs[17]), anonfield(typs[17])}, []*Node{anonfield(typs[17])}) 264 typs[106] = functype(nil, []*Node{anonfield(typs[13])}, []*Node{anonfield(typs[15])}) 265 typs[107] = functype(nil, []*Node{anonfield(typs[13])}, []*Node{anonfield(typs[17])}) 266 typs[108] = functype(nil, []*Node{anonfield(typs[13])}, []*Node{anonfield(typs[59])}) 267 typs[109] = functype(nil, []*Node{anonfield(typs[15])}, []*Node{anonfield(typs[13])}) 268 typs[110] = functype(nil, []*Node{anonfield(typs[17])}, []*Node{anonfield(typs[13])}) 269 typs[111] = functype(nil, []*Node{anonfield(typs[59])}, []*Node{anonfield(typs[13])}) 270 typs[112] = functype(nil, []*Node{anonfield(typs[19]), anonfield(typs[19])}, []*Node{anonfield(typs[19])}) 271 typs[113] = functype(nil, []*Node{anonfield(typs[48])}, nil) 272 typs[114] = functype(nil, []*Node{anonfield(typs[48]), anonfield(typs[48])}, nil) 273 return typs[:] 274 }