github.com/hikaru7719/go@v0.0.0-20181025140707-c8b2ac68906a/src/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 {"panicmakeslicelen", funcTag, 5}, 17 {"throwinit", funcTag, 5}, 18 {"panicwrap", funcTag, 5}, 19 {"gopanic", funcTag, 7}, 20 {"gorecover", funcTag, 10}, 21 {"goschedguarded", funcTag, 5}, 22 {"printbool", funcTag, 12}, 23 {"printfloat", funcTag, 14}, 24 {"printint", funcTag, 16}, 25 {"printhex", funcTag, 18}, 26 {"printuint", funcTag, 18}, 27 {"printcomplex", funcTag, 20}, 28 {"printstring", funcTag, 22}, 29 {"printpointer", funcTag, 23}, 30 {"printiface", funcTag, 23}, 31 {"printeface", funcTag, 23}, 32 {"printslice", funcTag, 23}, 33 {"printnl", funcTag, 5}, 34 {"printsp", funcTag, 5}, 35 {"printlock", funcTag, 5}, 36 {"printunlock", funcTag, 5}, 37 {"concatstring2", funcTag, 26}, 38 {"concatstring3", funcTag, 27}, 39 {"concatstring4", funcTag, 28}, 40 {"concatstring5", funcTag, 29}, 41 {"concatstrings", funcTag, 31}, 42 {"cmpstring", funcTag, 33}, 43 {"intstring", funcTag, 36}, 44 {"slicebytetostring", funcTag, 38}, 45 {"slicebytetostringtmp", funcTag, 39}, 46 {"slicerunetostring", funcTag, 42}, 47 {"stringtoslicebyte", funcTag, 43}, 48 {"stringtoslicerune", funcTag, 46}, 49 {"slicecopy", funcTag, 48}, 50 {"slicestringcopy", funcTag, 49}, 51 {"decoderune", funcTag, 50}, 52 {"countrunes", funcTag, 51}, 53 {"convI2I", funcTag, 52}, 54 {"convT2E", funcTag, 53}, 55 {"convT2E16", funcTag, 52}, 56 {"convT2E32", funcTag, 52}, 57 {"convT2E64", funcTag, 52}, 58 {"convT2Estring", funcTag, 52}, 59 {"convT2Eslice", funcTag, 52}, 60 {"convT2Enoptr", funcTag, 53}, 61 {"convT2I", funcTag, 53}, 62 {"convT2I16", funcTag, 52}, 63 {"convT2I32", funcTag, 52}, 64 {"convT2I64", funcTag, 52}, 65 {"convT2Istring", funcTag, 52}, 66 {"convT2Islice", funcTag, 52}, 67 {"convT2Inoptr", funcTag, 53}, 68 {"assertE2I", funcTag, 52}, 69 {"assertE2I2", funcTag, 54}, 70 {"assertI2I", funcTag, 52}, 71 {"assertI2I2", funcTag, 54}, 72 {"panicdottypeE", funcTag, 55}, 73 {"panicdottypeI", funcTag, 55}, 74 {"panicnildottype", funcTag, 56}, 75 {"ifaceeq", funcTag, 59}, 76 {"efaceeq", funcTag, 59}, 77 {"fastrand", funcTag, 61}, 78 {"makemap64", funcTag, 63}, 79 {"makemap", funcTag, 64}, 80 {"makemap_small", funcTag, 65}, 81 {"mapaccess1", funcTag, 66}, 82 {"mapaccess1_fast32", funcTag, 67}, 83 {"mapaccess1_fast64", funcTag, 67}, 84 {"mapaccess1_faststr", funcTag, 67}, 85 {"mapaccess1_fat", funcTag, 68}, 86 {"mapaccess2", funcTag, 69}, 87 {"mapaccess2_fast32", funcTag, 70}, 88 {"mapaccess2_fast64", funcTag, 70}, 89 {"mapaccess2_faststr", funcTag, 70}, 90 {"mapaccess2_fat", funcTag, 71}, 91 {"mapassign", funcTag, 66}, 92 {"mapassign_fast32", funcTag, 67}, 93 {"mapassign_fast32ptr", funcTag, 67}, 94 {"mapassign_fast64", funcTag, 67}, 95 {"mapassign_fast64ptr", funcTag, 67}, 96 {"mapassign_faststr", funcTag, 67}, 97 {"mapiterinit", funcTag, 72}, 98 {"mapdelete", funcTag, 72}, 99 {"mapdelete_fast32", funcTag, 73}, 100 {"mapdelete_fast64", funcTag, 73}, 101 {"mapdelete_faststr", funcTag, 73}, 102 {"mapiternext", funcTag, 74}, 103 {"mapclear", funcTag, 75}, 104 {"makechan64", funcTag, 77}, 105 {"makechan", funcTag, 78}, 106 {"chanrecv1", funcTag, 80}, 107 {"chanrecv2", funcTag, 81}, 108 {"chansend1", funcTag, 83}, 109 {"closechan", funcTag, 23}, 110 {"writeBarrier", varTag, 85}, 111 {"typedmemmove", funcTag, 86}, 112 {"typedmemclr", funcTag, 87}, 113 {"typedslicecopy", funcTag, 88}, 114 {"selectnbsend", funcTag, 89}, 115 {"selectnbrecv", funcTag, 90}, 116 {"selectnbrecv2", funcTag, 92}, 117 {"selectsetpc", funcTag, 56}, 118 {"selectgo", funcTag, 93}, 119 {"block", funcTag, 5}, 120 {"makeslice", funcTag, 95}, 121 {"makeslice64", funcTag, 96}, 122 {"growslice", funcTag, 97}, 123 {"memmove", funcTag, 98}, 124 {"memclrNoHeapPointers", funcTag, 99}, 125 {"memclrHasPointers", funcTag, 99}, 126 {"memequal", funcTag, 100}, 127 {"memequal8", funcTag, 101}, 128 {"memequal16", funcTag, 101}, 129 {"memequal32", funcTag, 101}, 130 {"memequal64", funcTag, 101}, 131 {"memequal128", funcTag, 101}, 132 {"int64div", funcTag, 102}, 133 {"uint64div", funcTag, 103}, 134 {"int64mod", funcTag, 102}, 135 {"uint64mod", funcTag, 103}, 136 {"float64toint64", funcTag, 104}, 137 {"float64touint64", funcTag, 105}, 138 {"float64touint32", funcTag, 106}, 139 {"int64tofloat64", funcTag, 107}, 140 {"uint64tofloat64", funcTag, 108}, 141 {"uint32tofloat64", funcTag, 109}, 142 {"complex128div", funcTag, 110}, 143 {"racefuncenter", funcTag, 111}, 144 {"racefuncenterfp", funcTag, 5}, 145 {"racefuncexit", funcTag, 5}, 146 {"raceread", funcTag, 111}, 147 {"racewrite", funcTag, 111}, 148 {"racereadrange", funcTag, 112}, 149 {"racewriterange", funcTag, 112}, 150 {"msanread", funcTag, 112}, 151 {"msanwrite", funcTag, 112}, 152 {"support_popcnt", varTag, 11}, 153 {"support_sse41", varTag, 11}, 154 } 155 156 func runtimeTypes() []*types.Type { 157 var typs [113]*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] = types.Types[TUINTPTR] 206 typs[48] = functype(nil, []*Node{anonfield(typs[2]), anonfield(typs[2]), anonfield(typs[47])}, []*Node{anonfield(typs[32])}) 207 typs[49] = functype(nil, []*Node{anonfield(typs[2]), anonfield(typs[2])}, []*Node{anonfield(typs[32])}) 208 typs[50] = functype(nil, []*Node{anonfield(typs[21]), anonfield(typs[32])}, []*Node{anonfield(typs[40]), anonfield(typs[32])}) 209 typs[51] = functype(nil, []*Node{anonfield(typs[21])}, []*Node{anonfield(typs[32])}) 210 typs[52] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2])}, []*Node{anonfield(typs[2])}) 211 typs[53] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3])}, []*Node{anonfield(typs[2])}) 212 typs[54] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2])}, []*Node{anonfield(typs[2]), anonfield(typs[11])}) 213 typs[55] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[1]), anonfield(typs[1])}, nil) 214 typs[56] = functype(nil, []*Node{anonfield(typs[1])}, nil) 215 typs[57] = types.NewPtr(typs[47]) 216 typs[58] = types.Types[TUNSAFEPTR] 217 typs[59] = functype(nil, []*Node{anonfield(typs[57]), anonfield(typs[58]), anonfield(typs[58])}, []*Node{anonfield(typs[11])}) 218 typs[60] = types.Types[TUINT32] 219 typs[61] = functype(nil, nil, []*Node{anonfield(typs[60])}) 220 typs[62] = types.NewMap(typs[2], typs[2]) 221 typs[63] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15]), anonfield(typs[3])}, []*Node{anonfield(typs[62])}) 222 typs[64] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[32]), anonfield(typs[3])}, []*Node{anonfield(typs[62])}) 223 typs[65] = functype(nil, nil, []*Node{anonfield(typs[62])}) 224 typs[66] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[62]), anonfield(typs[3])}, []*Node{anonfield(typs[3])}) 225 typs[67] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[62]), anonfield(typs[2])}, []*Node{anonfield(typs[3])}) 226 typs[68] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[62]), anonfield(typs[3]), anonfield(typs[1])}, []*Node{anonfield(typs[3])}) 227 typs[69] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[62]), anonfield(typs[3])}, []*Node{anonfield(typs[3]), anonfield(typs[11])}) 228 typs[70] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[62]), anonfield(typs[2])}, []*Node{anonfield(typs[3]), anonfield(typs[11])}) 229 typs[71] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[62]), anonfield(typs[3]), anonfield(typs[1])}, []*Node{anonfield(typs[3]), anonfield(typs[11])}) 230 typs[72] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[62]), anonfield(typs[3])}, nil) 231 typs[73] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[62]), anonfield(typs[2])}, nil) 232 typs[74] = functype(nil, []*Node{anonfield(typs[3])}, nil) 233 typs[75] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[62])}, nil) 234 typs[76] = types.NewChan(typs[2], types.Cboth) 235 typs[77] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15])}, []*Node{anonfield(typs[76])}) 236 typs[78] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[32])}, []*Node{anonfield(typs[76])}) 237 typs[79] = types.NewChan(typs[2], types.Crecv) 238 typs[80] = functype(nil, []*Node{anonfield(typs[79]), anonfield(typs[3])}, nil) 239 typs[81] = functype(nil, []*Node{anonfield(typs[79]), anonfield(typs[3])}, []*Node{anonfield(typs[11])}) 240 typs[82] = types.NewChan(typs[2], types.Csend) 241 typs[83] = functype(nil, []*Node{anonfield(typs[82]), anonfield(typs[3])}, nil) 242 typs[84] = types.NewArray(typs[0], 3) 243 typs[85] = tostruct([]*Node{namedfield("enabled", typs[11]), namedfield("pad", typs[84]), namedfield("needed", typs[11]), namedfield("cgo", typs[11]), namedfield("alignme", typs[17])}) 244 typs[86] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3]), anonfield(typs[3])}, nil) 245 typs[87] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3])}, nil) 246 typs[88] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2]), anonfield(typs[2])}, []*Node{anonfield(typs[32])}) 247 typs[89] = functype(nil, []*Node{anonfield(typs[82]), anonfield(typs[3])}, []*Node{anonfield(typs[11])}) 248 typs[90] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[79])}, []*Node{anonfield(typs[11])}) 249 typs[91] = types.NewPtr(typs[11]) 250 typs[92] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[91]), anonfield(typs[79])}, []*Node{anonfield(typs[11])}) 251 typs[93] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[1]), anonfield(typs[32])}, []*Node{anonfield(typs[32]), anonfield(typs[11])}) 252 typs[94] = types.NewSlice(typs[2]) 253 typs[95] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[32]), anonfield(typs[32])}, []*Node{anonfield(typs[94])}) 254 typs[96] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15]), anonfield(typs[15])}, []*Node{anonfield(typs[94])}) 255 typs[97] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[94]), anonfield(typs[32])}, []*Node{anonfield(typs[94])}) 256 typs[98] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3]), anonfield(typs[47])}, nil) 257 typs[99] = functype(nil, []*Node{anonfield(typs[58]), anonfield(typs[47])}, nil) 258 typs[100] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3]), anonfield(typs[47])}, []*Node{anonfield(typs[11])}) 259 typs[101] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3])}, []*Node{anonfield(typs[11])}) 260 typs[102] = functype(nil, []*Node{anonfield(typs[15]), anonfield(typs[15])}, []*Node{anonfield(typs[15])}) 261 typs[103] = functype(nil, []*Node{anonfield(typs[17]), anonfield(typs[17])}, []*Node{anonfield(typs[17])}) 262 typs[104] = functype(nil, []*Node{anonfield(typs[13])}, []*Node{anonfield(typs[15])}) 263 typs[105] = functype(nil, []*Node{anonfield(typs[13])}, []*Node{anonfield(typs[17])}) 264 typs[106] = functype(nil, []*Node{anonfield(typs[13])}, []*Node{anonfield(typs[60])}) 265 typs[107] = functype(nil, []*Node{anonfield(typs[15])}, []*Node{anonfield(typs[13])}) 266 typs[108] = functype(nil, []*Node{anonfield(typs[17])}, []*Node{anonfield(typs[13])}) 267 typs[109] = functype(nil, []*Node{anonfield(typs[60])}, []*Node{anonfield(typs[13])}) 268 typs[110] = functype(nil, []*Node{anonfield(typs[19]), anonfield(typs[19])}, []*Node{anonfield(typs[19])}) 269 typs[111] = functype(nil, []*Node{anonfield(typs[47])}, nil) 270 typs[112] = functype(nil, []*Node{anonfield(typs[47]), anonfield(typs[47])}, nil) 271 return typs[:] 272 }