2 * Definitions of VM instructions executed by interp.c
5 * Bernie
Solomon (bernard@ugsolutions.com
)
9 /* OPDEF (opsymbol
, opstring
, oplength
, optype
) */
11 OPDEF(MINT_NOP
, "nop", 1, MintOpNoArgs
)
12 OPDEF(MINT_BREAK
, "break", 1, MintOpNoArgs
)
13 OPDEF(MINT_LDNULL
, "ldnull", 1, MintOpNoArgs
)
14 OPDEF(MINT_DUP
, "dup", 1, MintOpNoArgs
)
15 OPDEF(MINT_DUP_VT
, "dup.vt", 3, MintOpInt
)
16 OPDEF(MINT_POP
, "pop", 2, MintOpShortInt
)
18 OPDEF(MINT_RET
, "ret", 1, MintOpNoArgs
)
19 OPDEF(MINT_RET_VOID
, "ret.void", 1, MintOpNoArgs
)
20 OPDEF(MINT_RET_VT
, "ret.vt", 3, MintOpInt
)
22 OPDEF(MINT_VTRESULT
, "vtresult", 4, MintOpShortAndInt
) /*FIX should be unsigned
*/
24 OPDEF(MINT_LDC_I4_M1
, "ldc.i4.m1", 1, MintOpNoArgs
)
25 OPDEF(MINT_LDC_I4_0
, "ldc.i4.0", 1, MintOpNoArgs
)
26 OPDEF(MINT_LDC_I4_1
, "ldc.i4.1", 1, MintOpNoArgs
)
27 OPDEF(MINT_LDC_I4_2
, "ldc.i4.2", 1, MintOpNoArgs
)
28 OPDEF(MINT_LDC_I4_3
, "ldc.i4.3", 1, MintOpNoArgs
)
29 OPDEF(MINT_LDC_I4_4
, "ldc.i4.4", 1, MintOpNoArgs
)
30 OPDEF(MINT_LDC_I4_5
, "ldc.i4.5", 1, MintOpNoArgs
)
31 OPDEF(MINT_LDC_I4_6
, "ldc.i4.6", 1, MintOpNoArgs
)
32 OPDEF(MINT_LDC_I4_7
, "ldc.i4.7", 1, MintOpNoArgs
)
33 OPDEF(MINT_LDC_I4_8
, "ldc.i4.8", 1, MintOpNoArgs
)
35 OPDEF(MINT_LDC_I4_S
, "ldc.i4.s", 2, MintOpShortInt
)
36 OPDEF(MINT_LDC_I4
, "ldc.i4", 3, MintOpInt
)
37 OPDEF(MINT_LDC_I8
, "ldc.i8", 5, MintOpLongInt
)
39 OPDEF(MINT_LDC_R4
, "ldc.r4", 3, MintOpFloat
)
40 OPDEF(MINT_LDC_R8
, "ldc.r8", 5, MintOpDouble
)
42 OPDEF(MINT_LDARG_I1
, "ldarg.i1", 2, MintOpUShortInt
)
43 OPDEF(MINT_LDARG_U1
, "ldarg.u1", 2, MintOpUShortInt
)
44 OPDEF(MINT_LDARG_I2
, "ldarg.i2", 2, MintOpUShortInt
)
45 OPDEF(MINT_LDARG_U2
, "ldarg.u2", 2, MintOpUShortInt
)
46 OPDEF(MINT_LDARG_I4
, "ldarg.i4", 2, MintOpUShortInt
)
47 OPDEF(MINT_LDARG_I8
, "ldarg.i8", 2, MintOpUShortInt
)
48 OPDEF(MINT_LDARG_R4
, "ldarg.r4", 2, MintOpUShortInt
)
49 OPDEF(MINT_LDARG_R8
, "ldarg.r8", 2, MintOpUShortInt
)
50 OPDEF(MINT_LDARG_O
, "ldarg.o", 2, MintOpUShortInt
)
51 OPDEF(MINT_LDARG_P
, "ldarg.p", 2, MintOpUShortInt
)
52 OPDEF(MINT_LDARG_VT
, "ldarg.vt", 4, MintOpShortAndInt
)
54 OPDEF(MINT_STARG_I1
, "starg.i1", 2, MintOpUShortInt
)
55 OPDEF(MINT_STARG_U1
, "starg.u1", 2, MintOpUShortInt
)
56 OPDEF(MINT_STARG_I2
, "starg.i2", 2, MintOpUShortInt
)
57 OPDEF(MINT_STARG_U2
, "starg.u2", 2, MintOpUShortInt
)
58 OPDEF(MINT_STARG_I4
, "starg.i4", 2, MintOpUShortInt
)
59 OPDEF(MINT_STARG_I8
, "starg.i8", 2, MintOpUShortInt
)
60 OPDEF(MINT_STARG_R4
, "starg.r4", 2, MintOpUShortInt
)
61 OPDEF(MINT_STARG_R8
, "starg.r8", 2, MintOpUShortInt
)
62 OPDEF(MINT_STARG_O
, "starg.o", 2, MintOpUShortInt
)
63 OPDEF(MINT_STARG_P
, "starg.p", 2, MintOpUShortInt
)
64 OPDEF(MINT_STARG_VT
, "starg.vt", 4, MintOpShortAndInt
)
66 OPDEF(MINT_STINARG_I1
, "stinarg.i1", 2, MintOpUShortInt
)
67 OPDEF(MINT_STINARG_U1
, "stinarg.u1", 2, MintOpUShortInt
)
68 OPDEF(MINT_STINARG_I2
, "stinarg.i2", 2, MintOpUShortInt
)
69 OPDEF(MINT_STINARG_U2
, "stinarg.u2", 2, MintOpUShortInt
)
70 OPDEF(MINT_STINARG_I4
, "stinarg.i4", 2, MintOpUShortInt
)
71 OPDEF(MINT_STINARG_I8
, "stinarg.i8", 2, MintOpUShortInt
)
72 OPDEF(MINT_STINARG_R4
, "stinarg.r4", 2, MintOpUShortInt
)
73 OPDEF(MINT_STINARG_R8
, "stinarg.r8", 2, MintOpUShortInt
)
74 OPDEF(MINT_STINARG_O
, "stinarg.o", 2, MintOpUShortInt
)
75 OPDEF(MINT_STINARG_P
, "stinarg.p", 2, MintOpUShortInt
)
76 OPDEF(MINT_STINARG_VT
, "stinarg.vt", 4, MintOpShortAndInt
)
78 OPDEF(MINT_LDARGA
, "ldarga", 2, MintOpUShortInt
)
79 OPDEF(MINT_LDTHISA
, "ldthisa", 1, MintOpNoArgs
)
81 OPDEF(MINT_LDFLD_I1
, "ldfld.i1", 2, MintOpUShortInt
)
82 OPDEF(MINT_LDFLD_U1
, "ldfld.u1", 2, MintOpUShortInt
)
83 OPDEF(MINT_LDFLD_I2
, "ldfld.i2", 2, MintOpUShortInt
)
84 OPDEF(MINT_LDFLD_U2
, "ldfld.u2", 2, MintOpUShortInt
)
85 OPDEF(MINT_LDFLD_I4
, "ldfld.i4", 2, MintOpUShortInt
)
86 OPDEF(MINT_LDFLD_I8
, "ldfld.i8", 2, MintOpUShortInt
)
87 OPDEF(MINT_LDFLD_R4
, "ldfld.r4", 2, MintOpUShortInt
)
88 OPDEF(MINT_LDFLD_R8
, "ldfld.r8", 2, MintOpUShortInt
)
89 OPDEF(MINT_LDFLD_O
, "ldfld.o", 2, MintOpUShortInt
)
90 OPDEF(MINT_LDFLD_P
, "ldfld.p", 2, MintOpUShortInt
)
91 OPDEF(MINT_LDFLD_VT
, "ldfld.vt", 4, MintOpShortAndInt
)
93 OPDEF(MINT_LDRMFLD
, "ldrmfld", 2, MintOpFieldToken
)
94 OPDEF(MINT_LDRMFLD_VT
, "ldrmfld.vt", 4, MintOpShortAndInt
)
96 OPDEF(MINT_LDFLDA
, "ldflda", 2, MintOpUShortInt
)
97 OPDEF(MINT_LDFLDA_UNSAFE
, "ldflda.unsafe", 2, MintOpUShortInt
)
99 OPDEF(MINT_STFLD_I1
, "stfld.i1", 2, MintOpUShortInt
)
100 OPDEF(MINT_STFLD_U1
, "stfld.u1", 2, MintOpUShortInt
)
101 OPDEF(MINT_STFLD_I2
, "stfld.i2", 2, MintOpUShortInt
)
102 OPDEF(MINT_STFLD_U2
, "stfld.u2", 2, MintOpUShortInt
)
103 OPDEF(MINT_STFLD_I4
, "stfld.i4", 2, MintOpUShortInt
)
104 OPDEF(MINT_STFLD_I8
, "stfld.i8", 2, MintOpUShortInt
)
105 OPDEF(MINT_STFLD_R4
, "stfld.r4", 2, MintOpUShortInt
)
106 OPDEF(MINT_STFLD_R8
, "stfld.r8", 2, MintOpUShortInt
)
107 OPDEF(MINT_STFLD_O
, "stfld.o", 2, MintOpUShortInt
)
108 OPDEF(MINT_STFLD_P
, "stfld.p", 2, MintOpUShortInt
)
109 OPDEF(MINT_STFLD_VT
, "stfld.vt", 4, MintOpShortAndInt
)
111 OPDEF(MINT_STRMFLD
, "strmfld", 2, MintOpFieldToken
)
112 OPDEF(MINT_STRMFLD_VT
, "strmfld.vt", 4, MintOpShortAndInt
)
114 OPDEF(MINT_LDSFLD
, "ldsfld", 2, MintOpFieldToken
)
115 OPDEF(MINT_LDSFLD_VT
, "ldsfld.vt", 4, MintOpShortAndInt
)
116 OPDEF(MINT_STSFLD
, "stsfld", 2, MintOpUShortInt
)
117 OPDEF(MINT_STSFLD_VT
, "stsfld.vt", 4, MintOpShortAndInt
)
118 OPDEF(MINT_LDSFLDA
, "ldsflda", 2, MintOpUShortInt
)
120 OPDEF(MINT_LDLOC_I1
, "ldloc.i1", 2, MintOpUShortInt
)
121 OPDEF(MINT_LDLOC_U1
, "ldloc.u1", 2, MintOpUShortInt
)
122 OPDEF(MINT_LDLOC_I2
, "ldloc.i2", 2, MintOpUShortInt
)
123 OPDEF(MINT_LDLOC_U2
, "ldloc.u2", 2, MintOpUShortInt
)
124 OPDEF(MINT_LDLOC_I4
, "ldloc.i4", 2, MintOpUShortInt
)
125 OPDEF(MINT_LDLOC_I8
, "ldloc.i8", 2, MintOpUShortInt
)
126 OPDEF(MINT_LDLOC_R4
, "ldloc.r4", 2, MintOpUShortInt
)
127 OPDEF(MINT_LDLOC_R8
, "ldloc.r8", 2, MintOpUShortInt
)
128 OPDEF(MINT_LDLOC_O
, "ldloc.o", 2, MintOpUShortInt
)
129 OPDEF(MINT_LDLOC_P
, "ldloc.p", 2, MintOpUShortInt
)
130 OPDEF(MINT_LDLOC_VT
, "ldloc.vt", 4, MintOpShortAndInt
)
132 OPDEF(MINT_STLOC_I1
, "stloc.i1", 2, MintOpUShortInt
)
133 OPDEF(MINT_STLOC_U1
, "stloc.u1", 2, MintOpUShortInt
)
134 OPDEF(MINT_STLOC_I2
, "stloc.i2", 2, MintOpUShortInt
)
135 OPDEF(MINT_STLOC_U2
, "stloc.u2", 2, MintOpUShortInt
)
136 OPDEF(MINT_STLOC_I4
, "stloc.i4", 2, MintOpUShortInt
)
137 OPDEF(MINT_STLOC_I8
, "stloc.i8", 2, MintOpUShortInt
)
138 OPDEF(MINT_STLOC_R4
, "stloc.r4", 2, MintOpUShortInt
)
139 OPDEF(MINT_STLOC_R8
, "stloc.r8", 2, MintOpUShortInt
)
140 OPDEF(MINT_STLOC_O
, "stloc.o", 2, MintOpUShortInt
)
141 OPDEF(MINT_STLOC_P
, "stloc.p", 2, MintOpUShortInt
)
142 OPDEF(MINT_STLOC_VT
, "stloc.vt", 4, MintOpShortAndInt
)
144 OPDEF(MINT_STLOC_NP_I4
, "stloc.np.i4", 2, MintOpUShortInt
)
145 OPDEF(MINT_STLOC_NP_O
, "stloc.np.o", 2, MintOpUShortInt
)
147 OPDEF(MINT_LDLOCA_S
, "ldloca.s", 2, MintOpUShortInt
)
149 OPDEF(MINT_LDIND_I1
, "ldind.i1", 1, MintOpNoArgs
)
150 OPDEF(MINT_LDIND_U1
, "ldind.u1", 1, MintOpNoArgs
)
151 OPDEF(MINT_LDIND_I2
, "ldind.i2", 1, MintOpNoArgs
)
152 OPDEF(MINT_LDIND_U2
, "ldind.u2", 1, MintOpNoArgs
)
153 OPDEF(MINT_LDIND_I4
, "ldind.i4", 1, MintOpNoArgs
)
154 OPDEF(MINT_LDIND_U4
, "ldind.u4", 1, MintOpNoArgs
)
155 OPDEF(MINT_LDIND_I8
, "ldind.i8", 1, MintOpNoArgs
)
156 OPDEF(MINT_LDIND_I
, "ldind.i", 2, MintOpUShortInt
)
157 OPDEF(MINT_LDIND_R4
, "ldind.r4", 1, MintOpNoArgs
)
158 OPDEF(MINT_LDIND_R8
, "ldind.r8", 1, MintOpNoArgs
)
159 OPDEF(MINT_LDIND_REF
, "ldind.ref", 1, MintOpNoArgs
)
160 OPDEF(MINT_STIND_I1
, "stind.i1", 1, MintOpNoArgs
)
161 OPDEF(MINT_STIND_I2
, "stind.i2", 1, MintOpNoArgs
)
162 OPDEF(MINT_STIND_I4
, "stind.i4", 1, MintOpNoArgs
)
163 OPDEF(MINT_STIND_I8
, "stind.i8", 1, MintOpNoArgs
)
164 OPDEF(MINT_STIND_I
, "stind.i", 1, MintOpNoArgs
)
165 OPDEF(MINT_STIND_R4
, "stind.r4", 1, MintOpNoArgs
)
166 OPDEF(MINT_STIND_R8
, "stind.r8", 1, MintOpNoArgs
)
167 OPDEF(MINT_STIND_REF
, "stind.ref", 1, MintOpNoArgs
)
169 OPDEF(MINT_BR
, "br", 3, MintOpBranch
)
170 OPDEF(MINT_LEAVE
, "leave", 3, MintOpBranch
)
171 OPDEF(MINT_BR_S
, "br.s", 2, MintOpShortBranch
)
172 OPDEF(MINT_LEAVE_S
, "leave.s", 2, MintOpShortBranch
)
174 OPDEF(MINT_THROW
, "throw", 1, MintOpNoArgs
)
175 OPDEF(MINT_RETHROW
, "rethrow", 1, MintOpNoArgs
)
176 OPDEF(MINT_ENDFINALLY
, "endfinally", 1, MintOpNoArgs
)
178 OPDEF(MINT_BRFALSE_I4
, "brfalse.i4", 3, MintOpBranch
)
179 OPDEF(MINT_BRFALSE_I8
, "brfalse.i8", 3, MintOpBranch
)
180 OPDEF(MINT_BRFALSE_R8
, "brfalse.r8", 3, MintOpBranch
)
181 OPDEF(MINT_BRTRUE_I4
, "brtrue.i4", 3, MintOpBranch
)
182 OPDEF(MINT_BRTRUE_I8
, "brtrue.i8", 3, MintOpBranch
)
183 OPDEF(MINT_BRTRUE_R8
, "brtrue.r8", 3, MintOpBranch
)
185 OPDEF(MINT_BRFALSE_I4_S
, "brfalse.i4.s", 2, MintOpShortBranch
)
186 OPDEF(MINT_BRFALSE_I8_S
, "brfalse.i8.s", 2, MintOpShortBranch
)
187 OPDEF(MINT_BRFALSE_R8_S
, "brfalse.r8.s", 2, MintOpShortBranch
)
188 OPDEF(MINT_BRTRUE_I4_S
, "brtrue.i4.s", 2, MintOpShortBranch
)
189 OPDEF(MINT_BRTRUE_I8_S
, "brtrue.i8.s", 2, MintOpShortBranch
)
190 OPDEF(MINT_BRTRUE_R8_S
, "brtrue.r8.s", 2, MintOpShortBranch
)
192 OPDEF(MINT_BEQ_I4
, "beq.i4", 3, MintOpBranch
)
193 OPDEF(MINT_BEQ_I8
, "beq.i8", 3, MintOpBranch
)
194 OPDEF(MINT_BEQ_R8
, "beq.r8", 3, MintOpBranch
)
195 OPDEF(MINT_BGE_I4
, "bge.i4", 3, MintOpBranch
)
196 OPDEF(MINT_BGE_I8
, "bge.i8", 3, MintOpBranch
)
197 OPDEF(MINT_BGE_R8
, "bge.r8", 3, MintOpBranch
)
198 OPDEF(MINT_BGT_I4
, "bgt.i4", 3, MintOpBranch
)
199 OPDEF(MINT_BGT_I8
, "bgt.i8", 3, MintOpBranch
)
200 OPDEF(MINT_BGT_R8
, "bgt.r8", 3, MintOpBranch
)
201 OPDEF(MINT_BLT_I4
, "blt.i4", 3, MintOpBranch
)
202 OPDEF(MINT_BLT_I8
, "blt.i8", 3, MintOpBranch
)
203 OPDEF(MINT_BLT_R8
, "blt.r8", 3, MintOpBranch
)
204 OPDEF(MINT_BLE_I4
, "ble.i4", 3, MintOpBranch
)
205 OPDEF(MINT_BLE_I8
, "ble.i8", 3, MintOpBranch
)
206 OPDEF(MINT_BLE_R8
, "ble.r8", 3, MintOpBranch
)
208 OPDEF(MINT_BNE_UN_I4
, "bne.un.i4", 3, MintOpBranch
)
209 OPDEF(MINT_BNE_UN_I8
, "bne.un.i8", 3, MintOpBranch
)
210 OPDEF(MINT_BNE_UN_R8
, "bne.un.r8", 3, MintOpBranch
)
211 OPDEF(MINT_BGE_UN_I4
, "bge.un.i4", 3, MintOpBranch
)
212 OPDEF(MINT_BGE_UN_I8
, "bge.un.i8", 3, MintOpBranch
)
213 OPDEF(MINT_BGE_UN_R8
, "bge.un.r8", 3, MintOpBranch
)
214 OPDEF(MINT_BGT_UN_I4
, "bgt.un.i4", 3, MintOpBranch
)
215 OPDEF(MINT_BGT_UN_I8
, "bgt.un.i8", 3, MintOpBranch
)
216 OPDEF(MINT_BGT_UN_R8
, "bgt.un.r8", 3, MintOpBranch
)
217 OPDEF(MINT_BLE_UN_I4
, "ble.un.i4", 3, MintOpBranch
)
218 OPDEF(MINT_BLE_UN_I8
, "ble.un.i8", 3, MintOpBranch
)
219 OPDEF(MINT_BLE_UN_R8
, "ble.un.r8", 3, MintOpBranch
)
220 OPDEF(MINT_BLT_UN_I4
, "blt.un.i4", 3, MintOpBranch
)
221 OPDEF(MINT_BLT_UN_I8
, "blt.un.i8", 3, MintOpBranch
)
222 OPDEF(MINT_BLT_UN_R8
, "blt.un.r8", 3, MintOpBranch
)
224 OPDEF(MINT_BEQ_I4_S
, "beq.i4.s", 2, MintOpShortBranch
)
225 OPDEF(MINT_BEQ_I8_S
, "beq.i8.s", 2, MintOpShortBranch
)
226 OPDEF(MINT_BEQ_R8_S
, "beq.r8.s", 2, MintOpShortBranch
)
227 OPDEF(MINT_BGE_I4_S
, "bge.i4.s", 2, MintOpShortBranch
)
228 OPDEF(MINT_BGE_I8_S
, "bge.i8.s", 2, MintOpShortBranch
)
229 OPDEF(MINT_BGE_R8_S
, "bge.r8.s", 2, MintOpShortBranch
)
230 OPDEF(MINT_BGT_I4_S
, "bgt.i4.s", 2, MintOpShortBranch
)
231 OPDEF(MINT_BGT_I8_S
, "bgt.i8.s", 2, MintOpShortBranch
)
232 OPDEF(MINT_BGT_R8_S
, "bgt.r8.s", 2, MintOpShortBranch
)
233 OPDEF(MINT_BLT_I4_S
, "blt.i4.s", 2, MintOpShortBranch
)
234 OPDEF(MINT_BLT_I8_S
, "blt.i8.s", 2, MintOpShortBranch
)
235 OPDEF(MINT_BLT_R8_S
, "blt.r8.s", 2, MintOpShortBranch
)
236 OPDEF(MINT_BLE_I4_S
, "ble.i4.s", 2, MintOpShortBranch
)
237 OPDEF(MINT_BLE_I8_S
, "ble.i8.s", 2, MintOpShortBranch
)
238 OPDEF(MINT_BLE_R8_S
, "ble.r8.s", 2, MintOpShortBranch
)
240 OPDEF(MINT_BNE_UN_I4_S
, "bne.un.i4.s", 2, MintOpShortBranch
)
241 OPDEF(MINT_BNE_UN_I8_S
, "bne.un.i8.s", 2, MintOpShortBranch
)
242 OPDEF(MINT_BNE_UN_R8_S
, "bne.un.r8.s", 2, MintOpShortBranch
)
243 OPDEF(MINT_BGE_UN_I4_S
, "bge.un.i4.s", 2, MintOpShortBranch
)
244 OPDEF(MINT_BGE_UN_I8_S
, "bge.un.i8.s", 2, MintOpShortBranch
)
245 OPDEF(MINT_BGE_UN_R8_S
, "bge.un.r8.s", 2, MintOpShortBranch
)
246 OPDEF(MINT_BGT_UN_I4_S
, "bgt.un.i4.s", 2, MintOpShortBranch
)
247 OPDEF(MINT_BGT_UN_I8_S
, "bgt.un.i8.s", 2, MintOpShortBranch
)
248 OPDEF(MINT_BGT_UN_R8_S
, "bgt.un.r8.s", 2, MintOpShortBranch
)
249 OPDEF(MINT_BLE_UN_I4_S
, "ble.un.i4.s", 2, MintOpShortBranch
)
250 OPDEF(MINT_BLE_UN_I8_S
, "ble.un.i8.s", 2, MintOpShortBranch
)
251 OPDEF(MINT_BLE_UN_R8_S
, "ble.un.r8.s", 2, MintOpShortBranch
)
252 OPDEF(MINT_BLT_UN_I4_S
, "blt.un.i4.s", 2, MintOpShortBranch
)
253 OPDEF(MINT_BLT_UN_I8_S
, "blt.un.i8.s", 2, MintOpShortBranch
)
254 OPDEF(MINT_BLT_UN_R8_S
, "blt.un.r8.s", 2, MintOpShortBranch
)
256 OPDEF(MINT_SWITCH
, "switch", 0, MintOpSwitch
)
258 OPDEF(MINT_LDSTR
, "ldstr", 2, MintOpMethodToken
) /* not really
*/
260 OPDEF(MINT_CALL
, "call", 2, MintOpMethodToken
)
261 OPDEF(MINT_VCALL
, "vcall", 2, MintOpMethodToken
)
262 OPDEF(MINT_CALLVIRT
, "callvirt", 2, MintOpMethodToken
)
263 OPDEF(MINT_VCALLVIRT
, "vcallvirt", 2, MintOpMethodToken
)
264 OPDEF(MINT_CALLI
, "calli", 2, MintOpMethodToken
)
265 OPDEF(MINT_CALLI_NAT
, "calli.nat", 2, MintOpMethodToken
)
266 OPDEF(MINT_JMP
, "jmp", 2, MintOpMethodToken
)
268 OPDEF(MINT_CALLRUN
, "callrun", 1, MintOpNoArgs
)
270 OPDEF(MINT_NEWOBJ
, "newobj", 2, MintOpMethodToken
)
271 OPDEF(MINT_INITOBJ
, "initobj", 3, MintOpInt
)
272 OPDEF(MINT_CASTCLASS
, "castclass", 2, MintOpClassToken
)
273 OPDEF(MINT_ISINST
, "isinst", 2, MintOpClassToken
)
274 OPDEF(MINT_NEWARR
, "newarr", 2, MintOpClassToken
)
275 OPDEF(MINT_BOX
, "box", 3, MintOpTwoShorts
)
276 OPDEF(MINT_UNBOX
, "unbox", 2, MintOpClassToken
)
277 OPDEF(MINT_LDTOKEN
, "ldtoken", 2, MintOpClassToken
) /* not really
*/
278 OPDEF(MINT_LDFTN
, "ldftn", 2, MintOpMethodToken
)
279 OPDEF(MINT_LDVIRTFTN
, "ldvirtftn", 2, MintOpMethodToken
)
280 OPDEF(MINT_CPOBJ
, "cpobj", 2, MintOpClassToken
)
281 OPDEF(MINT_LDOBJ
, "ldobj", 2, MintOpClassToken
)
282 OPDEF(MINT_STOBJ
, "stobj", 2, MintOpClassToken
)
283 OPDEF(MINT_STOBJ_VT
, "stobj.vt", 2, MintOpClassToken
)
284 OPDEF(MINT_CPBLK
, "cpblk", 1, MintOpNoArgs
)
285 OPDEF(MINT_INITBLK
, "initblk", 1, MintOpNoArgs
)
286 OPDEF(MINT_LOCALLOC
, "localloc", 1, MintOpNoArgs
)
287 OPDEF(MINT_INITLOCALS
, "initlocals", 1, MintOpNoArgs
)
289 OPDEF(MINT_LDELEM_I
, "ldelem.i", 1, MintOpNoArgs
)
290 OPDEF(MINT_LDELEM_I1
, "ldelem.i1", 1, MintOpNoArgs
)
291 OPDEF(MINT_LDELEM_U1
, "ldelem.u1", 1, MintOpNoArgs
)
292 OPDEF(MINT_LDELEM_I2
, "ldelem.i2", 1, MintOpNoArgs
)
293 OPDEF(MINT_LDELEM_U2
, "ldelem.u2", 1, MintOpNoArgs
)
294 OPDEF(MINT_LDELEM_I4
, "ldelem.i4", 1, MintOpNoArgs
)
295 OPDEF(MINT_LDELEM_U4
, "ldelem.u4", 1, MintOpNoArgs
)
296 OPDEF(MINT_LDELEM_I8
, "ldelem.i8", 1, MintOpNoArgs
)
297 OPDEF(MINT_LDELEM_R4
, "ldelem.r4", 1, MintOpNoArgs
)
298 OPDEF(MINT_LDELEM_R8
, "ldelem.r8", 1, MintOpNoArgs
)
299 OPDEF(MINT_LDELEM_REF
, "ldelem.ref", 1, MintOpNoArgs
)
300 OPDEF(MINT_LDELEM_VT
, "ldelem.vt", 4, MintOpShortAndInt
)
302 OPDEF(MINT_LDELEMA
, "ldelema", 3, MintOpTwoShorts
)
303 OPDEF(MINT_LDELEMA_TC
, "ldelema.tc", 3, MintOpTwoShorts
)
305 OPDEF(MINT_STELEM_I
, "stelem.i", 1, MintOpNoArgs
)
306 OPDEF(MINT_STELEM_I1
, "stelem.i1", 1, MintOpNoArgs
)
307 OPDEF(MINT_STELEM_U1
, "stelem.u1", 1, MintOpNoArgs
)
308 OPDEF(MINT_STELEM_I2
, "stelem.i2", 1, MintOpNoArgs
)
309 OPDEF(MINT_STELEM_I4
, "stelem.i4", 1, MintOpNoArgs
)
310 OPDEF(MINT_STELEM_I8
, "stelem.i8", 1, MintOpNoArgs
)
311 OPDEF(MINT_STELEM_R4
, "stelem.r4", 1, MintOpNoArgs
)
312 OPDEF(MINT_STELEM_R8
, "stelem.r8", 1, MintOpNoArgs
)
313 OPDEF(MINT_STELEM_REF
, "stelem.ref", 1, MintOpNoArgs
)
314 OPDEF(MINT_STELEM_VT
, "stelem.vt", 4, MintOpShortAndInt
)
316 OPDEF(MINT_LDLEN
, "ldlen", 1, MintOpNoArgs
)
318 OPDEF(MINT_ADD_I4
, "add.i4", 1, MintOpNoArgs
)
319 OPDEF(MINT_ADD_I8
, "add.i8", 1, MintOpNoArgs
)
320 OPDEF(MINT_ADD_R8
, "add.r8", 1, MintOpNoArgs
)
322 OPDEF(MINT_ADD1_I4
, "add1.i4", 1, MintOpNoArgs
)
324 OPDEF(MINT_SUB_I4
, "sub.i4", 1, MintOpNoArgs
)
325 OPDEF(MINT_SUB_I8
, "sub.i8", 1, MintOpNoArgs
)
326 OPDEF(MINT_SUB_R8
, "sub.r8", 1, MintOpNoArgs
)
328 OPDEF(MINT_SUB1_I4
, "sub1.i4", 1, MintOpNoArgs
)
330 OPDEF(MINT_MUL_I4
, "mul.i4", 1, MintOpNoArgs
)
331 OPDEF(MINT_MUL_I8
, "mul.i8", 1, MintOpNoArgs
)
332 OPDEF(MINT_MUL_R8
, "mul.r8", 1, MintOpNoArgs
)
334 OPDEF(MINT_DIV_I4
, "div.i4", 1, MintOpNoArgs
)
335 OPDEF(MINT_DIV_I8
, "div.i8", 1, MintOpNoArgs
)
336 OPDEF(MINT_DIV_R8
, "div.r8", 1, MintOpNoArgs
)
338 OPDEF(MINT_DIV_UN_I4
, "div.un.i4", 1, MintOpNoArgs
)
339 OPDEF(MINT_DIV_UN_I8
, "div.un.i8", 1, MintOpNoArgs
)
341 OPDEF(MINT_ADD_OVF_I4
, "add.ovf.i4", 1, MintOpNoArgs
)
342 OPDEF(MINT_ADD_OVF_I8
, "add.ovf.i8", 1, MintOpNoArgs
)
344 OPDEF(MINT_ADD_OVF_UN_I4
, "add.ovf.un.i4", 1, MintOpNoArgs
)
345 OPDEF(MINT_ADD_OVF_UN_I8
, "add.ovf.un.i8", 1, MintOpNoArgs
)
347 OPDEF(MINT_MUL_OVF_I4
, "mul.ovf.i4", 1, MintOpNoArgs
)
348 OPDEF(MINT_MUL_OVF_I8
, "mul.ovf.i8", 1, MintOpNoArgs
)
350 OPDEF(MINT_MUL_OVF_UN_I4
, "mul.ovf.un.i4", 1, MintOpNoArgs
)
351 OPDEF(MINT_MUL_OVF_UN_I8
, "mul.ovf.un.i8", 1, MintOpNoArgs
)
353 OPDEF(MINT_SUB_OVF_I4
, "sub.ovf.i4", 1, MintOpNoArgs
)
354 OPDEF(MINT_SUB_OVF_I8
, "sub.ovf.i8", 1, MintOpNoArgs
)
356 OPDEF(MINT_SUB_OVF_UN_I4
, "sub.ovf.un.i4", 1, MintOpNoArgs
)
357 OPDEF(MINT_SUB_OVF_UN_I8
, "sub.ovf.un.i8", 1, MintOpNoArgs
)
359 OPDEF(MINT_NEG_I4
, "neg.i4", 1, MintOpNoArgs
)
360 OPDEF(MINT_NEG_I8
, "neg.i8", 1, MintOpNoArgs
)
361 OPDEF(MINT_NEG_R8
, "neg.r8", 1, MintOpNoArgs
)
363 OPDEF(MINT_NOT_I4
, "not.i4", 1, MintOpNoArgs
)
364 OPDEF(MINT_NOT_I8
, "not.i8", 1, MintOpNoArgs
)
366 OPDEF(MINT_AND_I4
, "and.i4", 1, MintOpNoArgs
)
367 OPDEF(MINT_AND_I8
, "and.i8", 1, MintOpNoArgs
)
369 OPDEF(MINT_OR_I4
, "or.i4", 1, MintOpNoArgs
)
370 OPDEF(MINT_OR_I8
, "or.i8", 1, MintOpNoArgs
)
372 OPDEF(MINT_XOR_I4
, "xor.i4", 1, MintOpNoArgs
)
373 OPDEF(MINT_XOR_I8
, "xor.i8", 1, MintOpNoArgs
)
375 OPDEF(MINT_REM_I4
, "rem.i4", 1, MintOpNoArgs
)
376 OPDEF(MINT_REM_I8
, "rem.i8", 1, MintOpNoArgs
)
377 OPDEF(MINT_REM_R8
, "rem.r8", 1, MintOpNoArgs
)
379 OPDEF(MINT_REM_UN_I4
, "rem.un.i4", 1, MintOpNoArgs
)
380 OPDEF(MINT_REM_UN_I8
, "rem.un.i8", 1, MintOpNoArgs
)
382 OPDEF(MINT_SHR_UN_I4
, "shr.un.i4", 1, MintOpNoArgs
)
383 OPDEF(MINT_SHR_UN_I8
, "shr.un.i8", 1, MintOpNoArgs
)
384 OPDEF(MINT_SHL_I4
, "shl.i4", 1, MintOpNoArgs
)
385 OPDEF(MINT_SHL_I8
, "shl.i8", 1, MintOpNoArgs
)
386 OPDEF(MINT_SHR_I4
, "shr.i4", 1, MintOpNoArgs
)
387 OPDEF(MINT_SHR_I8
, "shr.i8", 1, MintOpNoArgs
)
389 OPDEF(MINT_CONV_R_UN_I4
, "conv.r.un.i4", 1, MintOpNoArgs
)
390 OPDEF(MINT_CONV_R_UN_I8
, "conv.r.un.i8", 1, MintOpNoArgs
)
392 OPDEF(MINT_CONV_I1_I4
, "conv.i1.i4", 1, MintOpNoArgs
)
393 OPDEF(MINT_CONV_I1_I8
, "conv.i1.i8", 1, MintOpNoArgs
)
394 OPDEF(MINT_CONV_I1_R8
, "conv.i1.r8", 1, MintOpNoArgs
)
396 OPDEF(MINT_CONV_U1_I4
, "conv.u1.i4", 1, MintOpNoArgs
)
397 OPDEF(MINT_CONV_U1_I8
, "conv.u1.i8", 1, MintOpNoArgs
)
398 OPDEF(MINT_CONV_U1_R8
, "conv.u1.r8", 1, MintOpNoArgs
)
400 OPDEF(MINT_CONV_I2_I4
, "conv.i2.i4", 1, MintOpNoArgs
)
401 OPDEF(MINT_CONV_I2_I8
, "conv.i2.i8", 1, MintOpNoArgs
)
402 OPDEF(MINT_CONV_I2_R8
, "conv.i2.r8", 1, MintOpNoArgs
)
404 OPDEF(MINT_CONV_U2_I4
, "conv.u2.i4", 1, MintOpNoArgs
)
405 OPDEF(MINT_CONV_U2_I8
, "conv.u2.i8", 1, MintOpNoArgs
)
406 OPDEF(MINT_CONV_U2_R8
, "conv.u2.r8", 1, MintOpNoArgs
)
408 OPDEF(MINT_CONV_I4_I8
, "conv.i4.i8", 1, MintOpNoArgs
)
409 OPDEF(MINT_CONV_I4_R8
, "conv.i4.r8", 1, MintOpNoArgs
)
411 OPDEF(MINT_CONV_U4_I8
, "conv.u4.i8", 1, MintOpNoArgs
)
412 OPDEF(MINT_CONV_U4_R8
, "conv.u4.r8", 1, MintOpNoArgs
)
414 OPDEF(MINT_CONV_I8_I4
, "conv.i8.i4", 1, MintOpNoArgs
)
415 OPDEF(MINT_CONV_I8_U4
, "conv.i8.u4", 1, MintOpNoArgs
)
416 OPDEF(MINT_CONV_I8_R8
, "conv.i8.r8", 1, MintOpNoArgs
)
418 OPDEF(MINT_CONV_R4_I4
, "conv.r4.i4", 1, MintOpNoArgs
)
419 OPDEF(MINT_CONV_R4_I8
, "conv.r4.i8", 1, MintOpNoArgs
)
420 OPDEF(MINT_CONV_R4_R8
, "conv.r4.r8", 1, MintOpNoArgs
)
422 OPDEF(MINT_CONV_R8_I4
, "conv.r8.i4", 1, MintOpNoArgs
)
423 OPDEF(MINT_CONV_R8_I8
, "conv.r8.i8", 1, MintOpNoArgs
)
425 OPDEF(MINT_CONV_I4_I8_SP
, "conv.i4.i8.sp", 1, MintOpNoArgs
) /* special for narrowing sp
[-2] on
64 bits
*/
426 OPDEF(MINT_CONV_I8_I4_SP
, "conv.i8.i4.sp", 1, MintOpNoArgs
) /* special for widening sp
[-2] on
64 bits
*/
428 OPDEF(MINT_CONV_U8_I4
, "conv.u8.i4", 1, MintOpNoArgs
)
429 OPDEF(MINT_CONV_U8_R8
, "conv.u8.r8", 1, MintOpNoArgs
)
431 OPDEF(MINT_CONV_OVF_I1_I4
, "conv.ovf.i1.i4", 1, MintOpNoArgs
)
432 OPDEF(MINT_CONV_OVF_I1_I8
, "conv.ovf.i1.i8", 1, MintOpNoArgs
)
433 OPDEF(MINT_CONV_OVF_I1_R8
, "conv.ovf.i1.r8", 1, MintOpNoArgs
)
435 OPDEF(MINT_CONV_OVF_U1_I4
, "conv.ovf.u1.i4", 1, MintOpNoArgs
)
436 OPDEF(MINT_CONV_OVF_U1_I8
, "conv.ovf.u1.i8", 1, MintOpNoArgs
)
437 OPDEF(MINT_CONV_OVF_U1_R8
, "conv.ovf.u1.r8", 1, MintOpNoArgs
)
439 OPDEF(MINT_CONV_OVF_I2_I4
, "conv.ovf.i2.i4", 1, MintOpNoArgs
)
440 OPDEF(MINT_CONV_OVF_I2_I8
, "conv.ovf.i2.i8", 1, MintOpNoArgs
)
441 OPDEF(MINT_CONV_OVF_I2_R8
, "conv.ovf.i2.r8", 1, MintOpNoArgs
)
443 OPDEF(MINT_CONV_OVF_U2_I4
, "conv.ovf.u2.i4", 1, MintOpNoArgs
)
444 OPDEF(MINT_CONV_OVF_U2_I8
, "conv.ovf.u2.i8", 1, MintOpNoArgs
)
445 OPDEF(MINT_CONV_OVF_U2_R8
, "conv.ovf.u2.r8", 1, MintOpNoArgs
)
447 OPDEF(MINT_CONV_OVF_I4_U4
, "conv.ovf.i4.u4", 1, MintOpNoArgs
)
448 OPDEF(MINT_CONV_OVF_I4_I8
, "conv.ovf.i4.i8", 1, MintOpNoArgs
)
449 OPDEF(MINT_CONV_OVF_I4_U8
, "conv.ovf.i4.u8", 1, MintOpNoArgs
)
450 OPDEF(MINT_CONV_OVF_I4_R8
, "conv.ovf.i4.r8", 1, MintOpNoArgs
)
452 OPDEF(MINT_CONV_OVF_I4_UN_I8
, "conv.ovf.i4.un.i8", 1, MintOpNoArgs
)
453 OPDEF(MINT_CONV_OVF_I4_UN_R8
, "conv.ovf.i4.un.r8", 1, MintOpNoArgs
)
455 OPDEF(MINT_CONV_OVF_U4_I4
, "conv.ovf.u4.i4", 1, MintOpNoArgs
)
456 OPDEF(MINT_CONV_OVF_U4_I8
, "conv.ovf.u4.i8", 1, MintOpNoArgs
)
457 OPDEF(MINT_CONV_OVF_U4_R8
, "conv.ovf.u4.r8", 1, MintOpNoArgs
)
459 OPDEF(MINT_CONV_OVF_I8_U8
, "conv.ovf.i8.u8", 1, MintOpNoArgs
)
460 OPDEF(MINT_CONV_OVF_I8_R8
, "conv.ovf.i8.r8", 1, MintOpNoArgs
)
462 OPDEF(MINT_CONV_OVF_I8_UN_R8
, "conv.ovf.i8.un.r8", 1, MintOpNoArgs
)
464 OPDEF(MINT_CONV_OVF_U8_I4
, "conv.ovf.u8.i4", 1, MintOpNoArgs
)
465 OPDEF(MINT_CONV_OVF_U8_I8
, "conv.ovf.u8.i8", 1, MintOpNoArgs
)
466 OPDEF(MINT_CONV_OVF_U8_R8
, "conv.ovf.u8.r8", 1, MintOpNoArgs
)
468 OPDEF(MINT_CEQ_I4
, "ceq.i4", 1, MintOpNoArgs
)
469 OPDEF(MINT_CEQ_I8
, "ceq.i8", 1, MintOpNoArgs
)
470 OPDEF(MINT_CEQ_R8
, "ceq.r8", 1, MintOpNoArgs
)
472 OPDEF(MINT_CEQ0_I4
, "ceq0.i4", 1, MintOpNoArgs
)
474 OPDEF(MINT_CGT_I4
, "cgt.i4", 1, MintOpNoArgs
)
475 OPDEF(MINT_CGT_I8
, "cgt.i8", 1, MintOpNoArgs
)
476 OPDEF(MINT_CGT_R8
, "cgt.r8", 1, MintOpNoArgs
)
478 OPDEF(MINT_CGT_UN_I4
, "cgt.un.i4", 1, MintOpNoArgs
)
479 OPDEF(MINT_CGT_UN_I8
, "cgt.un.i8", 1, MintOpNoArgs
)
480 OPDEF(MINT_CGT_UN_R8
, "cgt.un.r8", 1, MintOpNoArgs
)
482 OPDEF(MINT_CLT_I4
, "clt.i4", 1, MintOpNoArgs
)
483 OPDEF(MINT_CLT_I8
, "clt.i8", 1, MintOpNoArgs
)
484 OPDEF(MINT_CLT_R8
, "clt.r8", 1, MintOpNoArgs
)
486 OPDEF(MINT_CLT_UN_I4
, "clt.un.i4", 1, MintOpNoArgs
)
487 OPDEF(MINT_CLT_UN_I8
, "clt.un.i8", 1, MintOpNoArgs
)
488 OPDEF(MINT_CLT_UN_R8
, "clt.un.r8", 1, MintOpNoArgs
)
490 OPDEF(MINT_CKFINITE
, "ckfinite", 1, MintOpNoArgs
)
492 OPDEF(MINT_CKNULL
, "cknull", 1, MintOpNoArgs
)
494 OPDEF(MINT_GETCHR
, "getchr", 1, MintOpNoArgs
)
495 OPDEF(MINT_STRLEN
, "strlen", 1, MintOpNoArgs
)
496 OPDEF(MINT_ARRAY_RANK
, "array_rank", 1, MintOpNoArgs
)
498 OPDEF(MINT_ICALL_V_V
, "mono_icall_v_v", 2, MintOpClassToken
) /* not really
*/
499 OPDEF(MINT_ICALL_V_P
, "mono_icall_v_p", 2, MintOpClassToken
)
500 OPDEF(MINT_ICALL_P_V
, "mono_icall_p_v", 2, MintOpClassToken
)
501 OPDEF(MINT_ICALL_P_P
, "mono_icall_p_p", 2, MintOpClassToken
)
502 OPDEF(MINT_ICALL_PP_V
, "mono_icall_pp_v", 2, MintOpClassToken
)
503 OPDEF(MINT_ICALL_PI_V
, "mono_icall_pi_v", 2, MintOpClassToken
)
504 OPDEF(MINT_ICALL_PP_P
, "mono_icall_pp_p", 2, MintOpClassToken
)
505 OPDEF(MINT_ICALL_PI_P
, "mono_icall_pi_p", 2, MintOpClassToken
)
506 OPDEF(MINT_ICALL_PPP_V
, "mono_icall_ppp_v", 2, MintOpClassToken
)
507 OPDEF(MINT_ICALL_PPI_V
, "mono_icall_ppi_v", 2, MintOpClassToken
)
508 OPDEF(MINT_MONO_LDPTR
, "mono_ldptr", 2, MintOpClassToken
)
509 OPDEF(MINT_MONO_NEWOBJ
, "mono_newobj", 2, MintOpClassToken
)
510 OPDEF(MINT_MONO_RETOBJ
, "mono_retobj", 1, MintOpNoArgs
)
511 OPDEF(MINT_MONO_FREE
, "mono_free", 1, MintOpNoArgs
)