1 | // Licensed to the .NET Foundation under one or more agreements. |
2 | // The .NET Foundation licenses this file to you under the MIT license. |
3 | // See the LICENSE file in the project root for more information. |
4 | |
5 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
6 | // |
7 | // Automatically generated code. DO NOT MODIFY! |
8 | // To generate this file, do |
9 | // "WeightsArrayGen.pl matrix.txt results.txt > SMWeights.cpp" |
10 | // |
11 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
12 | |
13 | #include "jitpch.h" |
14 | |
15 | #define DEFAULT_WEIGHT_VALUE 65 // This is the average of all the weights. |
16 | |
17 | #define NA 9999 |
18 | |
19 | const short g_StateWeights[] = { |
20 | NA, // state 0 |
21 | NA, // state 1 |
22 | DEFAULT_WEIGHT_VALUE, // state 2 [noshow] |
23 | 10, // state 3 [ldarg.0] |
24 | 16, // state 4 [ldarg.1] |
25 | 35, // state 5 [ldarg.2] |
26 | 28, // state 6 [ldarg.3] |
27 | 12, // state 7 [ldloc.0] |
28 | 9, // state 8 [ldloc.1] |
29 | 22, // state 9 [ldloc.2] |
30 | 24, // state 10 [ldloc.3] |
31 | 6, // state 11 [stloc.0] |
32 | 34, // state 12 [stloc.1] |
33 | 4, // state 13 [stloc.2] |
34 | 49, // state 14 [stloc.3] |
35 | 32, // state 15 [ldarg.s] |
36 | 77, // state 16 [ldarga.s] |
37 | 21, // state 17 [starg.s] |
38 | 32, // state 18 [ldloc.s] |
39 | 61, // state 19 [ldloca.s] |
40 | -45, // state 20 [stloc.s] |
41 | 7, // state 21 [ldnull] |
42 | 22, // state 22 [ldc.i4.m1] |
43 | 15, // state 23 [ldc.i4.0] |
44 | 28, // state 24 [ldc.i4.1] |
45 | 34, // state 25 [ldc.i4.2] |
46 | -6, // state 26 [ldc.i4.3] |
47 | 20, // state 27 [ldc.i4.4] |
48 | 4, // state 28 [ldc.i4.5] |
49 | 10, // state 29 [ldc.i4.6] |
50 | 56, // state 30 [ldc.i4.7] |
51 | 42, // state 31 [ldc.i4.8] |
52 | 41, // state 32 [ldc.i4.s] |
53 | 38, // state 33 [ldc.i4] |
54 | 160, // state 34 [ldc.i8] |
55 | 33, // state 35 [ldc.r4] |
56 | 113, // state 36 [ldc.r8] |
57 | DEFAULT_WEIGHT_VALUE, // state 37 [unused] |
58 | 11, // state 38 [dup] |
59 | -24, // state 39 [pop] |
60 | 79, // state 40 [call] |
61 | DEFAULT_WEIGHT_VALUE, // state 41 [calli] |
62 | 19, // state 42 [ret] |
63 | 44, // state 43 [br.s] |
64 | 27, // state 44 [brfalse.s] |
65 | 25, // state 45 [brtrue.s] |
66 | 6, // state 46 [beq.s] |
67 | 20, // state 47 [bge.s] |
68 | 33, // state 48 [bgt.s] |
69 | 53, // state 49 [ble.s] |
70 | 28, // state 50 [blt.s] |
71 | 12, // state 51 [bne.un.s] |
72 | 85, // state 52 [bge.un.s] |
73 | -52, // state 53 [bgt.un.s] |
74 | 147, // state 54 [ble.un.s] |
75 | -63, // state 55 [blt.un.s] |
76 | DEFAULT_WEIGHT_VALUE, // state 56 [long.branch] |
77 | 116, // state 57 [switch] |
78 | -19, // state 58 [ldind.i1] |
79 | 17, // state 59 [ldind.u1] |
80 | -18, // state 60 [ldind.i2] |
81 | 10, // state 61 [ldind.u2] |
82 | -11, // state 62 [ldind.i4] |
83 | -33, // state 63 [ldind.u4] |
84 | 41, // state 64 [ldind.i8] |
85 | -110, // state 65 [ldind.i] |
86 | 31, // state 66 [ldind.r4] |
87 | 45, // state 67 [ldind.r8] |
88 | 1, // state 68 [ldind.ref] |
89 | 60, // state 69 [stind.ref] |
90 | 36, // state 70 [stind.i1] |
91 | 40, // state 71 [stind.i2] |
92 | 11, // state 72 [stind.i4] |
93 | 84, // state 73 [stind.i8] |
94 | 50, // state 74 [stind.r4] |
95 | 73, // state 75 [stind.r8] |
96 | -12, // state 76 [add] |
97 | -15, // state 77 [sub] |
98 | -9, // state 78 [mul] |
99 | 35, // state 79 [div] |
100 | 89, // state 80 [div.un] |
101 | 89, // state 81 [rem] |
102 | 82, // state 82 [rem.un] |
103 | -5, // state 83 [and] |
104 | -7, // state 84 [or] |
105 | 35, // state 85 [xor] |
106 | 0, // state 86 [shl] |
107 | 17, // state 87 [shr] |
108 | 27, // state 88 [shr.un] |
109 | 58, // state 89 [neg] |
110 | 19, // state 90 [not] |
111 | 78, // state 91 [conv.i1] |
112 | 54, // state 92 [conv.i2] |
113 | 2, // state 93 [conv.i4] |
114 | 99, // state 94 [conv.i8] |
115 | 273, // state 95 [conv.r4] |
116 | 197, // state 96 [conv.r8] |
117 | 45, // state 97 [conv.u4] |
118 | 55, // state 98 [conv.u8] |
119 | 83, // state 99 [callvirt] |
120 | DEFAULT_WEIGHT_VALUE, // state 100 [cpobj] |
121 | 29, // state 101 [ldobj] |
122 | 66, // state 102 [ldstr] |
123 | 227, // state 103 [newobj] |
124 | 261, // state 104 [castclass] |
125 | 166, // state 105 [isinst] |
126 | 209, // state 106 [conv.r.un] |
127 | DEFAULT_WEIGHT_VALUE, // state 107 [unbox] |
128 | 210, // state 108 [throw] |
129 | 18, // state 109 [ldfld] |
130 | 17, // state 110 [ldflda] |
131 | 31, // state 111 [stfld] |
132 | 159, // state 112 [ldsfld] |
133 | 177, // state 113 [ldsflda] |
134 | 125, // state 114 [stsfld] |
135 | 36, // state 115 [stobj] |
136 | 148, // state 116 [ovf.notype.un] |
137 | 247, // state 117 [box] |
138 | 152, // state 118 [newarr] |
139 | 7, // state 119 [ldlen] |
140 | 145, // state 120 [ldelema] |
141 | 103, // state 121 [ldelem.i1] |
142 | 91, // state 122 [ldelem.u1] |
143 | 267, // state 123 [ldelem.i2] |
144 | 148, // state 124 [ldelem.u2] |
145 | 92, // state 125 [ldelem.i4] |
146 | 213, // state 126 [ldelem.u4] |
147 | 223, // state 127 [ldelem.i8] |
148 | DEFAULT_WEIGHT_VALUE, // state 128 [ldelem.i] |
149 | DEFAULT_WEIGHT_VALUE, // state 129 [ldelem.r4] |
150 | 549, // state 130 [ldelem.r8] |
151 | 81, // state 131 [ldelem.ref] |
152 | DEFAULT_WEIGHT_VALUE, // state 132 [stelem.i] |
153 | 14, // state 133 [stelem.i1] |
154 | 23, // state 134 [stelem.i2] |
155 | 66, // state 135 [stelem.i4] |
156 | 254, // state 136 [stelem.i8] |
157 | DEFAULT_WEIGHT_VALUE, // state 137 [stelem.r4] |
158 | DEFAULT_WEIGHT_VALUE, // state 138 [stelem.r8] |
159 | 94, // state 139 [stelem.ref] |
160 | DEFAULT_WEIGHT_VALUE, // state 140 [ldelem] |
161 | DEFAULT_WEIGHT_VALUE, // state 141 [stelem] |
162 | 274, // state 142 [unbox.any] |
163 | DEFAULT_WEIGHT_VALUE, // state 143 [conv.ovf.i1] |
164 | DEFAULT_WEIGHT_VALUE, // state 144 [conv.ovf.u1] |
165 | DEFAULT_WEIGHT_VALUE, // state 145 [conv.ovf.i2] |
166 | DEFAULT_WEIGHT_VALUE, // state 146 [conv.ovf.u2] |
167 | 242, // state 147 [conv.ovf.i4] |
168 | DEFAULT_WEIGHT_VALUE, // state 148 [conv.ovf.u4] |
169 | 293, // state 149 [conv.ovf.i8] |
170 | 293, // state 150 [conv.ovf.u8] |
171 | DEFAULT_WEIGHT_VALUE, // state 151 [refanyval] |
172 | DEFAULT_WEIGHT_VALUE, // state 152 [ckfinite] |
173 | -17, // state 153 [mkrefany] |
174 | 32, // state 154 [ldtoken] |
175 | 25, // state 155 [conv.u2] |
176 | 50, // state 156 [conv.u1] |
177 | -0, // state 157 [conv.i] |
178 | 178, // state 158 [conv.ovf.i] |
179 | DEFAULT_WEIGHT_VALUE, // state 159 [conv.ovf.u] |
180 | DEFAULT_WEIGHT_VALUE, // state 160 [add.ovf] |
181 | DEFAULT_WEIGHT_VALUE, // state 161 [mul.ovf] |
182 | DEFAULT_WEIGHT_VALUE, // state 162 [sub.ovf] |
183 | -17, // state 163 [leave.s] |
184 | 182, // state 164 [stind.i] |
185 | -36, // state 165 [conv.u] |
186 | DEFAULT_WEIGHT_VALUE, // state 166 [prefix.n] |
187 | 120, // state 167 [arglist] |
188 | 20, // state 168 [ceq] |
189 | -1, // state 169 [cgt] |
190 | 47, // state 170 [cgt.un] |
191 | 26, // state 171 [clt] |
192 | 85, // state 172 [clt.un] |
193 | 102, // state 173 [ldftn] |
194 | 234, // state 174 [ldvirtftn] |
195 | DEFAULT_WEIGHT_VALUE, // state 175 [long.loc.arg] |
196 | 347, // state 176 [localloc] |
197 | DEFAULT_WEIGHT_VALUE, // state 177 [unaligned] |
198 | -44, // state 178 [volatile] |
199 | DEFAULT_WEIGHT_VALUE, // state 179 [tailcall] |
200 | 55, // state 180 [initobj] |
201 | DEFAULT_WEIGHT_VALUE, // state 181 [constrained] |
202 | DEFAULT_WEIGHT_VALUE, // state 182 [cpblk] |
203 | DEFAULT_WEIGHT_VALUE, // state 183 [initblk] |
204 | DEFAULT_WEIGHT_VALUE, // state 184 [rethrow] |
205 | 38, // state 185 [sizeof] |
206 | -68, // state 186 [refanytype] |
207 | DEFAULT_WEIGHT_VALUE, // state 187 [readonly] |
208 | 55, // state 188 [ldarga.s.normed] |
209 | 35, // state 189 [ldloca.s.normed] |
210 | 161, // state 190 [constrained -> callvirt] |
211 | 31, // state 191 [ldarg.0 -> ldfld] |
212 | 29, // state 192 [ldarg.1 -> ldfld] |
213 | 22, // state 193 [ldarg.2 -> ldfld] |
214 | 321, // state 194 [ldarg.3 -> ldfld] |
215 | 46, // state 195 [ldarga.s -> ldfld] |
216 | 8, // state 196 [ldloca.s -> ldfld] |
217 | 19, // state 197 [ldarga.s.normed -> ldfld] |
218 | -35, // state 198 [ldloca.s.normed -> ldfld] |
219 | 20, // state 199 [stloc.0 -> ldloc.0] |
220 | -7, // state 200 [stloc.1 -> ldloc.1] |
221 | -10, // state 201 [stloc.2 -> ldloc.2] |
222 | -4, // state 202 [stloc.3 -> ldloc.3] |
223 | DEFAULT_WEIGHT_VALUE, // state 203 [ldc.r4 -> add] |
224 | DEFAULT_WEIGHT_VALUE, // state 204 [ldc.r4 -> sub] |
225 | DEFAULT_WEIGHT_VALUE, // state 205 [ldc.r4 -> mul] |
226 | DEFAULT_WEIGHT_VALUE, // state 206 [ldc.r4 -> div] |
227 | 52, // state 207 [ldc.r8 -> add] |
228 | DEFAULT_WEIGHT_VALUE, // state 208 [ldc.r8 -> sub] |
229 | -169, // state 209 [ldc.r8 -> mul] |
230 | -17, // state 210 [ldc.r8 -> div] |
231 | DEFAULT_WEIGHT_VALUE, // state 211 [conv.r4 -> add] |
232 | DEFAULT_WEIGHT_VALUE, // state 212 [conv.r4 -> sub] |
233 | DEFAULT_WEIGHT_VALUE, // state 213 [conv.r4 -> mul] |
234 | DEFAULT_WEIGHT_VALUE, // state 214 [conv.r4 -> div] |
235 | 358, // state 215 [conv.r8 -> mul] |
236 | DEFAULT_WEIGHT_VALUE, // state 216 [conv.r8 -> div] |
237 | NA, // state 217 |
238 | 32, // state 218 [ldarg.0 -> ldc.i4.0 -> stfld] |
239 | NA, // state 219 |
240 | DEFAULT_WEIGHT_VALUE, // state 220 [ldarg.0 -> ldc.r4 -> stfld] |
241 | NA, // state 221 |
242 | 38, // state 222 [ldarg.0 -> ldc.r8 -> stfld] |
243 | NA, // state 223 |
244 | NA, // state 224 |
245 | 64, // state 225 [ldarg.0 -> ldarg.1 -> ldfld -> stfld] |
246 | 69, // state 226 [ldarg.0 -> ldarg.1 -> stfld] |
247 | NA, // state 227 |
248 | 98, // state 228 [ldarg.0 -> ldarg.2 -> stfld] |
249 | NA, // state 229 |
250 | 97, // state 230 [ldarg.0 -> ldarg.3 -> stfld] |
251 | NA, // state 231 |
252 | NA, // state 232 |
253 | NA, // state 233 |
254 | NA, // state 234 |
255 | 34, // state 235 [ldarg.0 -> dup -> ldfld -> ldarg.1 -> add -> stfld] |
256 | NA, // state 236 |
257 | -10, // state 237 [ldarg.0 -> dup -> ldfld -> ldarg.1 -> sub -> stfld] |
258 | NA, // state 238 |
259 | DEFAULT_WEIGHT_VALUE, // state 239 [ldarg.0 -> dup -> ldfld -> ldarg.1 -> mul -> stfld] |
260 | NA, // state 240 |
261 | DEFAULT_WEIGHT_VALUE, // state 241 [ldarg.0 -> dup -> ldfld -> ldarg.1 -> div -> stfld] |
262 | NA, // state 242 |
263 | NA, // state 243 |
264 | DEFAULT_WEIGHT_VALUE, // state 244 [ldarg.0 -> ldfld -> ldarg.1 -> ldfld -> add] |
265 | DEFAULT_WEIGHT_VALUE, // state 245 [ldarg.0 -> ldfld -> ldarg.1 -> ldfld -> sub] |
266 | NA, // state 246 |
267 | NA, // state 247 |
268 | DEFAULT_WEIGHT_VALUE, // state 248 [ldarga.s -> ldfld -> ldarga.s -> ldfld -> add] |
269 | DEFAULT_WEIGHT_VALUE, // state 249 [ldarga.s -> ldfld -> ldarga.s -> ldfld -> sub] |
270 | }; |
271 | |
272 | static_assert_no_msg(NUM_SM_STATES == _countof(g_StateWeights)); |
273 | |
274 | const short* gp_StateWeights = g_StateWeights; |
275 | |