github.com/megatontech/mynoteforgo@v0.0.0-20200507084910-5d0c6ea6e890/源码/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 {"convT16", funcTag, 54}, 55 {"convT32", funcTag, 54}, 56 {"convT64", funcTag, 54}, 57 {"convTstring", funcTag, 54}, 58 {"convTslice", funcTag, 54}, 59 {"convT2E", funcTag, 55}, 60 {"convT2Enoptr", funcTag, 55}, 61 {"convT2I", funcTag, 55}, 62 {"convT2Inoptr", funcTag, 55}, 63 {"assertE2I", funcTag, 52}, 64 {"assertE2I2", funcTag, 56}, 65 {"assertI2I", funcTag, 52}, 66 {"assertI2I2", funcTag, 56}, 67 {"panicdottypeE", funcTag, 57}, 68 {"panicdottypeI", funcTag, 57}, 69 {"panicnildottype", funcTag, 58}, 70 {"ifaceeq", funcTag, 60}, 71 {"efaceeq", funcTag, 60}, 72 {"fastrand", funcTag, 62}, 73 {"makemap64", funcTag, 64}, 74 {"makemap", funcTag, 65}, 75 {"makemap_small", funcTag, 66}, 76 {"mapaccess1", funcTag, 67}, 77 {"mapaccess1_fast32", funcTag, 68}, 78 {"mapaccess1_fast64", funcTag, 68}, 79 {"mapaccess1_faststr", funcTag, 68}, 80 {"mapaccess1_fat", funcTag, 69}, 81 {"mapaccess2", funcTag, 70}, 82 {"mapaccess2_fast32", funcTag, 71}, 83 {"mapaccess2_fast64", funcTag, 71}, 84 {"mapaccess2_faststr", funcTag, 71}, 85 {"mapaccess2_fat", funcTag, 72}, 86 {"mapassign", funcTag, 67}, 87 {"mapassign_fast32", funcTag, 68}, 88 {"mapassign_fast32ptr", funcTag, 68}, 89 {"mapassign_fast64", funcTag, 68}, 90 {"mapassign_fast64ptr", funcTag, 68}, 91 {"mapassign_faststr", funcTag, 68}, 92 {"mapiterinit", funcTag, 73}, 93 {"mapdelete", funcTag, 73}, 94 {"mapdelete_fast32", funcTag, 74}, 95 {"mapdelete_fast64", funcTag, 74}, 96 {"mapdelete_faststr", funcTag, 74}, 97 {"mapiternext", funcTag, 75}, 98 {"mapclear", funcTag, 76}, 99 {"makechan64", funcTag, 78}, 100 {"makechan", funcTag, 79}, 101 {"chanrecv1", funcTag, 81}, 102 {"chanrecv2", funcTag, 82}, 103 {"chansend1", funcTag, 84}, 104 {"closechan", funcTag, 23}, 105 {"writeBarrier", varTag, 86}, 106 {"typedmemmove", funcTag, 87}, 107 {"typedmemclr", funcTag, 88}, 108 {"typedslicecopy", funcTag, 89}, 109 {"selectnbsend", funcTag, 90}, 110 {"selectnbrecv", funcTag, 91}, 111 {"selectnbrecv2", funcTag, 93}, 112 {"selectsetpc", funcTag, 58}, 113 {"selectgo", funcTag, 94}, 114 {"block", funcTag, 5}, 115 {"makeslice", funcTag, 95}, 116 {"makeslice64", funcTag, 96}, 117 {"growslice", funcTag, 98}, 118 {"memmove", funcTag, 99}, 119 {"memclrNoHeapPointers", funcTag, 100}, 120 {"memclrHasPointers", funcTag, 100}, 121 {"memequal", funcTag, 101}, 122 {"memequal8", funcTag, 102}, 123 {"memequal16", funcTag, 102}, 124 {"memequal32", funcTag, 102}, 125 {"memequal64", funcTag, 102}, 126 {"memequal128", funcTag, 102}, 127 {"int64div", funcTag, 103}, 128 {"uint64div", funcTag, 104}, 129 {"int64mod", funcTag, 103}, 130 {"uint64mod", funcTag, 104}, 131 {"float64toint64", funcTag, 105}, 132 {"float64touint64", funcTag, 106}, 133 {"float64touint32", funcTag, 107}, 134 {"int64tofloat64", funcTag, 108}, 135 {"uint64tofloat64", funcTag, 109}, 136 {"uint32tofloat64", funcTag, 110}, 137 {"complex128div", funcTag, 111}, 138 {"racefuncenter", funcTag, 112}, 139 {"racefuncenterfp", funcTag, 5}, 140 {"racefuncexit", funcTag, 5}, 141 {"raceread", funcTag, 112}, 142 {"racewrite", funcTag, 112}, 143 {"racereadrange", funcTag, 113}, 144 {"racewriterange", funcTag, 113}, 145 {"msanread", funcTag, 113}, 146 {"msanwrite", funcTag, 113}, 147 {"x86HasPOPCNT", varTag, 11}, 148 {"x86HasSSE41", varTag, 11}, 149 {"arm64HasATOMICS", varTag, 11}, 150 } 151 152 func runtimeTypes() []*types.Type { 153 var typs [114]*types.Type 154 typs[0] = types.Bytetype 155 typs[1] = types.NewPtr(typs[0]) 156 typs[2] = types.Types[TANY] 157 typs[3] = types.NewPtr(typs[2]) 158 typs[4] = functype(nil, []*Node{anonfield(typs[1])}, []*Node{anonfield(typs[3])}) 159 typs[5] = functype(nil, nil, nil) 160 typs[6] = types.Types[TINTER] 161 typs[7] = functype(nil, []*Node{anonfield(typs[6])}, nil) 162 typs[8] = types.Types[TINT32] 163 typs[9] = types.NewPtr(typs[8]) 164 typs[10] = functype(nil, []*Node{anonfield(typs[9])}, []*Node{anonfield(typs[6])}) 165 typs[11] = types.Types[TBOOL] 166 typs[12] = functype(nil, []*Node{anonfield(typs[11])}, nil) 167 typs[13] = types.Types[TFLOAT64] 168 typs[14] = functype(nil, []*Node{anonfield(typs[13])}, nil) 169 typs[15] = types.Types[TINT64] 170 typs[16] = functype(nil, []*Node{anonfield(typs[15])}, nil) 171 typs[17] = types.Types[TUINT64] 172 typs[18] = functype(nil, []*Node{anonfield(typs[17])}, nil) 173 typs[19] = types.Types[TCOMPLEX128] 174 typs[20] = functype(nil, []*Node{anonfield(typs[19])}, nil) 175 typs[21] = types.Types[TSTRING] 176 typs[22] = functype(nil, []*Node{anonfield(typs[21])}, nil) 177 typs[23] = functype(nil, []*Node{anonfield(typs[2])}, nil) 178 typs[24] = types.NewArray(typs[0], 32) 179 typs[25] = types.NewPtr(typs[24]) 180 typs[26] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[21]), anonfield(typs[21])}, []*Node{anonfield(typs[21])}) 181 typs[27] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[21]), anonfield(typs[21]), anonfield(typs[21])}, []*Node{anonfield(typs[21])}) 182 typs[28] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[21]), anonfield(typs[21]), anonfield(typs[21]), anonfield(typs[21])}, []*Node{anonfield(typs[21])}) 183 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])}) 184 typs[30] = types.NewSlice(typs[21]) 185 typs[31] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[30])}, []*Node{anonfield(typs[21])}) 186 typs[32] = types.Types[TINT] 187 typs[33] = functype(nil, []*Node{anonfield(typs[21]), anonfield(typs[21])}, []*Node{anonfield(typs[32])}) 188 typs[34] = types.NewArray(typs[0], 4) 189 typs[35] = types.NewPtr(typs[34]) 190 typs[36] = functype(nil, []*Node{anonfield(typs[35]), anonfield(typs[15])}, []*Node{anonfield(typs[21])}) 191 typs[37] = types.NewSlice(typs[0]) 192 typs[38] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[37])}, []*Node{anonfield(typs[21])}) 193 typs[39] = functype(nil, []*Node{anonfield(typs[37])}, []*Node{anonfield(typs[21])}) 194 typs[40] = types.Runetype 195 typs[41] = types.NewSlice(typs[40]) 196 typs[42] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[41])}, []*Node{anonfield(typs[21])}) 197 typs[43] = functype(nil, []*Node{anonfield(typs[25]), anonfield(typs[21])}, []*Node{anonfield(typs[37])}) 198 typs[44] = types.NewArray(typs[40], 32) 199 typs[45] = types.NewPtr(typs[44]) 200 typs[46] = functype(nil, []*Node{anonfield(typs[45]), anonfield(typs[21])}, []*Node{anonfield(typs[41])}) 201 typs[47] = types.Types[TUINTPTR] 202 typs[48] = functype(nil, []*Node{anonfield(typs[2]), anonfield(typs[2]), anonfield(typs[47])}, []*Node{anonfield(typs[32])}) 203 typs[49] = functype(nil, []*Node{anonfield(typs[2]), anonfield(typs[2])}, []*Node{anonfield(typs[32])}) 204 typs[50] = functype(nil, []*Node{anonfield(typs[21]), anonfield(typs[32])}, []*Node{anonfield(typs[40]), anonfield(typs[32])}) 205 typs[51] = functype(nil, []*Node{anonfield(typs[21])}, []*Node{anonfield(typs[32])}) 206 typs[52] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2])}, []*Node{anonfield(typs[2])}) 207 typs[53] = types.Types[TUNSAFEPTR] 208 typs[54] = functype(nil, []*Node{anonfield(typs[2])}, []*Node{anonfield(typs[53])}) 209 typs[55] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3])}, []*Node{anonfield(typs[2])}) 210 typs[56] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2])}, []*Node{anonfield(typs[2]), anonfield(typs[11])}) 211 typs[57] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[1]), anonfield(typs[1])}, nil) 212 typs[58] = functype(nil, []*Node{anonfield(typs[1])}, nil) 213 typs[59] = types.NewPtr(typs[47]) 214 typs[60] = functype(nil, []*Node{anonfield(typs[59]), anonfield(typs[53]), anonfield(typs[53])}, []*Node{anonfield(typs[11])}) 215 typs[61] = types.Types[TUINT32] 216 typs[62] = functype(nil, nil, []*Node{anonfield(typs[61])}) 217 typs[63] = types.NewMap(typs[2], typs[2]) 218 typs[64] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15]), anonfield(typs[3])}, []*Node{anonfield(typs[63])}) 219 typs[65] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[32]), anonfield(typs[3])}, []*Node{anonfield(typs[63])}) 220 typs[66] = functype(nil, nil, []*Node{anonfield(typs[63])}) 221 typs[67] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[63]), anonfield(typs[3])}, []*Node{anonfield(typs[3])}) 222 typs[68] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[63]), anonfield(typs[2])}, []*Node{anonfield(typs[3])}) 223 typs[69] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[63]), anonfield(typs[3]), anonfield(typs[1])}, []*Node{anonfield(typs[3])}) 224 typs[70] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[63]), anonfield(typs[3])}, []*Node{anonfield(typs[3]), anonfield(typs[11])}) 225 typs[71] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[63]), anonfield(typs[2])}, []*Node{anonfield(typs[3]), anonfield(typs[11])}) 226 typs[72] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[63]), anonfield(typs[3]), anonfield(typs[1])}, []*Node{anonfield(typs[3]), anonfield(typs[11])}) 227 typs[73] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[63]), anonfield(typs[3])}, nil) 228 typs[74] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[63]), anonfield(typs[2])}, nil) 229 typs[75] = functype(nil, []*Node{anonfield(typs[3])}, nil) 230 typs[76] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[63])}, nil) 231 typs[77] = types.NewChan(typs[2], types.Cboth) 232 typs[78] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15])}, []*Node{anonfield(typs[77])}) 233 typs[79] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[32])}, []*Node{anonfield(typs[77])}) 234 typs[80] = types.NewChan(typs[2], types.Crecv) 235 typs[81] = functype(nil, []*Node{anonfield(typs[80]), anonfield(typs[3])}, nil) 236 typs[82] = functype(nil, []*Node{anonfield(typs[80]), anonfield(typs[3])}, []*Node{anonfield(typs[11])}) 237 typs[83] = types.NewChan(typs[2], types.Csend) 238 typs[84] = functype(nil, []*Node{anonfield(typs[83]), anonfield(typs[3])}, nil) 239 typs[85] = types.NewArray(typs[0], 3) 240 typs[86] = tostruct([]*Node{namedfield("enabled", typs[11]), namedfield("pad", typs[85]), namedfield("needed", typs[11]), namedfield("cgo", typs[11]), namedfield("alignme", typs[17])}) 241 typs[87] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3]), anonfield(typs[3])}, nil) 242 typs[88] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3])}, nil) 243 typs[89] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2]), anonfield(typs[2])}, []*Node{anonfield(typs[32])}) 244 typs[90] = functype(nil, []*Node{anonfield(typs[83]), anonfield(typs[3])}, []*Node{anonfield(typs[11])}) 245 typs[91] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[80])}, []*Node{anonfield(typs[11])}) 246 typs[92] = types.NewPtr(typs[11]) 247 typs[93] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[92]), anonfield(typs[80])}, []*Node{anonfield(typs[11])}) 248 typs[94] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[1]), anonfield(typs[32])}, []*Node{anonfield(typs[32]), anonfield(typs[11])}) 249 typs[95] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[32]), anonfield(typs[32])}, []*Node{anonfield(typs[53])}) 250 typs[96] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15]), anonfield(typs[15])}, []*Node{anonfield(typs[53])}) 251 typs[97] = types.NewSlice(typs[2]) 252 typs[98] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[97]), anonfield(typs[32])}, []*Node{anonfield(typs[97])}) 253 typs[99] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3]), anonfield(typs[47])}, nil) 254 typs[100] = functype(nil, []*Node{anonfield(typs[53]), anonfield(typs[47])}, nil) 255 typs[101] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3]), anonfield(typs[47])}, []*Node{anonfield(typs[11])}) 256 typs[102] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3])}, []*Node{anonfield(typs[11])}) 257 typs[103] = functype(nil, []*Node{anonfield(typs[15]), anonfield(typs[15])}, []*Node{anonfield(typs[15])}) 258 typs[104] = functype(nil, []*Node{anonfield(typs[17]), anonfield(typs[17])}, []*Node{anonfield(typs[17])}) 259 typs[105] = functype(nil, []*Node{anonfield(typs[13])}, []*Node{anonfield(typs[15])}) 260 typs[106] = functype(nil, []*Node{anonfield(typs[13])}, []*Node{anonfield(typs[17])}) 261 typs[107] = functype(nil, []*Node{anonfield(typs[13])}, []*Node{anonfield(typs[61])}) 262 typs[108] = functype(nil, []*Node{anonfield(typs[15])}, []*Node{anonfield(typs[13])}) 263 typs[109] = functype(nil, []*Node{anonfield(typs[17])}, []*Node{anonfield(typs[13])}) 264 typs[110] = functype(nil, []*Node{anonfield(typs[61])}, []*Node{anonfield(typs[13])}) 265 typs[111] = functype(nil, []*Node{anonfield(typs[19]), anonfield(typs[19])}, []*Node{anonfield(typs[19])}) 266 typs[112] = functype(nil, []*Node{anonfield(typs[47])}, nil) 267 typs[113] = functype(nil, []*Node{anonfield(typs[47]), anonfield(typs[47])}, nil) 268 return typs[:] 269 }