ROSE 2.9.0
Loading...
Searching...
No Matches
InstructionEnumsCil.h
1#ifndef ROSE_BinaryAnalysis_InstructionEnumsCil_H
2#define ROSE_BinaryAnalysis_InstructionEnumsCil_H
3#include <featureTests.h>
4#ifdef ROSE_ENABLE_BINARY_ANALYSIS
5
6/* References:
7 * [1] "ECMA Standard ECMA-335 Common Language Infrastructure (CLI)" Downloaded
8 from https://www.ecma-international.org/publications-and-standards/standards/ecma-335/
9 */
10
11namespace Rose {
12namespace BinaryAnalysis {
13
14// CIL major register numbers.
15enum CilRegisterClass {
16 cil_regclass_spr, // Special purpose registers. Minors are 0..3.
17};
18
19enum CilFamily {
20 Cil_family = 0xffffffff, // All CIL Instruction sets
21};
22
23// CIL instruction types
24enum CilInstructionKind {
25 Cil_unknown_instruction= 0x0000,
26
27 // One byte instructions
28
29 Cil_nop=0xFF00, // name="nop",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0x00",flow="next",type="Primitive"
30 Cil_break, // name="break",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0x01",flow="break",type="Primitive"
31 Cil_ldarg_0, // name="ldarg.0",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x02",flow="next",type="Macro",constant="0"
32 Cil_ldarg_1, // name="ldarg.1",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x03",flow="next",type="Macro",constant="1"
33 Cil_ldarg_2, // name="ldarg.2",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x04",flow="next",type="Macro",constant="2"
34 Cil_ldarg_3, // name="ldarg.3",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x05",flow="next",type="Macro",constant="3"
35 Cil_ldloc_0, // name="ldloc.0",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x06",flow="next",type="Macro",constant="0"
36 Cil_ldloc_1, // name="ldloc.1",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x07",flow="next",type="Macro",constant="1"
37 Cil_ldloc_2, // name="ldloc.2",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x08",flow="next",type="Macro",constant="2"
38 Cil_ldloc_3, // name="ldloc.3",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x09",flow="next",type="Macro",constant="3"
39 Cil_stloc_0, // name="stloc.0",input="Pop1",output="Push0",args="InlineNone", o1="0xFF",o2="0x0A",flow="next",type="Macro",constant="0"
40 Cil_stloc_1, // name="stloc.1",input="Pop1",output="Push0",args="InlineNone", o1="0xFF",o2="0x0B",flow="next",type="Macro",constant="1"
41 Cil_stloc_2, // name="stloc.2",input="Pop1",output="Push0",args="InlineNone", o1="0xFF",o2="0x0C",flow="next",type="Macro",constant="2"
42 Cil_stloc_3, // name="stloc.3",input="Pop1",output="Push0",args="InlineNone", o1="0xFF",o2="0x0D",flow="next",type="Macro",constant="3"
43 Cil_ldarg_s, // name="ldarg.s",input="Pop0",output="Push1",args="ShortInlineVar", o1="0xFF",o2="0x0E",flow="next",type="Macro"
44 Cil_ldarga_s, // name="ldarga.s",input="Pop0",output="PushI",args="ShortInlineVar",o1="0xFF",o2="0x0F",flow="next",type="Macro"
45
46 Cil_starg_s, // name="starg.s",input="Pop1",output="Push0",args="ShortInlineVar", o1="0xFF",o2="0x10",flow="next",type="Macro"
47 Cil_ldloc_s, // name="ldloc.s",input="Pop0",output="Push1",args="ShortInlineVar", o1="0xFF",o2="0x11",flow="next",type="Macro"
48 Cil_ldloca_s, // name="ldloca.s",input="Pop0",output="PushI",args="ShortInlineVar",o1="0xFF",o2="0x12",flow="next",type="Macro"
49 Cil_stloc_s, // name="stloc.s",input="Pop1",output="Push0",args="ShortInlineVar", o1="0xFF",o2="0x13",flow="next",type="Macro"
50 Cil_ldnull, // name="ldnull",input="Pop0",output="PushRef",args="InlineNone", o1="0xFF",o2="0x14",flow="next",type="Primitive"
51 Cil_ldc_i4_m1, // name="ldc.i4.m1",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x15",flow="next",type="Macro",constant="-1"
52 Cil_ldc_i4_0, // name="ldc.i4.0",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x16",flow="next",type="Macro",constant="0"
53 Cil_ldc_i4_1, // name="ldc.i4.1",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x17",flow="next",type="Macro",constant="1"
54 Cil_ldc_i4_2, // name="ldc.i4.2",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x18",flow="next",type="Macro",constant="2"
55 Cil_ldc_i4_3, // name="ldc.i4.3",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x19",flow="next",type="Macro",constant="3"
56 Cil_ldc_i4_4, // name="ldc.i4.4",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x1A",flow="next",type="Macro",constant="4"
57 Cil_ldc_i4_5, // name="ldc.i4.5",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x1B",flow="next",type="Macro",constant="5"
58 Cil_ldc_i4_6, // name="ldc.i4.6",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x1C",flow="next",type="Macro",constant="6"
59 Cil_ldc_i4_7, // name="ldc.i4.7",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x1D",flow="next",type="Macro",constant="7"
60 Cil_ldc_i4_8, // name="ldc.i4.8",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x1E",flow="next",type="Macro",constant="8"
61 Cil_ldc_i4_s, // name="ldc.i4.s",input="Pop0",output="PushI",args="ShortInlineI", o1="0xFF",o2="0x1F",flow="next",type="Macro"
62
63 Cil_ldc_i4, // name="ldc.i4",input="Pop0",output="PushI",args="InlineI", o1="0xFF",o2="0x20",flow="next",type="Primitive"
64 Cil_ldc_i8, // name="ldc.i8",input="Pop0",output="PushI8",args="InlineI8", o1="0xFF",o2="0x21",flow="next",type="Primitive"
65 Cil_ldc_r4, // name="ldc.r4",input="Pop0",output="PushR4",args="ShortInlineR", o1="0xFF",o2="0x22",flow="next",type="Primitive"
66 Cil_ldc_r8, // name="ldc.r8",input="Pop0",output="PushR8",args="InlineR", o1="0xFF",o2="0x23",flow="next",type="Primitive"
67 Cil_unused99, // name="unused99",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0x24",flow="next"
68 Cil_dup, // name="dup",input="Pop1",output="Push1+Push1",args="InlineNone", o1="0xFF",o2="0x25",flow="next",type="Primitive"
69 Cil_pop, // name="pop",input="Pop1",output="Push0",args="InlineNone", o1="0xFF",o2="0x26",flow="next",type="Primitive"
70 Cil_jmp, // name="jmp",input="Pop0",output="Push0",args="InlineMethod", o1="0xFF",o2="0x27",flow="call",type="Primitive"
71 Cil_call, // name="call",input="VarPop",output="VarPush",args="InlineMethod", o1="0xFF",o2="0x28",flow="call",type="Primitive"
72 Cil_calli, // name="calli",input="VarPop",output="VarPush",args="InlineSig", o1="0xFF",o2="0x29",flow="call",type="Primitive"
73 Cil_ret, // name="ret",input="VarPop",output="Push0",args="InlineNone", o1="0xFF",o2="0x2A",flow="return",type="Primitive"
74 Cil_br_s, // name="br.s",input="Pop0",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x2B",flow="branch",type="Macro"
75 Cil_brfalse_s, // name="brfalse.s",input="PopI",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x2C",flow="cond-branch",type="Macro"
76 Cil_brtrue_s, // name="brtrue.s",input="PopI",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x2D",flow="cond-branch",type="Macro"
77 Cil_beq_s, // name="beq.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x2E",flow="cond-branch",type="Macro"
78 Cil_bge_s, // name="bge.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x2F",flow="cond-branch",type="Macro"
79
80 Cil_bgt_s, // name="bgt.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x30",flow="cond-branch",type="Macro"
81 Cil_ble_s, // name="ble.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x31",flow="cond-branch",type="Macro"
82 Cil_blt_s, // name="blt.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x32",flow="cond-branch",type="Macro"
83 Cil_bne_un_s, // name="bne.un.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x33",flow="cond-branch",type="Macro"
84 Cil_bge_un_s, // name="bge.un.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x34",flow="cond-branch",type="Macro"
85 Cil_bgt_un_s, // name="bgt.un.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x35",flow="cond-branch",type="Macro"
86 Cil_ble_un_s, // name="ble.un.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x36",flow="cond-branch",type="Macro"
87 Cil_blt_un_s, // name="blt.un.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x37",flow="cond-branch",type="Macro"
88 Cil_br, // name="br",input="Pop0",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x38",flow="branch",type="Primitive"
89 Cil_brfalse, // name="brfalse",input="PopI",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x39",flow="cond-branch",type="Primitive"
90 Cil_brtrue, // name="brtrue",input="PopI",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3A",flow="cond-branch",type="Primitive"
91 Cil_beq, // name="beq",input="Pop1+Pop1",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3B",flow="cond-branch",type="Macro"
92 Cil_bge, // name="bge",input="Pop1+Pop1",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3C",flow="cond-branch",type="Macro"
93 Cil_bgt, // name="bgt",input="Pop1+Pop1",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3D",flow="cond-branch",type="Macro"
94 Cil_ble, // name="ble",input="Pop1+Pop1",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3E",flow="cond-branch",type="Macro"
95 Cil_blt, // name="blt",input="Pop1+Pop1",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3F",flow="cond-branch",type="Macro"
96
97 Cil_bne_un, // name="bne.un",input="Pop1+Pop1",output="Push0",args="InlineBrTarget",o1="0xFF",o2="0x40",flow="cond-branch",type="Macro"
98 Cil_bge_un, // name="bge.un",input="Pop1+Pop1",output="Push0",args="InlineBrTarget",o1="0xFF",o2="0x41",flow="cond-branch",type="Macro"
99 Cil_bgt_un, // name="bgt.un",input="Pop1+Pop1",output="Push0",args="InlineBrTarget",o1="0xFF",o2="0x42",flow="cond-branch",type="Macro"
100 Cil_ble_un, // name="ble.un",input="Pop1+Pop1",output="Push0",args="InlineBrTarget",o1="0xFF",o2="0x43",flow="cond-branch",type="Macro"
101 Cil_blt_un, // name="blt.un",input="Pop1+Pop1",output="Push0",args="InlineBrTarget",o1="0xFF",o2="0x44",flow="cond-branch",type="Macro"
102 Cil_switch, // name="switch",input="PopI",output="Push0",args="InlineSwitch", o1="0xFF",o2="0x45",flow="cond-branch",type="Primitive"
103 Cil_ldind_i1, // name="ldind.i1",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x46",flow="next",type="Primitive"
104 Cil_ldind_u1, // name="ldind.u1",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x47",flow="next",type="Primitive"
105 Cil_ldind_i2, // name="ldind.i2",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x48",flow="next",type="Primitive"
106 Cil_ldind_u2, // name="ldind.u2",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x49",flow="next",type="Primitive"
107 Cil_ldind_i4, // name="ldind.i4",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x4A",flow="next",type="Primitive"
108 Cil_ldind_u4, // name="ldind.u4",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x4B",flow="next",type="Primitive"
109 Cil_ldind_i8, // name="ldind.i8",input="PopI",output="PushI8",args="InlineNone", o1="0xFF",o2="0x4C",flow="next",type="Primitive"
110 Cil_ldind_i, // name="ldind.i",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x4D",flow="next",type="Primitive"
111 Cil_ldind_r4, // name="ldind.r4",input="PopI",output="PushR4",args="InlineNone", o1="0xFF",o2="0x4E",flow="next",type="Primitive"
112 Cil_ldind_r8, // name="ldind.r8",input="PopI",output="PushR8",args="InlineNone" ,o1="0xFF",o2="0x4F",flow="next",type="Primitive"
113
114 Cil_ldind_ref, // name="ldind.ref",input="PopI",output="PushRef",args="InlineNone", o1="0xFF",o2="0x50",flow="next",type="Primitive"
115 Cil_stind_ref, // name="stind.ref",input="PopI+PopI",output="Push0",args="InlineNone",o1="0xFF",o2="0x51",flow="next",type="Primitive"
116 Cil_stind_i1, // name="stind.i1",input="PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x52",flow="next",type="Primitive"
117 Cil_stind_i2, // name="stind.i2",input="PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x53",flow="next",type="Primitive"
118 Cil_stind_i4, // name="stind.i4",input="PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x54",flow="next",type="Primitive"
119 Cil_stind_i8, // name="stind.i8",input="PopI+PopI8",output="Push0",args="InlineNone",o1="0xFF",o2="0x55",flow="next",type="Primitive"
120 Cil_stind_r4, // name="stind.r4",input="PopI+PopR4",output="Push0",args="InlineNone",o1="0xFF",o2="0x56",flow="next",type="Primitive"
121 Cil_stind_r8, // name="stind.r8",input="PopI+PopR8",output="Push0",args="InlineNone",o1="0xFF",o2="0x57",flow="next",type="Primitive"
122 Cil_add, // name="add",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x58",flow="next",type="Primitive"
123 Cil_sub, // name="sub",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x59",flow="next",type="Primitive"
124 Cil_mul, // name="mul",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5A",flow="next",type="Primitive"
125 Cil_div, // name="div",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5B",flow="next",type="Primitive"
126 Cil_div_un, // name="div.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5C",flow="next",type="Primitive"
127 Cil_rem, // name="rem",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5D",flow="next",type="Primitive"
128 Cil_rem_un, // name="rem.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5E",flow="next",type="Primitive"
129 Cil_and, // name="and",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5F",flow="next",type="Primitive"
130
131 Cil_or, // name="or",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x60",flow="next",type="Primitive"
132 Cil_xor, // name="xor",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x61",flow="next",type="Primitive"
133 Cil_shl, // name="shl",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x62",flow="next",type="Primitive"
134 Cil_shr, // name="shr",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x63",flow="next",type="Primitive"
135 Cil_shr_un, // name="shr.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x64",flow="next",type="Primitive"
136 Cil_neg, // name="neg",input="Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x65",flow="next",type="Primitive"
137 Cil_not, // name="not",input="Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x66",flow="next",type="Primitive"
138 Cil_conv_i1, // name="conv.i1",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x67",flow="next",type="Primitive"
139 Cil_conv_i2, // name="conv.i2",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x68",flow="next",type="Primitive"
140 Cil_conv_i4, // name="conv.i4",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x69",flow="next",type="Primitive"
141 Cil_conv_i8, // name="conv.i8",input="Pop1",output="PushI8",args="InlineNone", o1="0xFF",o2="0x6A",flow="next",type="Primitive"
142 Cil_conv_r4, // name="conv.r4",input="Pop1",output="PushR4",args="InlineNone", o1="0xFF",o2="0x6B",flow="next",type="Primitive"
143 Cil_conv_r8, // name="conv.r8",input="Pop1",output="PushR8",args="InlineNone", o1="0xFF",o2="0x6C",flow="next",type="Primitive"
144 Cil_conv_u4, // name="conv.u4",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x6D",flow="next",type="Primitive"
145 Cil_conv_u8, // name="conv.u8",input="Pop1",output="PushI8",args="InlineNone", o1="0xFF",o2="0x6E",flow="next",type="Primitive"
146 Cil_callvirt, // name="callvirt",input="VarPop",output="VarPush",args="InlineMethod",o1="0xFF",o2="0x6F",flow="call",type="Objmodel"
147
148 Cil_cpobj, // name="cpobj",input="PopI+PopI",output="Push0",args="InlineType", o1="0xFF",o2="0x70",flow="next",type="Objmodel"
149 Cil_ldobj, // name="ldobj",input="PopI",output="Push1",args="InlineType", o1="0xFF",o2="0x71",flow="next",type="Objmodel"
150 Cil_ldstr, // name="ldstr",input="Pop0",output="PushRef",args="InlineString", o1="0xFF",o2="0x72",flow="next",type="Objmodel"
151 Cil_newobj, // name="newobj",input="VarPop",output="PushRef",args="InlineMethod", o1="0xFF",o2="0x73",flow="call",type="Objmodel"
152 Cil_castclass, // name="castclass",input="PopRef",output="PushRef",args="InlineType",o1="0xFF",o2="0x74",flow="next",type="Objmodel"
153 Cil_isinst, // name="isinst",input="PopRef",output="PushI",args="InlineType", o1="0xFF",o2="0x75",flow="next",type="Objmodel"
154 Cil_conv_r_un, // name="conv.r.un",input="Pop1",output="PushR8",args="InlineNone", o1="0xFF",o2="0x76",flow="next",type="Primitive"
155 Cil_unused58, // name="unused58",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0x77",flow="next"
156 Cil_unused1, // name="unused1",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0x78",flow="next"
157 Cil_unbox, // name="unbox",input="PopRef",output="PushI",args="InlineType", o1="0xFF",o2="0x79",flow="next",type="Primitive"
158 Cil_throw, // name="throw",input="PopRef",output="Push0",args="InlineNone", o1="0xFF",o2="0x7A",flow="throw",type="Objmodel"
159 Cil_ldfld, // name="ldfld",input="PopRef",output="Push1",args="InlineField", o1="0xFF",o2="0x7B",flow="next",type="Objmodel"
160 Cil_ldflda, // name="ldflda",input="PopRef",output="PushI",args="InlineField", o1="0xFF",o2="0x7C",flow="next",type="Objmodel"
161 Cil_stfld, // name="stfld",input="PopRef+Pop1",output="Push0",args="InlineField",o1="0xFF",o2="0x7D",flow="next",type="Objmodel"
162 Cil_ldsfld, // name="ldsfld",input="Pop0",output="Push1",args="InlineField", o1="0xFF",o2="0x7E",flow="next",type="Objmodel"
163 Cil_ldsflda, // name="ldsflda",input="Pop0",output="PushI",args="InlineField", o1="0xFF",o2="0x7F",flow="next",type="Objmodel"
164
165 Cil_stsfld, // name="stsfld",input="Pop1",output="Push0",args="InlineField", o1="0xFF",o2="0x80",flow="next",type="Objmodel"
166 Cil_stobj, // name="stobj",input="PopI+Pop1",output="Push0",args="InlineType", o1="0xFF",o2="0x81",flow="next",type="Primitive"
167 Cil_conv_ovf_i1_un,// name="conv.ovf.i1.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x82",flow="next",type="Primitive"
168 Cil_conv_ovf_i2_un,// name="conv.ovf.i2.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x83",flow="next",type="Primitive"
169 Cil_conv_ovf_i4_un,// name="conv.ovf.i4.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x84",flow="next",type="Primitive"
170 Cil_conv_ovf_i8_un,// name="conv.ovf.i8.un",input="Pop1",output="PushI8",args="InlineNone",o1="0xFF",o2="0x85",flow="next",type="Primitive"
171 Cil_conv_ovf_u1_un,// name="conv.ovf.u1.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x86",flow="next",type="Primitive"
172 Cil_conv_ovf_u2_un,// name="conv.ovf.u2.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x87",flow="next",type="Primitive"
173 Cil_conv_ovf_u4_un,// name="conv.ovf.u4.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x88",flow="next",type="Primitive"
174 Cil_conv_ovf_u8_un,// name="conv.ovf.u8.un",input="Pop1",output="PushI8",args="InlineNone",o1="0xFF",o2="0x89",flow="next",type="Primitive"
175 Cil_conv_ovf_i_un, // name="conv.ovf.i.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x8A",flow="next",type="Primitive"
176 Cil_conv_ovf_u_un, // name="conv.ovf.u.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x8B",flow="next",type="Primitive"
177 Cil_box, // name="box",input="Pop1",output="PushRef",args="InlineType", o1="0xFF",o2="0x8C",flow="next",type="Primitive"
178 Cil_newarr, // name="newarr",input="PopI",output="PushRef",args="InlineType", o1="0xFF",o2="0x8D",flow="next",type="Objmodel"
179 Cil_ldlen, // name="ldlen",input="PopRef",output="PushI",args="InlineNone", o1="0xFF",o2="0x8E",flow="next",type="Objmodel"
180 Cil_ldelema, // name="ldelema",input="PopRef+PopI",output="PushI",args="InlineType", o1="0xFF",o2="0x8F",flow="next",type="Objmodel"
181
182 Cil_ldelem_i1, // name="ldelem.i1",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x90",flow="next",type="Objmodel"
183 Cil_ldelem_u1, // name="ldelem.u1",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x91",flow="next",type="Objmodel"
184 Cil_ldelem_i2, // name="ldelem.i2",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x92",flow="next",type="Objmodel"
185 Cil_ldelem_u2, // name="ldelem.u2",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x93",flow="next",type="Objmodel"
186 Cil_ldelem_i4, // name="ldelem.i4",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x94",flow="next",type="Objmodel"
187 Cil_ldelem_u4, // name="ldelem.u4",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x95",flow="next",type="Objmodel"
188 Cil_ldelem_i8, // name="ldelem.i8",input="PopRef+PopI",output="PushI8",args="InlineNone", o1="0xFF",o2="0x96",flow="next",type="Objmodel"
189 Cil_ldelem_i, // name="ldelem.i",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x97",flow="next",type="Objmodel"
190 Cil_ldelem_r4, // name="ldelem.r4",input="PopRef+PopI",output="PushR4",args="InlineNone", o1="0xFF",o2="0x98",flow="next",type="Objmodel"
191 Cil_ldelem_r8, // name="ldelem.r8",input="PopRef+PopI",output="PushR8",args="InlineNone", o1="0xFF",o2="0x99",flow="next",type="Objmodel"
192 Cil_ldelem_ref, // name="ldelem.ref",input="PopRef+PopI",output="PushRef",args="InlineNone", o1="0xFF",o2="0x9A",flow="next",type="Objmodel"
193 Cil_stelem_i, // name="stelem.i",input="PopRef+PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x9B",flow="next",type="Objmodel"
194 Cil_stelem_i1, // name="stelem.i1",input="PopRef+PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x9C",flow="next",type="Objmodel"
195 Cil_stelem_i2, // name="stelem.i2",input="PopRef+PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x9D",flow="next",type="Objmodel"
196 Cil_stelem_i4, // name="stelem.i4",input="PopRef+PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x9E",flow="next",type="Objmodel"
197 Cil_stelem_i8, // name="stelem.i8",input="PopRef+PopI+PopI8",output="Push0",args="InlineNone",o1="0xFF",o2="0x9F",flow="next",type="Objmodel"
198
199 Cil_stelem_r4, // name="stelem.r4",input="PopRef+PopI+PopR4",output="Push0",args="InlineNone", o1="0xFF",o2="0xA0",flow="next",type="Objmodel"
200 Cil_stelem_r8, // name="stelem.r8",input="PopRef+PopI+PopR8",output="Push0",args="InlineNone", o1="0xFF",o2="0xA1",flow="next",type="Objmodel"
201 Cil_stelem_ref, // name="stelem.ref",input="PopRef+PopI+PopRef",output="Push0",args="InlineNone",o1="0xFF",o2="0xA2",flow="next",type="Objmodel"
202 Cil_ldelem, // name="ldelem",input="PopRef+PopI",output="Push1",args="InlineType", o1="0xFF",o2="0xA3",flow="next",type="Objmodel"
203 Cil_stelem, // name="stelem",input="PopRef+PopI+Pop1",output="Push0",args="InlineType", o1="0xFF",o2="0xA4",flow="next",type="Objmodel"
204 Cil_unbox_any, // name="unbox.any",input="PopRef",output="Push1",args="InlineType", o1="0xFF",o2="0xA5",flow="next",type="Objmodel"
205 Cil_unused5, // name="unused5",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xA6",flow="next"
206 Cil_unused6, // name="unused6",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xA7",flow="next"
207 Cil_unused7, // name="unused7",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xA8",flow="next"
208 Cil_unused8, // name="unused8",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xA9",flow="next"
209 Cil_unused9, // name="unused9",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAA",flow="next"
210 Cil_unused10, // name="unused10",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAB",flow="next"
211 Cil_unused11, // name="unused11",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAC",flow="next"
212 Cil_unused12, // name="unused12",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAD",flow="next"
213 Cil_unused13, // name="unused13",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAE",flow="next"
214 Cil_unused14, // name="unused14",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAF",flow="next"
215
216 Cil_unused15, // name="unused15",input="Pop0",output="Push0",args="InlineNone" ,o1="0xFF",o2="0xB0",flow="next"
217 Cil_unused16, // name="unused16",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xB1",flow="next"
218 Cil_unused17, // name="unused17",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xB2",flow="next"
219 Cil_conv_ovf_i1, // name="conv.ovf.i1",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xB3",flow="next",type="Primitive"
220 Cil_conv_ovf_u1, // name="conv.ovf.u1",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xB4",flow="next",type="Primitive"
221 Cil_conv_ovf_i2, // name="conv.ovf.i2",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xB5",flow="next",type="Primitive"
222 Cil_conv_ovf_u2, // name="conv.ovf.u2",input="Pop1",output="PushI",args="InlineNone" ,o1="0xFF" o2="0xB6",flow="next",type="Primitive"
223 Cil_conv_ovf_i4, // name="conv.ovf.i4",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xB7",flow="next",type="Primitive"
224 Cil_conv_ovf_u4, // name="conv.ovf.u4",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xB8",flow="next",type="Primitive"
225 Cil_conv_ovf_i8, // name="conv.ovf.i8",input="Pop1",output="PushI8",args="InlineNone",o1="0xFF",o2="0xB9",flow="next",type="Primitive"
226 Cil_conv_ovf_u8, // name="conv.ovf.u8",input="Pop1",output="PushI8",args="InlineNone",o1="0xFF",o2="0xBA",flow="next",type="Primitive"
227 Cil_unused50, // name="unused50",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xBB",flow="next"
228 Cil_unused18, // name="unused18",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xBC",flow="next"
229 Cil_unused19, // name="unused19",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xBD",flow="next"
230 Cil_unused20, // name="unused20",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xBE",flow="next"
231 Cil_unused21, // name="unused21",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xBF",flow="next"
232
233 Cil_unused22, // name="unused22",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC0",flow="next"
234 Cil_unused23, // name="unused23",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC1",flow="next"
235 Cil_refanyval, // name="refanyval",input="Pop1",output="PushI",args="InlineType",o1="0xFF",o2="0xC2",flow="next",type="Primitive"
236 Cil_ckfinite, // name="ckfinite",input="Pop1",output="PushR8",args="InlineNone",o1="0xFF",o2="0xC3",flow="next",type="Primitive"
237 Cil_unused24, // name="unused24",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC4",flow="next"
238 Cil_unused25, // name="unused25",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC5",flow="next"
239 Cil_mkrefany, // name="mkrefany",input="PopI",output="Push1",args="InlineType", o1="0xFF",o2="0xC6",flow="next",type="Primitive"
240 Cil_unused59, // name="unused59",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC7",flow="next"
241 Cil_unused60, // name="unused60",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC8",flow="next"
242 Cil_unused61, // name="unused61",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC9",flow="next"
243 Cil_unused62, // name="unused62",input="Pop0",output="Push0",args="InlineNone" ,o1="0xFF",o2="0xCA",flow="next"
244 Cil_unused63, // name="unused63",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xCB",flow="next"
245 Cil_unused64, // name="unused64",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xCC",flow="next"
246 Cil_unused65, // name="unused65",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xCD",flow="next"
247 Cil_unused66, // name="unused66",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xCE",flow="next"
248 Cil_unused67, // name="unused67",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xCF",flow="next"
249
250 Cil_ldtoken, // name="ldtoken",input="Pop0",output="PushI",args="InlineTok", o1="0xFF",o2="0xD0",flow="next",type="Primitive"
251 Cil_conv_u2, // name="conv.u2",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xD1",flow="next",type="Primitive"
252 Cil_conv_u1, // name="conv.u1",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xD2",flow="next",type="Primitive"
253 Cil_conv_i, // name="conv.i",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xD3",flow="next",type="Primitive"
254 Cil_conv_ovf_i, // name="conv.ovf.i",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xD4",flow="next",type="Primitive"
255 Cil_conv_ovf_u, // name="conv.ovf.u",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xD5",flow="next",type="Primitive"
256 Cil_add_ovf, // name="add.ovf",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xD6",flow="next",type="Primitive"
257 Cil_add_ovf_un, // name="add.ovf.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xD7",flow="next",type="Primitive"
258 Cil_mul_ovf, // name="mul.ovf",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xD8",flow="next",type="Primitive"
259 Cil_mul_ovf_un, // name="mul.ovf.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xD9",flow="next",type="Primitive"
260 Cil_sub_ovf, // name="sub.ovf",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xDA",flow="next",type="Primitive"
261 Cil_sub_ovf_un, // name="sub.ovf.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xDB",flow="next",type="Primitive"
262 Cil_endfinally, // name="endfinally",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xDC",flow="return",type="Primitive"
263 Cil_leave, // name="leave",input="Pop0",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0xDD",flow="branch",type="Primitive"
264 Cil_leave_s, // name="leave.s",input="Pop0",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0xDE",flow="branch",type="Primitive"
265 Cil_stind_i, // name="stind.i",input="PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0xDF",flow="next",type="Primitive"
266
267 Cil_conv_u, // name="conv.u",input="Pop1",output="PushI",args="InlineNone" ,o1="0xFF",o2="0xE0",flow="next",type="Primitive"
268 Cil_unused26, // name="unused26",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE1",flow="next"
269 Cil_unused27, // name="unused27",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE2",flow="next"
270 Cil_unused28, // name="unused28",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE3",flow="next"
271 Cil_unused29, // name="unused29",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE4",flow="next"
272 Cil_unused30, // name="unused30",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE5",flow="next"
273 Cil_unused31, // name="unused31",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE6",flow="next"
274 Cil_unused32, // name="unused32",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE7",flow="next"
275 Cil_unused33, // name="unused33",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE8",flow="next"
276 Cil_unused34, // name="unused34",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE9",flow="next"
277 Cil_unused35, // name="unused35",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xEA",flow="next"
278 Cil_unused36, // name="unused36",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xEB",flow="next"
279 Cil_unused37, // name="unused37",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xEC",flow="next"
280 Cil_unused38, // name="unused38",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xED",flow="next"
281 Cil_unused39, // name="unused39",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xEE",flow="next"
282 Cil_unused40, // name="unused40",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xEF",flow="next"
283
284 Cil_unused41, // name="unused41",input="Pop0",output="Push0",args="InlineNone" ,o1="0xFF",o2="0xF0",flow="next"
285 Cil_unused42, // name="unused42",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF1",flow="next"
286 Cil_unused43, // name="unused43",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF2",flow="next"
287 Cil_unused44, // name="unused44",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF3",flow="next"
288 Cil_unused45, // name="unused45",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF4",flow="next"
289 Cil_unused46, // name="unused46",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF5",flow="next"
290 Cil_unused47, // name="unused47",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF6",flow="next"
291 Cil_unused48, // name="unused48",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF7",flow="next"
292 Cil_prefix7, // name="prefix7",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF8",flow="meta",type="Nternal"
293 Cil_prefix6, // name="prefix6",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF9",flow="meta",type="Nternal"
294 Cil_prefix5, // name="prefix5",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xFA",flow="meta",type="Nternal"
295 Cil_prefix4, // name="prefix4",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xFB",flow="meta",type="Nternal"
296 Cil_prefix3, // name="prefix3",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xFC",flow="meta",type="Nternal"
297 Cil_prefix2, // name="prefix2",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xFD",flow="meta",type="Nternal"
298 Cil_prefix1, // name="prefix1",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xFE",flow="meta",type="Nternal"
299 Cil_prefixref, // name="prefixref",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xFF",flow="meta",type="Nternal"
300
301// Start of two-byte opcodes, 0xFE00...0xFE22
302
303 Cil_arglist=0xFE00,// name="arglist",input="Pop0",output="PushI",args="InlineNone", o1="0xFE",o2="0x00",flow="next",type="Primitive"
304 Cil_ceq, // name="ceq",input="Pop1+Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x01",flow="next",type="Primitive"
305 Cil_cgt, // name="cgt",input="Pop1+Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x02",flow="next",type="Primitive"
306 Cil_cgt_un, // name="cgt.un",input="Pop1+Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x03",flow="next",type="Primitive"
307 Cil_clt, // name="clt",input="Pop1+Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x04",flow="next",type="Primitive"
308 Cil_clt_un, // name="clt.un",input="Pop1+Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x05",flow="next",type="Primitive"
309 Cil_ldftn, // name="ldftn",input="Pop0",output="PushI",args="InlineMethod", o1="0xFE",o2="0x06",flow="next",type="Primitive"
310 Cil_ldvirtftn, // name="ldvirtftn",input="PopRef",output="PushI",args="InlineMethod",o1="0xFE",o2="0x07",flow="next",type="Primitive"
311 Cil_unused56, // name="unused56",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x08",flow="next"
312 Cil_ldarg, // name="ldarg",input="Pop0",output="Push1",args="InlineVar", o1="0xFE",o2="0x09",flow="next",type="Primitive"
313 Cil_ldarga, // name="ldarga",input="Pop0",output="PushI",args="InlineVar", o1="0xFE",o2="0x0A",flow="next",type="Primitive"
314 Cil_starg, // name="starg",input="Pop1",output="Push0",args="InlineVar", o1="0xFE",o2="0x0B",flow="next",type="Primitive"
315 Cil_ldloc, // name="ldloc",input="Pop0",output="Push1",args="InlineVar", o1="0xFE",o2="0x0C",flow="next",type="Primitive"
316 Cil_ldloca, // name="ldloca",input="Pop0",output="PushI",args="InlineVar", o1="0xFE",o2="0x0D",flow="next",type="Primitive"
317 Cil_stloc, // name="stloc",input="Pop1",output="Push0",args="InlineVar", o1="0xFE",o2="0x0E",flow="next",type="Primitive"
318 Cil_localloc, // name="localloc",input="PopI",output="PushI",args="InlineNone", o1="0xFE",o2="0x0F",flow="next",type="Primitive"
319
320 Cil_unused57, // name="unused57",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x10",flow="next"
321 Cil_endfilter, // name="endfilter",input="PopI",output="Push0",args="InlineNone", o1="0xFE",o2="0x11",flow="return",type="Primitive"
322 Cil_unaligned_, // name="unaligned.",input="Pop0",output="Push0",args="ShortInlineI", o1="0xFE",o2="0x12",flow="meta",type="Prefix"
323 Cil_volatile_, // name="volatile.",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x13",flow="meta",type="Prefix"
324 Cil_tail_, // name="tail.",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x14",flow="meta",type="Prefix"
325 Cil_initobj, // name="initobj",input="PopI",output="Push0",args="InlineType", o1="0xFE",o2="0x15",flow="next",type="Objmodel"
326 Cil_constrained_, // name="constrained.",input="Pop0",output="Push0",args="InlineType", o1="0xFE",o2="0x16",flow="meta",type="Prefix"
327 Cil_cpblk, // name="cpblk",input="PopI+PopI+PopI",output="Push0",args="InlineNone" ,o1="0xFE",o2="0x17",flow="next",type="Primitive"
328 Cil_initblk, // name="initblk",input="PopI+PopI+PopI",output="Push0",args="InlineNone",o1="0xFE",o2="0x18",flow="next",type="Primitive"
329 Cil_no_, // name="no.",input="Pop0",output="Push0",args="ShortInlineI", o1="0xFE",o2="0x19",flow="next"
330 Cil_rethrow, // name="rethrow",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x1A",flow="throw",type="Objmodel"
331 Cil_unused, // name="unused",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x1B",flow="next"
332 Cil_sizeof, // name="sizeof",input="Pop0",output="PushI",args="InlineType", o1="0xFE",o2="0x1C",flow="next",type="Primitive"
333 Cil_refanytype, // name="refanytype",input="Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x1D",flow="next",type="Primitive"
334 Cil_readonly_, // name="readonly.",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x1E",flow="meta"
335 Cil_unused53, // name="unused53",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x1F",flow="next"
336
337 Cil_unused54, // name="unused54",input="Pop0",output="Push0",args="InlineNone",o1="0xFE",o2="0x20",flow="next"
338 Cil_unused55, // name="unused55",input="Pop0",output="Push0",args="InlineNone",o1="0xFE",o2="0x21",flow="next"
339 Cil_unused70, // name="unused70",input="Pop0",output="Push0",args="InlineNone",o1="0xFE",o2="0x22",flow="next"
340
341// End of legal two-byte encodings
342
343// These are not real opcodes, but they are handy internally in the EE (from ECMA-335_6th_edition
344// See Cil_unknown_instruction=0x0000
345//
346// Cil_illegal=0x0000, // name="illegal",input="Pop0",output="Push0",args="InlineNone",o1="0x00",o2="0x00",flow="meta"
347// Cil_endmac =0x0000, // name="endmac",input="Pop0",output="Push0",args="InlineNone", o1="0x00",o2="0x00",flow="meta"
348
349// Start of mono two-byte opcodes, 0xF000...0xF022
350
351 Cil_mono_icall=0xF000,// name="mono_icall",input="VarPop",output="VarPush",args="InlineI", o1="0xF0",o2="0x00",flow="next"
352 Cil_mono_objaddr, // name="mono_objaddr",input="Pop1",output="PushI",args="InlineNone", o1="0xF0",o2="0x01",flow="next"
353 Cil_mono_ldptr, // name="mono_ldptr",input="Pop0",output="PushI",args="InlineI", o1="0xF0",o2="0x02",flow="next"
354 Cil_mono_vtaddr, // name="mono_vtaddr",input="Pop1",output="PushI",args="InlineNone", o1="0xF0",o2="0x03",flow="next"
355 Cil_mono_newobj, // name="mono_newobj",input="Pop0",output="PushRef",args="InlineType", o1="0xF0",o2="0x04",flow="next"
356 Cil_mono_retobj, // name="mono_retobj",input="PopI",output="Push0",args="InlineType", o1="0xF0",o2="0x05",flow="return"
357 Cil_mono_ldnativeobj, // name="mono_ldnativeobj",input="PopI",output="Push1",args="InlineType", o1="0xF0",o2="0x06",flow="return"
358 Cil_mono_cisinst, // name="mono_cisinst",input="PopRef",output="Push1",args="InlineType", o1="0xF0",o2="0x07",flow="next"
359 Cil_mono_ccastclass, // name="mono_ccastclass",input="PopRef",output="Push1",args="InlineType",o1="0xF0",o2="0x08",flow="next"
360 Cil_mono_save_lmf, // name="mono_save_lmf",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x09",flow="next"
361 Cil_mono_restore_lmf, // name="mono_restore_lmf",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x0A",flow="next"
362 Cil_mono_classconst, // name="mono_classconst",input="Pop0",output="PushI",args="InlineI", o1="0xF0",o2="0x0B",flow="next"
363 Cil_mono_not_taken, // name="mono_not_taken",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x0C",flow="next"
364 Cil_mono_tls, // name="mono_tls",input="Pop0",output="PushI",args="InlineI", o1="0xF0",o2="0x0D",flow="next"
365 Cil_mono_icall_addr, // name="mono_icall_addr",input="Pop0",output="PushI",args="InlineI", o1="0xF0",o2="0x0E",flow="next"
366 Cil_mono_dyn_call, // name="mono_dyn_call",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x0F",flow="next"
367
368 Cil_mono_memory_barrier, // name="mono_memory_barrier",input="Pop0",output="Push0",args="InlineI", o1="0xF0",o2="0x10",flow="next"
369 Cil_unused71, // "unused71",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x11",flow="next"
370 Cil_unused72, // "unused72",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x12",flow="next"
371 Cil_mono_jit_icall_addr, // "mono_jit_icall_addr",input="Pop0",output="PushI",args="InlineI", o1="0xF0",o2="0x13",flow="next"
372 Cil_mono_ldptr_int_req_flag, // "mono_ldptr_int_req_flag",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x14",flow="next"
373 Cil_mono_ldptr_card_table, // "mono_ldptr_card_table",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x15",flow="next"
374 Cil_mono_ldptr_nursery_start, // "mono_ldptr_nursery_start",input="Pop0",output="PushI",args="InlineNone",o1="0xF0",o2="0x16",flow="next"
375 Cil_mono_ldptr_nursery_bits, // "mono_ldptr_nursery_bits",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x17",flow="next"
376 Cil_mono_calli_extra_arg, // "mono_calli_extra_arg",input="VarPop",output="VarPush",args="InlineSig", o1="0xF0",o2="0x18",flow="call"
377 Cil_mono_lddomain, // "mono_lddomain",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x19",flow="next"
378 Cil_mono_atomic_store_i4, // "mono_atomic_store_i4",input="PopI+PopI",output="Push0",args="InlineI", o1="0xF0",o2="0x1A",flow="next"
379 Cil_mono_save_last_error, // "mono_save_last_error",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x1B",flow="next"
380 Cil_mono_get_rgctx_arg, // "mono_get_rgctx_arg",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x1C",flow="next"
381 Cil_mono_ldptr_prof_alloc_count,// "mono_ldptr_profiler_allocation_count","Pop0","PushI",args="InlineNone", o1="0xF0",o2="0x1D",flow="next"
382 Cil_mono_ld_delegate_method_ptr,// "mono_ld_delegate_method_ptr", "Pop1","PushI",args="InlineNone", o1="0xF0",o2="0x1E",flow="next"
383 Cil_mono_rethrow, // "mono_rethrow", "PopRef","Push0",args="InlineNone", o1="0xF0",o2="0x1F",flow="throw",type="Objmodel"
384
385 Cil_mono_get_sp, // name="mono_get_sp", "Pop0","PushI",args="InlineNone", o1="0xF0",o2="0x20",flow="next"
386 Cil_mono_methodconst, // "mono_methodconst", "Pop0","PushI",args="InlineI", o1="0xF0",o2="0x21",flow="next"
387 Cil_mono_pinvoke_addr_cache, // "mono_pinvoke_addr_cache", "Pop0","PushI",args="InlineI", o1="0xF0",o2="0x22",flow="next"
388
389 // This must be last
390 Cil_last_instruction=0xF023
391}; // End CilInstructionKind
392
393} // namespace
394} // namespace
395
396#endif
397#endif
The ROSE library.