2 Copyright (C) 2008 Jeroen Frijters
4 This software is provided 'as-is', without any express or implied
5 warranty. In no event will the authors be held liable for any damages
6 arising from the use of this software.
8 Permission is granted to anyone to use this software for any purpose,
9 including commercial applications, and to alter it and redistribute it
10 freely, subject to the following restrictions:
12 1. The origin of this software must not be misrepresented; you must not
13 claim that you wrote the original software. If you use this software
14 in a product, an acknowledgment in the product documentation would be
15 appreciated but is not required.
16 2. Altered source versions must be plainly marked as such, and must not be
17 misrepresented as being the original software.
18 3. This notice may not be removed or altered from any source distribution.
26 namespace IKVM.Reflection.Emit
28 public sealed class OpCodes
30 public static readonly OpCode Nop = new OpCode(4888);
31 public static readonly OpCode Break = new OpCode(4199116);
32 public static readonly OpCode Ldarg_0 = new OpCode(8492847);
33 public static readonly OpCode Ldarg_1 = new OpCode(12687151);
34 public static readonly OpCode Ldarg_2 = new OpCode(16881455);
35 public static readonly OpCode Ldarg_3 = new OpCode(21075759);
36 public static readonly OpCode Ldloc_0 = new OpCode(25270063);
37 public static readonly OpCode Ldloc_1 = new OpCode(29464367);
38 public static readonly OpCode Ldloc_2 = new OpCode(33658671);
39 public static readonly OpCode Ldloc_3 = new OpCode(37852975);
40 public static readonly OpCode Stloc_0 = new OpCode(41949467);
41 public static readonly OpCode Stloc_1 = new OpCode(46143771);
42 public static readonly OpCode Stloc_2 = new OpCode(50338075);
43 public static readonly OpCode Stloc_3 = new OpCode(54532379);
44 public static readonly OpCode Ldarg_S = new OpCode(58824508);
45 public static readonly OpCode Ldarga_S = new OpCode(63224012);
46 public static readonly OpCode Starg_S = new OpCode(67115304);
47 public static readonly OpCode Ldloc_S = new OpCode(71407420);
48 public static readonly OpCode Ldloca_S = new OpCode(75806924);
49 public static readonly OpCode Stloc_S = new OpCode(79698216);
50 public static readonly OpCode Ldnull = new OpCode(84609339);
51 public static readonly OpCode Ldc_I4_M1 = new OpCode(88389823);
52 public static readonly OpCode Ldc_I4_0 = new OpCode(92584127);
53 public static readonly OpCode Ldc_I4_1 = new OpCode(96778431);
54 public static readonly OpCode Ldc_I4_2 = new OpCode(100972735);
55 public static readonly OpCode Ldc_I4_3 = new OpCode(105167039);
56 public static readonly OpCode Ldc_I4_4 = new OpCode(109361343);
57 public static readonly OpCode Ldc_I4_5 = new OpCode(113555647);
58 public static readonly OpCode Ldc_I4_6 = new OpCode(117749951);
59 public static readonly OpCode Ldc_I4_7 = new OpCode(121944255);
60 public static readonly OpCode Ldc_I4_8 = new OpCode(126138559);
61 public static readonly OpCode Ldc_I4_S = new OpCode(130332874);
62 public static readonly OpCode Ldc_I4 = new OpCode(134530584);
63 public static readonly OpCode Ldc_I8 = new OpCode(138827489);
64 public static readonly OpCode Ldc_R4 = new OpCode(143124407);
65 public static readonly OpCode Ldc_R8 = new OpCode(147421301);
66 public static readonly OpCode Dup = new OpCode(155404637);
67 public static readonly OpCode Pop = new OpCode(159393399);
68 public static readonly OpCode Jmp = new OpCode(163582686);
69 public static readonly OpCode Call = new OpCode(168690130);
70 public static readonly OpCode Calli = new OpCode(172884439);
71 public static readonly OpCode Ret = new OpCode(176258034);
72 public static readonly OpCode Br_S = new OpCode(180356455);
73 public static readonly OpCode Brfalse_S = new OpCode(184566035);
74 public static readonly OpCode Brtrue_S = new OpCode(188760339);
75 public static readonly OpCode Beq_S = new OpCode(192949342);
76 public static readonly OpCode Bge_S = new OpCode(197143646);
77 public static readonly OpCode Bgt_S = new OpCode(201337950);
78 public static readonly OpCode Ble_S = new OpCode(205532254);
79 public static readonly OpCode Blt_S = new OpCode(209726558);
80 public static readonly OpCode Bne_Un_S = new OpCode(213920862);
81 public static readonly OpCode Bge_Un_S = new OpCode(218115166);
82 public static readonly OpCode Bgt_Un_S = new OpCode(222309470);
83 public static readonly OpCode Ble_Un_S = new OpCode(226503774);
84 public static readonly OpCode Blt_Un_S = new OpCode(230698078);
85 public static readonly OpCode Br = new OpCode(234885812);
86 public static readonly OpCode Brfalse = new OpCode(239095392);
87 public static readonly OpCode Brtrue = new OpCode(243289696);
88 public static readonly OpCode Beq = new OpCode(247475279);
89 public static readonly OpCode Bge = new OpCode(251669583);
90 public static readonly OpCode Bgt = new OpCode(255863887);
91 public static readonly OpCode Ble = new OpCode(260058191);
92 public static readonly OpCode Blt = new OpCode(264252495);
93 public static readonly OpCode Bne_Un = new OpCode(268446799);
94 public static readonly OpCode Bge_Un = new OpCode(272641103);
95 public static readonly OpCode Bgt_Un = new OpCode(276835407);
96 public static readonly OpCode Ble_Un = new OpCode(281029711);
97 public static readonly OpCode Blt_Un = new OpCode(285224015);
98 public static readonly OpCode Switch = new OpCode(289427051);
99 public static readonly OpCode Ldind_I1 = new OpCode(293929358);
100 public static readonly OpCode Ldind_U1 = new OpCode(298123662);
101 public static readonly OpCode Ldind_I2 = new OpCode(302317966);
102 public static readonly OpCode Ldind_U2 = new OpCode(306512270);
103 public static readonly OpCode Ldind_I4 = new OpCode(310706574);
104 public static readonly OpCode Ldind_U4 = new OpCode(314900878);
105 public static readonly OpCode Ldind_I8 = new OpCode(319197782);
106 public static readonly OpCode Ldind_I = new OpCode(323289486);
107 public static readonly OpCode Ldind_R4 = new OpCode(327688990);
108 public static readonly OpCode Ldind_R8 = new OpCode(331985894);
109 public static readonly OpCode Ldind_Ref = new OpCode(336282798);
110 public static readonly OpCode Stind_Ref = new OpCode(339768820);
111 public static readonly OpCode Stind_I1 = new OpCode(343963124);
112 public static readonly OpCode Stind_I2 = new OpCode(348157428);
113 public static readonly OpCode Stind_I4 = new OpCode(352351732);
114 public static readonly OpCode Stind_I8 = new OpCode(356551166);
115 public static readonly OpCode Stind_R4 = new OpCode(360755730);
116 public static readonly OpCode Stind_R8 = new OpCode(364955164);
117 public static readonly OpCode Add = new OpCode(369216329);
118 public static readonly OpCode Sub = new OpCode(373410633);
119 public static readonly OpCode Mul = new OpCode(377604937);
120 public static readonly OpCode Div = new OpCode(381799241);
121 public static readonly OpCode Div_Un = new OpCode(385993545);
122 public static readonly OpCode Rem = new OpCode(390187849);
123 public static readonly OpCode Rem_Un = new OpCode(394382153);
124 public static readonly OpCode And = new OpCode(398576457);
125 public static readonly OpCode Or = new OpCode(402770761);
126 public static readonly OpCode Xor = new OpCode(406965065);
127 public static readonly OpCode Shl = new OpCode(411159369);
128 public static readonly OpCode Shr = new OpCode(415353673);
129 public static readonly OpCode Shr_Un = new OpCode(419547977);
130 public static readonly OpCode Neg = new OpCode(423737322);
131 public static readonly OpCode Not = new OpCode(427931626);
132 public static readonly OpCode Conv_I1 = new OpCode(432331130);
133 public static readonly OpCode Conv_I2 = new OpCode(436525434);
134 public static readonly OpCode Conv_I4 = new OpCode(440719738);
135 public static readonly OpCode Conv_I8 = new OpCode(445016642);
136 public static readonly OpCode Conv_R4 = new OpCode(449313546);
137 public static readonly OpCode Conv_R8 = new OpCode(453610450);
138 public static readonly OpCode Conv_U4 = new OpCode(457496954);
139 public static readonly OpCode Conv_U8 = new OpCode(461793858);
140 public static readonly OpCode Callvirt = new OpCode(466484004);
141 public static readonly OpCode Cpobj = new OpCode(469790542);
142 public static readonly OpCode Ldobj = new OpCode(474077528);
143 public static readonly OpCode Ldstr = new OpCode(478872210);
144 public static readonly OpCode Newobj = new OpCode(483158791);
145 public static readonly OpCode Castclass = new OpCode(487311950);
146 public static readonly OpCode Isinst = new OpCode(491095854);
147 public static readonly OpCode Conv_R_Un = new OpCode(495553490);
148 public static readonly OpCode Unbox = new OpCode(507874780);
149 public static readonly OpCode Throw = new OpCode(511759452);
150 public static readonly OpCode Ldfld = new OpCode(516056466);
151 public static readonly OpCode Ldflda = new OpCode(520455970);
152 public static readonly OpCode Stfld = new OpCode(524347262);
153 public static readonly OpCode Ldsfld = new OpCode(528588249);
154 public static readonly OpCode Ldsflda = new OpCode(532987753);
155 public static readonly OpCode Stsfld = new OpCode(536879045);
156 public static readonly OpCode Stobj = new OpCode(541090290);
157 public static readonly OpCode Conv_Ovf_I1_Un = new OpCode(545577338);
158 public static readonly OpCode Conv_Ovf_I2_Un = new OpCode(549771642);
159 public static readonly OpCode Conv_Ovf_I4_Un = new OpCode(553965946);
160 public static readonly OpCode Conv_Ovf_I8_Un = new OpCode(558262850);
161 public static readonly OpCode Conv_Ovf_U1_Un = new OpCode(562354554);
162 public static readonly OpCode Conv_Ovf_U2_Un = new OpCode(566548858);
163 public static readonly OpCode Conv_Ovf_U4_Un = new OpCode(570743162);
164 public static readonly OpCode Conv_Ovf_U8_Un = new OpCode(575040066);
165 public static readonly OpCode Conv_Ovf_I_Un = new OpCode(579131770);
166 public static readonly OpCode Conv_Ovf_U_Un = new OpCode(583326074);
167 public static readonly OpCode Box = new OpCode(587930786);
168 public static readonly OpCode Newarr = new OpCode(592133640);
169 public static readonly OpCode Ldlen = new OpCode(595953446);
170 public static readonly OpCode Ldelema = new OpCode(600157847);
171 public static readonly OpCode Ldelem_I1 = new OpCode(604352143);
172 public static readonly OpCode Ldelem_U1 = new OpCode(608546447);
173 public static readonly OpCode Ldelem_I2 = new OpCode(612740751);
174 public static readonly OpCode Ldelem_U2 = new OpCode(616935055);
175 public static readonly OpCode Ldelem_I4 = new OpCode(621129359);
176 public static readonly OpCode Ldelem_U4 = new OpCode(625323663);
177 public static readonly OpCode Ldelem_I8 = new OpCode(629620567);
178 public static readonly OpCode Ldelem_I = new OpCode(633712271);
179 public static readonly OpCode Ldelem_R4 = new OpCode(638111775);
180 public static readonly OpCode Ldelem_R8 = new OpCode(642408679);
181 public static readonly OpCode Ldelem_Ref = new OpCode(646705583);
182 public static readonly OpCode Stelem_I = new OpCode(650186475);
183 public static readonly OpCode Stelem_I1 = new OpCode(654380779);
184 public static readonly OpCode Stelem_I2 = new OpCode(658575083);
185 public static readonly OpCode Stelem_I4 = new OpCode(662769387);
186 public static readonly OpCode Stelem_I8 = new OpCode(666968821);
187 public static readonly OpCode Stelem_R4 = new OpCode(671168255);
188 public static readonly OpCode Stelem_R8 = new OpCode(675367689);
189 public static readonly OpCode Stelem_Ref = new OpCode(679567123);
190 public static readonly OpCode Ldelem = new OpCode(683838727);
191 public static readonly OpCode Stelem = new OpCode(687965999);
192 public static readonly OpCode Unbox_Any = new OpCode(692217246);
193 public static readonly OpCode Conv_Ovf_I1 = new OpCode(751098234);
194 public static readonly OpCode Conv_Ovf_U1 = new OpCode(755292538);
195 public static readonly OpCode Conv_Ovf_I2 = new OpCode(759486842);
196 public static readonly OpCode Conv_Ovf_U2 = new OpCode(763681146);
197 public static readonly OpCode Conv_Ovf_I4 = new OpCode(767875450);
198 public static readonly OpCode Conv_Ovf_U4 = new OpCode(772069754);
199 public static readonly OpCode Conv_Ovf_I8 = new OpCode(776366658);
200 public static readonly OpCode Conv_Ovf_U8 = new OpCode(780560962);
201 public static readonly OpCode Refanyval = new OpCode(814012802);
202 public static readonly OpCode Ckfinite = new OpCode(818514898);
203 public static readonly OpCode Mkrefany = new OpCode(830595078);
204 public static readonly OpCode Ldtoken = new OpCode(872728098);
205 public static readonly OpCode Conv_U2 = new OpCode(876927354);
206 public static readonly OpCode Conv_U1 = new OpCode(881121658);
207 public static readonly OpCode Conv_I = new OpCode(885315962);
208 public static readonly OpCode Conv_Ovf_I = new OpCode(889510266);
209 public static readonly OpCode Conv_Ovf_U = new OpCode(893704570);
210 public static readonly OpCode Add_Ovf = new OpCode(897698633);
211 public static readonly OpCode Add_Ovf_Un = new OpCode(901892937);
212 public static readonly OpCode Mul_Ovf = new OpCode(906087241);
213 public static readonly OpCode Mul_Ovf_Un = new OpCode(910281545);
214 public static readonly OpCode Sub_Ovf = new OpCode(914475849);
215 public static readonly OpCode Sub_Ovf_Un = new OpCode(918670153);
216 public static readonly OpCode Endfinally = new OpCode(922751806);
217 public static readonly OpCode Leave = new OpCode(926945972);
218 public static readonly OpCode Leave_S = new OpCode(931140291);
219 public static readonly OpCode Stind_I = new OpCode(935359988);
220 public static readonly OpCode Conv_U = new OpCode(939841914);
221 public static readonly OpCode Prefix7 = new OpCode(1040189696);
222 public static readonly OpCode Prefix6 = new OpCode(1044384000);
223 public static readonly OpCode Prefix5 = new OpCode(1048578304);
224 public static readonly OpCode Prefix4 = new OpCode(1052772608);
225 public static readonly OpCode Prefix3 = new OpCode(1056966912);
226 public static readonly OpCode Prefix2 = new OpCode(1061161216);
227 public static readonly OpCode Prefix1 = new OpCode(1065355520);
228 public static readonly OpCode Prefixref = new OpCode(1069549824);
229 public static readonly OpCode Arglist = new OpCode(-2147170789);
230 public static readonly OpCode Ceq = new OpCode(-2142966567);
231 public static readonly OpCode Cgt = new OpCode(-2138772263);
232 public static readonly OpCode Cgt_Un = new OpCode(-2134577959);
233 public static readonly OpCode Clt = new OpCode(-2130383655);
234 public static readonly OpCode Clt_Un = new OpCode(-2126189351);
235 public static readonly OpCode Ldftn = new OpCode(-2122004966);
236 public static readonly OpCode Ldvirtftn = new OpCode(-2117759533);
237 public static readonly OpCode Ldarg = new OpCode(-2109627244);
238 public static readonly OpCode Ldarga = new OpCode(-2105227740);
239 public static readonly OpCode Starg = new OpCode(-2101336448);
240 public static readonly OpCode Ldloc = new OpCode(-2097044332);
241 public static readonly OpCode Ldloca = new OpCode(-2092644828);
242 public static readonly OpCode Stloc = new OpCode(-2088753536);
243 public static readonly OpCode Localloc = new OpCode(-2084241010);
244 public static readonly OpCode Endfilter = new OpCode(-2076160335);
245 public static readonly OpCode Unaligned = new OpCode(-2071982151);
246 public static readonly OpCode Volatile = new OpCode(-2067787858);
247 public static readonly OpCode Tailcall = new OpCode(-2063593554);
248 public static readonly OpCode Initobj = new OpCode(-2059384859);
249 public static readonly OpCode Constrained = new OpCode(-2055204938);
250 public static readonly OpCode Cpblk = new OpCode(-2050974371);
251 public static readonly OpCode Initblk = new OpCode(-2046780067);
252 public static readonly OpCode Rethrow = new OpCode(-2038428509);
253 public static readonly OpCode Sizeof = new OpCode(-2029730269);
254 public static readonly OpCode Refanytype = new OpCode(-2025531014);
255 public static readonly OpCode Readonly = new OpCode(-2021650514);
257 internal static string GetName(int value)
516 return "conv.ovf.i1.un";
518 return "conv.ovf.i2.un";
520 return "conv.ovf.i4.un";
522 return "conv.ovf.i8.un";
524 return "conv.ovf.u1.un";
526 return "conv.ovf.u2.un";
528 return "conv.ovf.u4.un";
530 return "conv.ovf.u8.un";
532 return "conv.ovf.i.un";
534 return "conv.ovf.u.un";
588 return "conv.ovf.i1";
590 return "conv.ovf.u1";
592 return "conv.ovf.i2";
594 return "conv.ovf.u2";
596 return "conv.ovf.i4";
598 return "conv.ovf.u4";
600 return "conv.ovf.i8";
602 return "conv.ovf.u8";
700 return "constrained.";
714 throw new ArgumentOutOfRangeException();
717 public static bool TakesSingleByteArgument(OpCode inst)