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