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
19const 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
272static_assert_no_msg(NUM_SM_STATES == _countof(g_StateWeights));
273
274const short* gp_StateWeights = g_StateWeights;
275