2 * Definitions of VM instructions executed by interp.c
5 * Bernie
Solomon (bernard@ugsolutions.com
)
9 /* OPDEF (opsymbol
, opstring
, oplength (in uint16s
), optype
) */
11 OPDEF(MINT_NOP
, "nop", 1, MintOpNoArgs
)
12 OPDEF(MINT_NIY
, "niy", 1, MintOpNoArgs
)
13 OPDEF(MINT_BREAK
, "break", 1, MintOpNoArgs
)
14 OPDEF(MINT_BREAKPOINT
, "breakpoint", 1, MintOpNoArgs
)
15 OPDEF(MINT_LDNULL
, "ldnull", 1, MintOpNoArgs
)
16 OPDEF(MINT_DUP
, "dup", 1, MintOpNoArgs
)
17 OPDEF(MINT_DUP_VT
, "dup.vt", 3, MintOpInt
)
18 OPDEF(MINT_POP
, "pop", 2, MintOpShortInt
)
20 OPDEF(MINT_RET
, "ret", 1, MintOpNoArgs
)
21 OPDEF(MINT_RET_VOID
, "ret.void", 1, MintOpNoArgs
)
22 OPDEF(MINT_RET_VT
, "ret.vt", 3, MintOpInt
)
24 OPDEF(MINT_VTRESULT
, "vtresult", 4, MintOpShortAndInt
) /*FIX should be unsigned
*/
26 OPDEF(MINT_LDC_I4_M1
, "ldc.i4.m1", 1, MintOpNoArgs
)
27 OPDEF(MINT_LDC_I4_0
, "ldc.i4.0", 1, MintOpNoArgs
)
28 OPDEF(MINT_LDC_I4_1
, "ldc.i4.1", 1, MintOpNoArgs
)
29 OPDEF(MINT_LDC_I4_2
, "ldc.i4.2", 1, MintOpNoArgs
)
30 OPDEF(MINT_LDC_I4_3
, "ldc.i4.3", 1, MintOpNoArgs
)
31 OPDEF(MINT_LDC_I4_4
, "ldc.i4.4", 1, MintOpNoArgs
)
32 OPDEF(MINT_LDC_I4_5
, "ldc.i4.5", 1, MintOpNoArgs
)
33 OPDEF(MINT_LDC_I4_6
, "ldc.i4.6", 1, MintOpNoArgs
)
34 OPDEF(MINT_LDC_I4_7
, "ldc.i4.7", 1, MintOpNoArgs
)
35 OPDEF(MINT_LDC_I4_8
, "ldc.i4.8", 1, MintOpNoArgs
)
37 OPDEF(MINT_LDC_I4_S
, "ldc.i4.s", 2, MintOpShortInt
)
38 OPDEF(MINT_LDC_I4
, "ldc.i4", 3, MintOpInt
)
39 OPDEF(MINT_LDC_I8
, "ldc.i8", 5, MintOpLongInt
)
40 OPDEF(MINT_LDC_I8_S
, "ldc.i8.s", 2, MintOpShortInt
)
42 OPDEF(MINT_LDC_R4
, "ldc.r4", 3, MintOpFloat
)
43 OPDEF(MINT_LDC_R8
, "ldc.r8", 5, MintOpDouble
)
45 OPDEF(MINT_ARGLIST
, "arglist", 1, MintOpNoArgs
)
47 OPDEF(MINT_LDARG_I1
, "ldarg.i1", 2, MintOpUShortInt
)
48 OPDEF(MINT_LDARG_U1
, "ldarg.u1", 2, MintOpUShortInt
)
49 OPDEF(MINT_LDARG_I2
, "ldarg.i2", 2, MintOpUShortInt
)
50 OPDEF(MINT_LDARG_U2
, "ldarg.u2", 2, MintOpUShortInt
)
51 OPDEF(MINT_LDARG_I4
, "ldarg.i4", 2, MintOpUShortInt
)
52 OPDEF(MINT_LDARG_I8
, "ldarg.i8", 2, MintOpUShortInt
)
53 OPDEF(MINT_LDARG_R4
, "ldarg.r4", 2, MintOpUShortInt
)
54 OPDEF(MINT_LDARG_R8
, "ldarg.r8", 2, MintOpUShortInt
)
55 OPDEF(MINT_LDARG_O
, "ldarg.o", 2, MintOpUShortInt
)
56 OPDEF(MINT_LDARG_P
, "ldarg.p", 2, MintOpUShortInt
)
57 OPDEF(MINT_LDARG_VT
, "ldarg.vt", 4, MintOpShortAndInt
)
59 OPDEF(MINT_STARG_I1
, "starg.i1", 2, MintOpUShortInt
)
60 OPDEF(MINT_STARG_U1
, "starg.u1", 2, MintOpUShortInt
)
61 OPDEF(MINT_STARG_I2
, "starg.i2", 2, MintOpUShortInt
)
62 OPDEF(MINT_STARG_U2
, "starg.u2", 2, MintOpUShortInt
)
63 OPDEF(MINT_STARG_I4
, "starg.i4", 2, MintOpUShortInt
)
64 OPDEF(MINT_STARG_I8
, "starg.i8", 2, MintOpUShortInt
)
65 OPDEF(MINT_STARG_R4
, "starg.r4", 2, MintOpUShortInt
)
66 OPDEF(MINT_STARG_R8
, "starg.r8", 2, MintOpUShortInt
)
67 OPDEF(MINT_STARG_O
, "starg.o", 2, MintOpUShortInt
)
68 OPDEF(MINT_STARG_P
, "starg.p", 2, MintOpUShortInt
)
69 OPDEF(MINT_STARG_VT
, "starg.vt", 4, MintOpShortAndInt
)
71 OPDEF(MINT_LDARGA
, "ldarga", 2, MintOpUShortInt
)
72 OPDEF(MINT_LDARGA_VT
, "ldarga.vt", 2, MintOpUShortInt
)
74 OPDEF(MINT_LDFLD_I1
, "ldfld.i1", 2, MintOpUShortInt
)
75 OPDEF(MINT_LDFLD_U1
, "ldfld.u1", 2, MintOpUShortInt
)
76 OPDEF(MINT_LDFLD_I2
, "ldfld.i2", 2, MintOpUShortInt
)
77 OPDEF(MINT_LDFLD_U2
, "ldfld.u2", 2, MintOpUShortInt
)
78 OPDEF(MINT_LDFLD_I4
, "ldfld.i4", 2, MintOpUShortInt
)
79 OPDEF(MINT_LDFLD_I8
, "ldfld.i8", 2, MintOpUShortInt
)
80 OPDEF(MINT_LDFLD_R4
, "ldfld.r4", 2, MintOpUShortInt
)
81 OPDEF(MINT_LDFLD_R8
, "ldfld.r8", 2, MintOpUShortInt
)
82 OPDEF(MINT_LDFLD_O
, "ldfld.o", 2, MintOpUShortInt
)
83 OPDEF(MINT_LDFLD_P
, "ldfld.p", 2, MintOpUShortInt
)
84 OPDEF(MINT_LDFLD_VT
, "ldfld.vt", 4, MintOpShortAndInt
)
85 OPDEF(MINT_LDFLD_I8_UNALIGNED
, "ldfld.i8.unaligned", 2, MintOpUShortInt
)
86 OPDEF(MINT_LDFLD_R8_UNALIGNED
, "ldfld.r8.unaligned", 2, MintOpUShortInt
)
88 OPDEF(MINT_LDRMFLD
, "ldrmfld", 2, MintOpFieldToken
)
89 OPDEF(MINT_LDRMFLD_VT
, "ldrmfld.vt", 2, MintOpUShortInt
)
91 OPDEF(MINT_LDFLDA
, "ldflda", 2, MintOpUShortInt
)
92 OPDEF(MINT_LDFLDA_UNSAFE
, "ldflda.unsafe", 2, MintOpUShortInt
)
94 OPDEF(MINT_STFLD_I1
, "stfld.i1", 2, MintOpUShortInt
)
95 OPDEF(MINT_STFLD_U1
, "stfld.u1", 2, MintOpUShortInt
)
96 OPDEF(MINT_STFLD_I2
, "stfld.i2", 2, MintOpUShortInt
)
97 OPDEF(MINT_STFLD_U2
, "stfld.u2", 2, MintOpUShortInt
)
98 OPDEF(MINT_STFLD_I4
, "stfld.i4", 2, MintOpUShortInt
)
99 OPDEF(MINT_STFLD_I8
, "stfld.i8", 2, MintOpUShortInt
)
100 OPDEF(MINT_STFLD_R4
, "stfld.r4", 2, MintOpUShortInt
)
101 OPDEF(MINT_STFLD_R8
, "stfld.r8", 2, MintOpUShortInt
)
102 OPDEF(MINT_STFLD_O
, "stfld.o", 2, MintOpUShortInt
)
103 OPDEF(MINT_STFLD_P
, "stfld.p", 2, MintOpUShortInt
)
104 OPDEF(MINT_STFLD_VT
, "stfld.vt", 3, MintOpTwoShorts
)
105 OPDEF(MINT_STFLD_I8_UNALIGNED
, "stfld.i8.unaligned", 2, MintOpUShortInt
)
106 OPDEF(MINT_STFLD_R8_UNALIGNED
, "stfld.r8.unaligned", 2, MintOpUShortInt
)
108 OPDEF(MINT_STRMFLD
, "strmfld", 2, MintOpFieldToken
)
109 OPDEF(MINT_STRMFLD_VT
, "strmfld.vt", 2, MintOpUShortInt
)
111 OPDEF(MINT_LDTSFLD_I1
, "ldtsfld.i1", 3, MintOpInt
)
112 OPDEF(MINT_LDTSFLD_U1
, "ldtsfld.u1", 3, MintOpInt
)
113 OPDEF(MINT_LDTSFLD_I2
, "ldtsfld.i2", 3, MintOpInt
)
114 OPDEF(MINT_LDTSFLD_U2
, "ldtsfld.u2", 3, MintOpInt
)
115 OPDEF(MINT_LDTSFLD_I4
, "ldtsfld.i4", 3, MintOpInt
)
116 OPDEF(MINT_LDTSFLD_I8
, "ldtsfld.i8", 3, MintOpInt
)
117 OPDEF(MINT_LDTSFLD_R4
, "ldtsfld.r4", 3, MintOpInt
)
118 OPDEF(MINT_LDTSFLD_R8
, "ldtsfld.r8", 3, MintOpInt
)
119 OPDEF(MINT_LDTSFLD_O
, "ldtsfld.o", 3, MintOpInt
)
120 OPDEF(MINT_LDTSFLD_P
, "ldtsfld.p", 3, MintOpInt
)
121 OPDEF(MINT_LDSSFLD
, "ldssfld", 4, MintOpFieldToken
)
122 OPDEF(MINT_LDSSFLD_VT
, "ldssfld.vt", 5, MintOpInt
)
124 OPDEF(MINT_LDSFLD_I1
, "ldsfld.i1", 3, MintOpUShortInt
)
125 OPDEF(MINT_LDSFLD_U1
, "ldsfld.u1", 3, MintOpUShortInt
)
126 OPDEF(MINT_LDSFLD_I2
, "ldsfld.i2", 3, MintOpUShortInt
)
127 OPDEF(MINT_LDSFLD_U2
, "ldsfld.u2", 3, MintOpUShortInt
)
128 OPDEF(MINT_LDSFLD_I4
, "ldsfld.i4", 3, MintOpUShortInt
)
129 OPDEF(MINT_LDSFLD_I8
, "ldsfld.i8", 3, MintOpUShortInt
)
130 OPDEF(MINT_LDSFLD_R4
, "ldsfld.r4", 3, MintOpUShortInt
)
131 OPDEF(MINT_LDSFLD_R8
, "ldsfld.r8", 3, MintOpUShortInt
)
132 OPDEF(MINT_LDSFLD_O
, "ldsfld.o", 3, MintOpUShortInt
)
133 OPDEF(MINT_LDSFLD_P
, "ldsfld.p", 3, MintOpUShortInt
)
134 OPDEF(MINT_LDSFLD_VT
, "ldsfld.vt", 5, MintOpTwoShorts
)
136 OPDEF(MINT_STTSFLD_I1
, "sttsfld.i1", 3, MintOpInt
)
137 OPDEF(MINT_STTSFLD_U1
, "sttsfld.u1", 3, MintOpInt
)
138 OPDEF(MINT_STTSFLD_I2
, "sttsfld.i2", 3, MintOpInt
)
139 OPDEF(MINT_STTSFLD_U2
, "sttsfld.u2", 3, MintOpInt
)
140 OPDEF(MINT_STTSFLD_I4
, "sttsfld.i4", 3, MintOpInt
)
141 OPDEF(MINT_STTSFLD_I8
, "sttsfld.i8", 3, MintOpInt
)
142 OPDEF(MINT_STTSFLD_R4
, "sttsfld.r4", 3, MintOpInt
)
143 OPDEF(MINT_STTSFLD_R8
, "sttsfld.r8", 3, MintOpInt
)
144 OPDEF(MINT_STTSFLD_O
, "sttsfld.o", 3, MintOpInt
)
145 OPDEF(MINT_STTSFLD_P
, "sttsfld.p", 3, MintOpInt
)
146 OPDEF(MINT_STSSFLD
, "stssfld", 4, MintOpFieldToken
)
147 OPDEF(MINT_STSSFLD_VT
, "stssfld.vt", 5, MintOpInt
)
148 OPDEF(MINT_STSFLD_I1
, "stsfld.i1", 3, MintOpUShortInt
)
149 OPDEF(MINT_STSFLD_U1
, "stsfld.u1", 3, MintOpUShortInt
)
150 OPDEF(MINT_STSFLD_I2
, "stsfld.i2", 3, MintOpUShortInt
)
151 OPDEF(MINT_STSFLD_U2
, "stsfld.u2", 3, MintOpUShortInt
)
152 OPDEF(MINT_STSFLD_I4
, "stsfld.i4", 3, MintOpUShortInt
)
153 OPDEF(MINT_STSFLD_I8
, "stsfld.i8", 3, MintOpUShortInt
)
154 OPDEF(MINT_STSFLD_R4
, "stsfld.r4", 3, MintOpUShortInt
)
155 OPDEF(MINT_STSFLD_R8
, "stsfld.r8", 3, MintOpUShortInt
)
156 OPDEF(MINT_STSFLD_O
, "stsfld.o", 3, MintOpUShortInt
)
157 OPDEF(MINT_STSFLD_P
, "stsfld.p", 3, MintOpUShortInt
)
158 OPDEF(MINT_STSFLD_VT
, "stsfld.vt", 5, MintOpTwoShorts
)
159 OPDEF(MINT_LDSFLDA
, "ldsflda", 3, MintOpTwoShorts
)
160 OPDEF(MINT_LDSSFLDA
, "ldssflda", 4, MintOpInt
)
162 OPDEF(MINT_LDLOC_I1
, "ldloc.i1", 2, MintOpUShortInt
)
163 OPDEF(MINT_LDLOC_U1
, "ldloc.u1", 2, MintOpUShortInt
)
164 OPDEF(MINT_LDLOC_I2
, "ldloc.i2", 2, MintOpUShortInt
)
165 OPDEF(MINT_LDLOC_U2
, "ldloc.u2", 2, MintOpUShortInt
)
166 OPDEF(MINT_LDLOC_I4
, "ldloc.i4", 2, MintOpUShortInt
)
167 OPDEF(MINT_LDLOC_I8
, "ldloc.i8", 2, MintOpUShortInt
)
168 OPDEF(MINT_LDLOC_R4
, "ldloc.r4", 2, MintOpUShortInt
)
169 OPDEF(MINT_LDLOC_R8
, "ldloc.r8", 2, MintOpUShortInt
)
170 OPDEF(MINT_LDLOC_O
, "ldloc.o", 2, MintOpUShortInt
)
171 OPDEF(MINT_LDLOC_P
, "ldloc.p", 2, MintOpUShortInt
)
172 OPDEF(MINT_LDLOC_VT
, "ldloc.vt", 4, MintOpShortAndInt
)
174 OPDEF(MINT_STLOC_I1
, "stloc.i1", 2, MintOpUShortInt
)
175 OPDEF(MINT_STLOC_U1
, "stloc.u1", 2, MintOpUShortInt
)
176 OPDEF(MINT_STLOC_I2
, "stloc.i2", 2, MintOpUShortInt
)
177 OPDEF(MINT_STLOC_U2
, "stloc.u2", 2, MintOpUShortInt
)
178 OPDEF(MINT_STLOC_I4
, "stloc.i4", 2, MintOpUShortInt
)
179 OPDEF(MINT_STLOC_I8
, "stloc.i8", 2, MintOpUShortInt
)
180 OPDEF(MINT_STLOC_R4
, "stloc.r4", 2, MintOpUShortInt
)
181 OPDEF(MINT_STLOC_R8
, "stloc.r8", 2, MintOpUShortInt
)
182 OPDEF(MINT_STLOC_O
, "stloc.o", 2, MintOpUShortInt
)
183 OPDEF(MINT_STLOC_P
, "stloc.p", 2, MintOpUShortInt
)
184 OPDEF(MINT_STLOC_VT
, "stloc.vt", 4, MintOpShortAndInt
)
186 OPDEF(MINT_STLOC_NP_I4
, "stloc.np.i4", 2, MintOpUShortInt
)
187 OPDEF(MINT_STLOC_NP_O
, "stloc.np.o", 2, MintOpUShortInt
)
189 OPDEF(MINT_LDLOCA_S
, "ldloca.s", 2, MintOpUShortInt
)
191 OPDEF(MINT_LDIND_I1_CHECK
, "ldind.i1.check", 1, MintOpNoArgs
)
192 OPDEF(MINT_LDIND_U1_CHECK
, "ldind.u1.check", 1, MintOpNoArgs
)
193 OPDEF(MINT_LDIND_I2_CHECK
, "ldind.i2.check", 1, MintOpNoArgs
)
194 OPDEF(MINT_LDIND_U2_CHECK
, "ldind.u2.check", 1, MintOpNoArgs
)
195 OPDEF(MINT_LDIND_I4_CHECK
, "ldind.i4.check", 1, MintOpNoArgs
)
196 OPDEF(MINT_LDIND_U4_CHECK
, "ldind.u4.check", 1, MintOpNoArgs
)
197 OPDEF(MINT_LDIND_I8_CHECK
, "ldind.i8.check", 1, MintOpNoArgs
)
198 OPDEF(MINT_LDIND_I
, "ldind.i", 2, MintOpUShortInt
)
199 OPDEF(MINT_LDIND_I8
, "ldind.i8", 2, MintOpUShortInt
)
200 OPDEF(MINT_LDIND_R4_CHECK
, "ldind.r4.check", 1, MintOpNoArgs
)
201 OPDEF(MINT_LDIND_R8_CHECK
, "ldind.r8.check", 1, MintOpNoArgs
)
202 OPDEF(MINT_LDIND_REF
, "ldind.ref", 1, MintOpNoArgs
)
203 OPDEF(MINT_LDIND_REF_CHECK
, "ldind.ref.check", 1, MintOpNoArgs
)
204 OPDEF(MINT_STIND_I1
, "stind.i1", 1, MintOpNoArgs
)
205 OPDEF(MINT_STIND_I2
, "stind.i2", 1, MintOpNoArgs
)
206 OPDEF(MINT_STIND_I4
, "stind.i4", 1, MintOpNoArgs
)
207 OPDEF(MINT_STIND_I8
, "stind.i8", 1, MintOpNoArgs
)
208 OPDEF(MINT_STIND_I
, "stind.i", 1, MintOpNoArgs
)
209 OPDEF(MINT_STIND_R4
, "stind.r4", 1, MintOpNoArgs
)
210 OPDEF(MINT_STIND_R8
, "stind.r8", 1, MintOpNoArgs
)
211 OPDEF(MINT_STIND_REF
, "stind.ref", 1, MintOpNoArgs
)
213 OPDEF(MINT_BR
, "br", 3, MintOpBranch
)
214 OPDEF(MINT_LEAVE
, "leave", 3, MintOpBranch
)
215 OPDEF(MINT_LEAVE_CHECK
, "leave.check", 3, MintOpBranch
)
216 OPDEF(MINT_BR_S
, "br.s", 2, MintOpShortBranch
)
217 OPDEF(MINT_LEAVE_S
, "leave.s", 2, MintOpShortBranch
)
218 OPDEF(MINT_LEAVE_S_CHECK
, "leave.s.check", 2, MintOpShortBranch
)
220 OPDEF(MINT_THROW
, "throw", 1, MintOpNoArgs
)
221 OPDEF(MINT_RETHROW
, "rethrow", 2, MintOpUShortInt
)
222 OPDEF(MINT_ENDFINALLY
, "endfinally", 2, MintOpNoArgs
)
223 OPDEF(MINT_MONO_RETHROW
, "mono_rethrow", 1, MintOpNoArgs
)
225 OPDEF(MINT_CHECKPOINT
, "checkpoint", 1, MintOpNoArgs
)
226 OPDEF(MINT_SAFEPOINT
, "safepoint", 1, MintOpNoArgs
)
228 OPDEF(MINT_BRFALSE_I4
, "brfalse.i4", 3, MintOpBranch
)
229 OPDEF(MINT_BRFALSE_I8
, "brfalse.i8", 3, MintOpBranch
)
230 OPDEF(MINT_BRFALSE_R4
, "brfalse.r4", 3, MintOpBranch
)
231 OPDEF(MINT_BRFALSE_R8
, "brfalse.r8", 3, MintOpBranch
)
232 OPDEF(MINT_BRTRUE_I4
, "brtrue.i4", 3, MintOpBranch
)
233 OPDEF(MINT_BRTRUE_I8
, "brtrue.i8", 3, MintOpBranch
)
234 OPDEF(MINT_BRTRUE_R4
, "brtrue.r4", 3, MintOpBranch
)
235 OPDEF(MINT_BRTRUE_R8
, "brtrue.r8", 3, MintOpBranch
)
237 OPDEF(MINT_BRFALSE_I4_S
, "brfalse.i4.s", 2, MintOpShortBranch
)
238 OPDEF(MINT_BRFALSE_I8_S
, "brfalse.i8.s", 2, MintOpShortBranch
)
239 OPDEF(MINT_BRFALSE_R4_S
, "brfalse.r4.s", 2, MintOpShortBranch
)
240 OPDEF(MINT_BRFALSE_R8_S
, "brfalse.r8.s", 2, MintOpShortBranch
)
241 OPDEF(MINT_BRTRUE_I4_S
, "brtrue.i4.s", 2, MintOpShortBranch
)
242 OPDEF(MINT_BRTRUE_I8_S
, "brtrue.i8.s", 2, MintOpShortBranch
)
243 OPDEF(MINT_BRTRUE_R4_S
, "brtrue.r4.s", 2, MintOpShortBranch
)
244 OPDEF(MINT_BRTRUE_R8_S
, "brtrue.r8.s", 2, MintOpShortBranch
)
246 OPDEF(MINT_BEQ_I4
, "beq.i4", 3, MintOpBranch
)
247 OPDEF(MINT_BEQ_I8
, "beq.i8", 3, MintOpBranch
)
248 OPDEF(MINT_BEQ_R4
, "beq.r4", 3, MintOpBranch
)
249 OPDEF(MINT_BEQ_R8
, "beq.r8", 3, MintOpBranch
)
250 OPDEF(MINT_BGE_I4
, "bge.i4", 3, MintOpBranch
)
251 OPDEF(MINT_BGE_I8
, "bge.i8", 3, MintOpBranch
)
252 OPDEF(MINT_BGE_R4
, "bge.r4", 3, MintOpBranch
)
253 OPDEF(MINT_BGE_R8
, "bge.r8", 3, MintOpBranch
)
254 OPDEF(MINT_BGT_I4
, "bgt.i4", 3, MintOpBranch
)
255 OPDEF(MINT_BGT_I8
, "bgt.i8", 3, MintOpBranch
)
256 OPDEF(MINT_BGT_R4
, "bgt.r4", 3, MintOpBranch
)
257 OPDEF(MINT_BGT_R8
, "bgt.r8", 3, MintOpBranch
)
258 OPDEF(MINT_BLT_I4
, "blt.i4", 3, MintOpBranch
)
259 OPDEF(MINT_BLT_I8
, "blt.i8", 3, MintOpBranch
)
260 OPDEF(MINT_BLT_R4
, "blt.r4", 3, MintOpBranch
)
261 OPDEF(MINT_BLT_R8
, "blt.r8", 3, MintOpBranch
)
262 OPDEF(MINT_BLE_I4
, "ble.i4", 3, MintOpBranch
)
263 OPDEF(MINT_BLE_I8
, "ble.i8", 3, MintOpBranch
)
264 OPDEF(MINT_BLE_R4
, "ble.r4", 3, MintOpBranch
)
265 OPDEF(MINT_BLE_R8
, "ble.r8", 3, MintOpBranch
)
267 OPDEF(MINT_BNE_UN_I4
, "bne.un.i4", 3, MintOpBranch
)
268 OPDEF(MINT_BNE_UN_I8
, "bne.un.i8", 3, MintOpBranch
)
269 OPDEF(MINT_BNE_UN_R4
, "bne.un.r4", 3, MintOpBranch
)
270 OPDEF(MINT_BNE_UN_R8
, "bne.un.r8", 3, MintOpBranch
)
271 OPDEF(MINT_BGE_UN_I4
, "bge.un.i4", 3, MintOpBranch
)
272 OPDEF(MINT_BGE_UN_I8
, "bge.un.i8", 3, MintOpBranch
)
273 OPDEF(MINT_BGE_UN_R4
, "bge.un.r4", 3, MintOpBranch
)
274 OPDEF(MINT_BGE_UN_R8
, "bge.un.r8", 3, MintOpBranch
)
275 OPDEF(MINT_BGT_UN_I4
, "bgt.un.i4", 3, MintOpBranch
)
276 OPDEF(MINT_BGT_UN_I8
, "bgt.un.i8", 3, MintOpBranch
)
277 OPDEF(MINT_BGT_UN_R4
, "bgt.un.r4", 3, MintOpBranch
)
278 OPDEF(MINT_BGT_UN_R8
, "bgt.un.r8", 3, MintOpBranch
)
279 OPDEF(MINT_BLE_UN_I4
, "ble.un.i4", 3, MintOpBranch
)
280 OPDEF(MINT_BLE_UN_I8
, "ble.un.i8", 3, MintOpBranch
)
281 OPDEF(MINT_BLE_UN_R4
, "ble.un.r4", 3, MintOpBranch
)
282 OPDEF(MINT_BLE_UN_R8
, "ble.un.r8", 3, MintOpBranch
)
283 OPDEF(MINT_BLT_UN_I4
, "blt.un.i4", 3, MintOpBranch
)
284 OPDEF(MINT_BLT_UN_I8
, "blt.un.i8", 3, MintOpBranch
)
285 OPDEF(MINT_BLT_UN_R4
, "blt.un.r4", 3, MintOpBranch
)
286 OPDEF(MINT_BLT_UN_R8
, "blt.un.r8", 3, MintOpBranch
)
288 OPDEF(MINT_BEQ_I4_S
, "beq.i4.s", 2, MintOpShortBranch
)
289 OPDEF(MINT_BEQ_I8_S
, "beq.i8.s", 2, MintOpShortBranch
)
290 OPDEF(MINT_BEQ_R4_S
, "beq.r4.s", 2, MintOpShortBranch
)
291 OPDEF(MINT_BEQ_R8_S
, "beq.r8.s", 2, MintOpShortBranch
)
292 OPDEF(MINT_BGE_I4_S
, "bge.i4.s", 2, MintOpShortBranch
)
293 OPDEF(MINT_BGE_I8_S
, "bge.i8.s", 2, MintOpShortBranch
)
294 OPDEF(MINT_BGE_R4_S
, "bge.r4.s", 2, MintOpShortBranch
)
295 OPDEF(MINT_BGE_R8_S
, "bge.r8.s", 2, MintOpShortBranch
)
296 OPDEF(MINT_BGT_I4_S
, "bgt.i4.s", 2, MintOpShortBranch
)
297 OPDEF(MINT_BGT_I8_S
, "bgt.i8.s", 2, MintOpShortBranch
)
298 OPDEF(MINT_BGT_R4_S
, "bgt.r4.s", 2, MintOpShortBranch
)
299 OPDEF(MINT_BGT_R8_S
, "bgt.r8.s", 2, MintOpShortBranch
)
300 OPDEF(MINT_BLT_I4_S
, "blt.i4.s", 2, MintOpShortBranch
)
301 OPDEF(MINT_BLT_I8_S
, "blt.i8.s", 2, MintOpShortBranch
)
302 OPDEF(MINT_BLT_R4_S
, "blt.r4.s", 2, MintOpShortBranch
)
303 OPDEF(MINT_BLT_R8_S
, "blt.r8.s", 2, MintOpShortBranch
)
304 OPDEF(MINT_BLE_I4_S
, "ble.i4.s", 2, MintOpShortBranch
)
305 OPDEF(MINT_BLE_I8_S
, "ble.i8.s", 2, MintOpShortBranch
)
306 OPDEF(MINT_BLE_R4_S
, "ble.r4.s", 2, MintOpShortBranch
)
307 OPDEF(MINT_BLE_R8_S
, "ble.r8.s", 2, MintOpShortBranch
)
309 OPDEF(MINT_BNE_UN_I4_S
, "bne.un.i4.s", 2, MintOpShortBranch
)
310 OPDEF(MINT_BNE_UN_I8_S
, "bne.un.i8.s", 2, MintOpShortBranch
)
311 OPDEF(MINT_BNE_UN_R4_S
, "bne.un.r4.s", 2, MintOpShortBranch
)
312 OPDEF(MINT_BNE_UN_R8_S
, "bne.un.r8.s", 2, MintOpShortBranch
)
313 OPDEF(MINT_BGE_UN_I4_S
, "bge.un.i4.s", 2, MintOpShortBranch
)
314 OPDEF(MINT_BGE_UN_I8_S
, "bge.un.i8.s", 2, MintOpShortBranch
)
315 OPDEF(MINT_BGE_UN_R4_S
, "bge.un.r4.s", 2, MintOpShortBranch
)
316 OPDEF(MINT_BGE_UN_R8_S
, "bge.un.r8.s", 2, MintOpShortBranch
)
317 OPDEF(MINT_BGT_UN_I4_S
, "bgt.un.i4.s", 2, MintOpShortBranch
)
318 OPDEF(MINT_BGT_UN_I8_S
, "bgt.un.i8.s", 2, MintOpShortBranch
)
319 OPDEF(MINT_BGT_UN_R4_S
, "bgt.un.r4.s", 2, MintOpShortBranch
)
320 OPDEF(MINT_BGT_UN_R8_S
, "bgt.un.r8.s", 2, MintOpShortBranch
)
321 OPDEF(MINT_BLE_UN_I4_S
, "ble.un.i4.s", 2, MintOpShortBranch
)
322 OPDEF(MINT_BLE_UN_I8_S
, "ble.un.i8.s", 2, MintOpShortBranch
)
323 OPDEF(MINT_BLE_UN_R4_S
, "ble.un.r4.s", 2, MintOpShortBranch
)
324 OPDEF(MINT_BLE_UN_R8_S
, "ble.un.r8.s", 2, MintOpShortBranch
)
325 OPDEF(MINT_BLT_UN_I4_S
, "blt.un.i4.s", 2, MintOpShortBranch
)
326 OPDEF(MINT_BLT_UN_I8_S
, "blt.un.i8.s", 2, MintOpShortBranch
)
327 OPDEF(MINT_BLT_UN_R4_S
, "blt.un.r4.s", 2, MintOpShortBranch
)
328 OPDEF(MINT_BLT_UN_R8_S
, "blt.un.r8.s", 2, MintOpShortBranch
)
330 OPDEF(MINT_SWITCH
, "switch", 0, MintOpSwitch
)
332 OPDEF(MINT_LDSTR
, "ldstr", 2, MintOpMethodToken
) /* not really
*/
333 OPDEF(MINT_LDSTR_TOKEN
, "ldstr.token", 2, MintOpMethodToken
) /* not really
*/
335 OPDEF(MINT_CALL
, "call", 2, MintOpMethodToken
)
336 OPDEF(MINT_VCALL
, "vcall", 2, MintOpMethodToken
)
337 OPDEF(MINT_CALLVIRT
, "callvirt", 2, MintOpMethodToken
)
338 OPDEF(MINT_VCALLVIRT
, "vcallvirt", 2, MintOpMethodToken
)
339 OPDEF(MINT_CALLVIRT_FAST
, "callvirt.fast", 3, MintOpMethodToken
)
340 OPDEF(MINT_VCALLVIRT_FAST
, "vcallvirt.fast", 3, MintOpMethodToken
)
341 OPDEF(MINT_CALLI
, "calli", 2, MintOpMethodToken
)
342 OPDEF(MINT_CALLI_NAT
, "calli.nat", 3, MintOpMethodToken
)
343 OPDEF(MINT_CALLI_NAT_FAST
, "calli.nat.fast", 4, MintOpMethodToken
)
344 OPDEF(MINT_CALL_VARARG
, "call.vararg", 3, MintOpMethodToken
)
345 OPDEF(MINT_JMP
, "jmp", 2, MintOpMethodToken
)
347 OPDEF(MINT_CALLRUN
, "callrun", 3, MintOpNoArgs
)
349 OPDEF(MINT_ENDFILTER
, "endfilter", 1, MintOpNoArgs
)
351 OPDEF(MINT_NEWOBJ
, "newobj", 2, MintOpMethodToken
)
352 OPDEF(MINT_NEWOBJ_ARRAY
, "newobj_array", 3, MintOpMethodToken
)
353 OPDEF(MINT_NEWOBJ_FAST
, "newobj_fast", 4, MintOpMethodToken
)
354 OPDEF(MINT_NEWOBJ_VT_FAST
, "newobj_vt_fast", 3, MintOpMethodToken
)
355 OPDEF(MINT_NEWOBJ_VTST_FAST
, "newobj_vtst_fast", 4, MintOpMethodToken
)
356 OPDEF(MINT_NEWOBJ_MAGIC
, "newobj_magic", 2, MintOpMethodToken
)
357 OPDEF(MINT_INITOBJ
, "initobj", 3, MintOpInt
)
358 OPDEF(MINT_CASTCLASS
, "castclass", 2, MintOpClassToken
)
359 OPDEF(MINT_ISINST
, "isinst", 2, MintOpClassToken
)
360 OPDEF(MINT_CASTCLASS_INTERFACE
, "castclass.interface", 2, MintOpClassToken
)
361 OPDEF(MINT_ISINST_INTERFACE
, "isinst.interface", 2, MintOpClassToken
)
362 OPDEF(MINT_CASTCLASS_COMMON
, "castclass.common", 2, MintOpClassToken
)
363 OPDEF(MINT_ISINST_COMMON
, "isinst.common", 2, MintOpClassToken
)
364 OPDEF(MINT_NEWARR
, "newarr", 2, MintOpClassToken
)
365 OPDEF(MINT_BOX
, "box", 3, MintOpTwoShorts
)
366 OPDEF(MINT_BOX_VT
, "box.vt", 3, MintOpTwoShorts
)
367 OPDEF(MINT_BOX_NULLABLE
, "box.nullable", 3, MintOpTwoShorts
)
368 OPDEF(MINT_UNBOX
, "unbox", 2, MintOpClassToken
)
369 OPDEF(MINT_LDTOKEN
, "ldtoken", 2, MintOpClassToken
) /* not really
*/
370 OPDEF(MINT_LDFTN
, "ldftn", 2, MintOpMethodToken
)
371 OPDEF(MINT_LDFTN_DYNAMIC
, "ldftn.dynamic", 1, MintOpMethodToken
)
372 OPDEF(MINT_LDVIRTFTN
, "ldvirtftn", 2, MintOpMethodToken
)
373 OPDEF(MINT_CPOBJ
, "cpobj", 2, MintOpClassToken
)
374 OPDEF(MINT_CPOBJ_VT
, "cpobj.vt", 2, MintOpClassToken
)
375 OPDEF(MINT_LDOBJ_VT
, "ldobj.vt", 3, MintOpInt
)
376 OPDEF(MINT_STOBJ_VT
, "stobj.vt", 2, MintOpClassToken
)
377 OPDEF(MINT_CPBLK
, "cpblk", 1, MintOpNoArgs
)
378 OPDEF(MINT_INITBLK
, "initblk", 1, MintOpNoArgs
)
379 OPDEF(MINT_LOCALLOC
, "localloc", 1, MintOpNoArgs
)
380 OPDEF(MINT_INITLOCALS
, "initlocals", 1, MintOpNoArgs
)
382 OPDEF(MINT_LDELEM_I
, "ldelem.i", 1, MintOpNoArgs
)
383 OPDEF(MINT_LDELEM_I1
, "ldelem.i1", 1, MintOpNoArgs
)
384 OPDEF(MINT_LDELEM_U1
, "ldelem.u1", 1, MintOpNoArgs
)
385 OPDEF(MINT_LDELEM_I2
, "ldelem.i2", 1, MintOpNoArgs
)
386 OPDEF(MINT_LDELEM_U2
, "ldelem.u2", 1, MintOpNoArgs
)
387 OPDEF(MINT_LDELEM_I4
, "ldelem.i4", 1, MintOpNoArgs
)
388 OPDEF(MINT_LDELEM_U4
, "ldelem.u4", 1, MintOpNoArgs
)
389 OPDEF(MINT_LDELEM_I8
, "ldelem.i8", 1, MintOpNoArgs
)
390 OPDEF(MINT_LDELEM_R4
, "ldelem.r4", 1, MintOpNoArgs
)
391 OPDEF(MINT_LDELEM_R8
, "ldelem.r8", 1, MintOpNoArgs
)
392 OPDEF(MINT_LDELEM_REF
, "ldelem.ref", 1, MintOpNoArgs
)
393 OPDEF(MINT_LDELEM_VT
, "ldelem.vt", 3, MintOpInt
)
395 OPDEF(MINT_LDELEMA
, "ldelema", 3, MintOpTwoShorts
)
396 OPDEF(MINT_LDELEMA_TC
, "ldelema.tc", 3, MintOpTwoShorts
)
397 OPDEF(MINT_LDELEMA_FAST
, "ldelema.fast", 3, MintOpInt
)
399 OPDEF(MINT_STELEM_I
, "stelem.i", 1, MintOpNoArgs
)
400 OPDEF(MINT_STELEM_I1
, "stelem.i1", 1, MintOpNoArgs
)
401 OPDEF(MINT_STELEM_U1
, "stelem.u1", 1, MintOpNoArgs
)
402 OPDEF(MINT_STELEM_I2
, "stelem.i2", 1, MintOpNoArgs
)
403 OPDEF(MINT_STELEM_U2
, "stelem.u2", 1, MintOpNoArgs
)
404 OPDEF(MINT_STELEM_I4
, "stelem.i4", 1, MintOpNoArgs
)
405 OPDEF(MINT_STELEM_I8
, "stelem.i8", 1, MintOpNoArgs
)
406 OPDEF(MINT_STELEM_R4
, "stelem.r4", 1, MintOpNoArgs
)
407 OPDEF(MINT_STELEM_R8
, "stelem.r8", 1, MintOpNoArgs
)
408 OPDEF(MINT_STELEM_REF
, "stelem.ref", 1, MintOpNoArgs
)
409 OPDEF(MINT_STELEM_VT
, "stelem.vt", 4, MintOpShortAndInt
)
411 OPDEF(MINT_LDLEN
, "ldlen", 1, MintOpNoArgs
)
412 OPDEF(MINT_LDLEN_SPAN
, "ldlen.span", 2, MintOpShortInt
)
414 OPDEF(MINT_GETITEM_SPAN
, "getitem.span", 4, MintOpShortAndInt
)
416 OPDEF(MINT_ADD_I4
, "add.i4", 1, MintOpNoArgs
)
417 OPDEF(MINT_ADD_I8
, "add.i8", 1, MintOpNoArgs
)
418 OPDEF(MINT_ADD_R4
, "add.r4", 1, MintOpNoArgs
)
419 OPDEF(MINT_ADD_R8
, "add.r8", 1, MintOpNoArgs
)
421 OPDEF(MINT_ADD1_I4
, "add1.i4", 1, MintOpNoArgs
)
422 OPDEF(MINT_ADD1_I8
, "add1.i8", 1, MintOpNoArgs
)
424 OPDEF(MINT_SUB_I4
, "sub.i4", 1, MintOpNoArgs
)
425 OPDEF(MINT_SUB_I8
, "sub.i8", 1, MintOpNoArgs
)
426 OPDEF(MINT_SUB_R4
, "sub.r4", 1, MintOpNoArgs
)
427 OPDEF(MINT_SUB_R8
, "sub.r8", 1, MintOpNoArgs
)
429 OPDEF(MINT_SUB1_I4
, "sub1.i4", 1, MintOpNoArgs
)
430 OPDEF(MINT_SUB1_I8
, "sub1.i8", 1, MintOpNoArgs
)
432 OPDEF(MINT_MUL_I4
, "mul.i4", 1, MintOpNoArgs
)
433 OPDEF(MINT_MUL_I8
, "mul.i8", 1, MintOpNoArgs
)
434 OPDEF(MINT_MUL_R4
, "mul.r4", 1, MintOpNoArgs
)
435 OPDEF(MINT_MUL_R8
, "mul.r8", 1, MintOpNoArgs
)
437 OPDEF(MINT_DIV_I4
, "div.i4", 1, MintOpNoArgs
)
438 OPDEF(MINT_DIV_I8
, "div.i8", 1, MintOpNoArgs
)
439 OPDEF(MINT_DIV_R4
, "div.r4", 1, MintOpNoArgs
)
440 OPDEF(MINT_DIV_R8
, "div.r8", 1, MintOpNoArgs
)
442 OPDEF(MINT_DIV_UN_I4
, "div.un.i4", 1, MintOpNoArgs
)
443 OPDEF(MINT_DIV_UN_I8
, "div.un.i8", 1, MintOpNoArgs
)
445 OPDEF(MINT_ADD_OVF_I4
, "add.ovf.i4", 1, MintOpNoArgs
)
446 OPDEF(MINT_ADD_OVF_I8
, "add.ovf.i8", 1, MintOpNoArgs
)
448 OPDEF(MINT_ADD_OVF_UN_I4
, "add.ovf.un.i4", 1, MintOpNoArgs
)
449 OPDEF(MINT_ADD_OVF_UN_I8
, "add.ovf.un.i8", 1, MintOpNoArgs
)
451 OPDEF(MINT_MUL_OVF_I4
, "mul.ovf.i4", 1, MintOpNoArgs
)
452 OPDEF(MINT_MUL_OVF_I8
, "mul.ovf.i8", 1, MintOpNoArgs
)
454 OPDEF(MINT_MUL_OVF_UN_I4
, "mul.ovf.un.i4", 1, MintOpNoArgs
)
455 OPDEF(MINT_MUL_OVF_UN_I8
, "mul.ovf.un.i8", 1, MintOpNoArgs
)
457 OPDEF(MINT_SUB_OVF_I4
, "sub.ovf.i4", 1, MintOpNoArgs
)
458 OPDEF(MINT_SUB_OVF_I8
, "sub.ovf.i8", 1, MintOpNoArgs
)
460 OPDEF(MINT_SUB_OVF_UN_I4
, "sub.ovf.un.i4", 1, MintOpNoArgs
)
461 OPDEF(MINT_SUB_OVF_UN_I8
, "sub.ovf.un.i8", 1, MintOpNoArgs
)
463 OPDEF(MINT_NEG_I4
, "neg.i4", 1, MintOpNoArgs
)
464 OPDEF(MINT_NEG_I8
, "neg.i8", 1, MintOpNoArgs
)
465 OPDEF(MINT_NEG_R4
, "neg.r4", 1, MintOpNoArgs
)
466 OPDEF(MINT_NEG_R8
, "neg.r8", 1, MintOpNoArgs
)
468 OPDEF(MINT_NOT_I4
, "not.i4", 1, MintOpNoArgs
)
469 OPDEF(MINT_NOT_I8
, "not.i8", 1, MintOpNoArgs
)
471 OPDEF(MINT_AND_I4
, "and.i4", 1, MintOpNoArgs
)
472 OPDEF(MINT_AND_I8
, "and.i8", 1, MintOpNoArgs
)
474 OPDEF(MINT_OR_I4
, "or.i4", 1, MintOpNoArgs
)
475 OPDEF(MINT_OR_I8
, "or.i8", 1, MintOpNoArgs
)
477 OPDEF(MINT_XOR_I4
, "xor.i4", 1, MintOpNoArgs
)
478 OPDEF(MINT_XOR_I8
, "xor.i8", 1, MintOpNoArgs
)
480 OPDEF(MINT_REM_I4
, "rem.i4", 1, MintOpNoArgs
)
481 OPDEF(MINT_REM_I8
, "rem.i8", 1, MintOpNoArgs
)
482 OPDEF(MINT_REM_R4
, "rem.r4", 1, MintOpNoArgs
)
483 OPDEF(MINT_REM_R8
, "rem.r8", 1, MintOpNoArgs
)
485 OPDEF(MINT_REM_UN_I4
, "rem.un.i4", 1, MintOpNoArgs
)
486 OPDEF(MINT_REM_UN_I8
, "rem.un.i8", 1, MintOpNoArgs
)
488 OPDEF(MINT_SHR_UN_I4
, "shr.un.i4", 1, MintOpNoArgs
)
489 OPDEF(MINT_SHR_UN_I8
, "shr.un.i8", 1, MintOpNoArgs
)
490 OPDEF(MINT_SHL_I4
, "shl.i4", 1, MintOpNoArgs
)
491 OPDEF(MINT_SHL_I8
, "shl.i8", 1, MintOpNoArgs
)
492 OPDEF(MINT_SHR_I4
, "shr.i4", 1, MintOpNoArgs
)
493 OPDEF(MINT_SHR_I8
, "shr.i8", 1, MintOpNoArgs
)
495 OPDEF(MINT_CONV_R_UN_I4
, "conv.r.un.i4", 1, MintOpNoArgs
)
496 OPDEF(MINT_CONV_R_UN_I8
, "conv.r.un.i8", 1, MintOpNoArgs
)
498 OPDEF(MINT_CONV_I1_I4
, "conv.i1.i4", 1, MintOpNoArgs
)
499 OPDEF(MINT_CONV_I1_I8
, "conv.i1.i8", 1, MintOpNoArgs
)
500 OPDEF(MINT_CONV_I1_R4
, "conv.i1.r4", 1, MintOpNoArgs
)
501 OPDEF(MINT_CONV_I1_R8
, "conv.i1.r8", 1, MintOpNoArgs
)
503 OPDEF(MINT_CONV_U1_I4
, "conv.u1.i4", 1, MintOpNoArgs
)
504 OPDEF(MINT_CONV_U1_I8
, "conv.u1.i8", 1, MintOpNoArgs
)
505 OPDEF(MINT_CONV_U1_R4
, "conv.u1.r4", 1, MintOpNoArgs
)
506 OPDEF(MINT_CONV_U1_R8
, "conv.u1.r8", 1, MintOpNoArgs
)
508 OPDEF(MINT_CONV_I2_I4
, "conv.i2.i4", 1, MintOpNoArgs
)
509 OPDEF(MINT_CONV_I2_I8
, "conv.i2.i8", 1, MintOpNoArgs
)
510 OPDEF(MINT_CONV_I2_R4
, "conv.i2.r4", 1, MintOpNoArgs
)
511 OPDEF(MINT_CONV_I2_R8
, "conv.i2.r8", 1, MintOpNoArgs
)
513 OPDEF(MINT_CONV_U2_I4
, "conv.u2.i4", 1, MintOpNoArgs
)
514 OPDEF(MINT_CONV_U2_I8
, "conv.u2.i8", 1, MintOpNoArgs
)
515 OPDEF(MINT_CONV_U2_R4
, "conv.u2.r4", 1, MintOpNoArgs
)
516 OPDEF(MINT_CONV_U2_R8
, "conv.u2.r8", 1, MintOpNoArgs
)
518 OPDEF(MINT_CONV_I4_I8
, "conv.i4.i8", 1, MintOpNoArgs
)
519 OPDEF(MINT_CONV_I4_R4
, "conv.i4.r4", 1, MintOpNoArgs
)
520 OPDEF(MINT_CONV_I4_R8
, "conv.i4.r8", 1, MintOpNoArgs
)
522 OPDEF(MINT_CONV_U4_I8
, "conv.u4.i8", 1, MintOpNoArgs
)
523 OPDEF(MINT_CONV_U4_R4
, "conv.u4.r4", 1, MintOpNoArgs
)
524 OPDEF(MINT_CONV_U4_R8
, "conv.u4.r8", 1, MintOpNoArgs
)
526 OPDEF(MINT_CONV_I8_I4
, "conv.i8.i4", 1, MintOpNoArgs
)
527 OPDEF(MINT_CONV_I8_U4
, "conv.i8.u4", 1, MintOpNoArgs
)
528 OPDEF(MINT_CONV_I8_R4
, "conv.i8.r4", 1, MintOpNoArgs
)
529 OPDEF(MINT_CONV_I8_R8
, "conv.i8.r8", 1, MintOpNoArgs
)
531 OPDEF(MINT_CONV_R4_I4
, "conv.r4.i4", 1, MintOpNoArgs
)
532 OPDEF(MINT_CONV_R4_I8
, "conv.r4.i8", 1, MintOpNoArgs
)
533 OPDEF(MINT_CONV_R4_R8
, "conv.r4.r8", 1, MintOpNoArgs
)
535 OPDEF(MINT_CONV_R8_I4
, "conv.r8.i4", 1, MintOpNoArgs
)
536 OPDEF(MINT_CONV_R8_I8
, "conv.r8.i8", 1, MintOpNoArgs
)
537 OPDEF(MINT_CONV_R8_R4
, "conv.r8.r4", 1, MintOpNoArgs
)
539 OPDEF(MINT_CONV_I4_I8_SP
, "conv.i4.i8.sp", 1, MintOpNoArgs
) /* special for narrowing sp
[-2] on
64 bits
*/
540 OPDEF(MINT_CONV_I8_I4_SP
, "conv.i8.i4.sp", 1, MintOpNoArgs
) /* special for widening sp
[-2] on
64 bits
*/
541 OPDEF(MINT_CONV_R8_R4_SP
, "conv.r8.r4.sp", 1, MintOpNoArgs
)
543 OPDEF(MINT_CONV_U8_I4
, "conv.u8.i4", 1, MintOpNoArgs
)
544 OPDEF(MINT_CONV_U8_R4
, "conv.u8.r4", 1, MintOpNoArgs
)
545 OPDEF(MINT_CONV_U8_R8
, "conv.u8.r8", 1, MintOpNoArgs
)
547 OPDEF(MINT_CONV_OVF_I1_I4
, "conv.ovf.i1.i4", 1, MintOpNoArgs
)
548 OPDEF(MINT_CONV_OVF_I1_I8
, "conv.ovf.i1.i8", 1, MintOpNoArgs
)
549 OPDEF(MINT_CONV_OVF_I1_R8
, "conv.ovf.i1.r8", 1, MintOpNoArgs
)
551 OPDEF(MINT_CONV_OVF_I1_U4
, "conv.ovf.i1.u4", 1, MintOpNoArgs
)
552 OPDEF(MINT_CONV_OVF_I1_U8
, "conv.ovf.i1.u8", 1, MintOpNoArgs
)
553 OPDEF(MINT_CONV_OVF_I1_UN_R8
, "conv.ovf.i1.un.r8", 1, MintOpNoArgs
)
555 OPDEF(MINT_CONV_OVF_U1_I4
, "conv.ovf.u1.i4", 1, MintOpNoArgs
)
556 OPDEF(MINT_CONV_OVF_U1_I8
, "conv.ovf.u1.i8", 1, MintOpNoArgs
)
557 OPDEF(MINT_CONV_OVF_U1_R8
, "conv.ovf.u1.r8", 1, MintOpNoArgs
)
559 OPDEF(MINT_CONV_OVF_I2_I4
, "conv.ovf.i2.i4", 1, MintOpNoArgs
)
560 OPDEF(MINT_CONV_OVF_I2_I8
, "conv.ovf.i2.i8", 1, MintOpNoArgs
)
561 OPDEF(MINT_CONV_OVF_I2_R8
, "conv.ovf.i2.r8", 1, MintOpNoArgs
)
563 OPDEF(MINT_CONV_OVF_I2_U4
, "conv.ovf.i2.u4", 1, MintOpNoArgs
)
564 OPDEF(MINT_CONV_OVF_I2_U8
, "conv.ovf.i2.u8", 1, MintOpNoArgs
)
565 OPDEF(MINT_CONV_OVF_I2_UN_R8
, "conv.ovf.i2.un.r8", 1, MintOpNoArgs
)
567 OPDEF(MINT_CONV_OVF_U2_I4
, "conv.ovf.u2.i4", 1, MintOpNoArgs
)
568 OPDEF(MINT_CONV_OVF_U2_I8
, "conv.ovf.u2.i8", 1, MintOpNoArgs
)
569 OPDEF(MINT_CONV_OVF_U2_R8
, "conv.ovf.u2.r8", 1, MintOpNoArgs
)
571 OPDEF(MINT_CONV_OVF_I4_U4
, "conv.ovf.i4.u4", 1, MintOpNoArgs
)
572 OPDEF(MINT_CONV_OVF_I4_I8
, "conv.ovf.i4.i8", 1, MintOpNoArgs
)
573 OPDEF(MINT_CONV_OVF_I4_U8
, "conv.ovf.i4.u8", 1, MintOpNoArgs
)
574 OPDEF(MINT_CONV_OVF_I4_R4
, "conv.ovf.i4.r4", 1, MintOpNoArgs
)
575 OPDEF(MINT_CONV_OVF_I4_R8
, "conv.ovf.i4.r8", 1, MintOpNoArgs
)
577 OPDEF(MINT_CONV_OVF_I4_UN_I8
, "conv.ovf.i4.un.i8", 1, MintOpNoArgs
)
578 OPDEF(MINT_CONV_OVF_I4_UN_R8
, "conv.ovf.i4.un.r8", 1, MintOpNoArgs
)
580 OPDEF(MINT_CONV_OVF_U4_I4
, "conv.ovf.u4.i4", 1, MintOpNoArgs
)
581 OPDEF(MINT_CONV_OVF_U4_I8
, "conv.ovf.u4.i8", 1, MintOpNoArgs
)
582 OPDEF(MINT_CONV_OVF_U4_R4
, "conv.ovf.u4.r4", 1, MintOpNoArgs
)
583 OPDEF(MINT_CONV_OVF_U4_R8
, "conv.ovf.u4.r8", 1, MintOpNoArgs
)
585 OPDEF(MINT_CONV_OVF_I8_U8
, "conv.ovf.i8.u8", 1, MintOpNoArgs
)
586 OPDEF(MINT_CONV_OVF_I8_R4
, "conv.ovf.i8.r4", 1, MintOpNoArgs
)
587 OPDEF(MINT_CONV_OVF_I8_R8
, "conv.ovf.i8.r8", 1, MintOpNoArgs
)
589 OPDEF(MINT_CONV_OVF_I8_UN_R8
, "conv.ovf.i8.un.r8", 1, MintOpNoArgs
)
590 OPDEF(MINT_CONV_OVF_I8_UN_R4
, "conv.ovf.i8.un.r4", 1, MintOpNoArgs
)
592 OPDEF(MINT_CONV_OVF_U8_I4
, "conv.ovf.u8.i4", 1, MintOpNoArgs
)
593 OPDEF(MINT_CONV_OVF_U8_I8
, "conv.ovf.u8.i8", 1, MintOpNoArgs
)
594 OPDEF(MINT_CONV_OVF_U8_R4
, "conv.ovf.u8.r4", 1, MintOpNoArgs
)
595 OPDEF(MINT_CONV_OVF_U8_R8
, "conv.ovf.u8.r8", 1, MintOpNoArgs
)
597 OPDEF(MINT_CEQ_I4
, "ceq.i4", 1, MintOpNoArgs
)
598 OPDEF(MINT_CEQ_I8
, "ceq.i8", 1, MintOpNoArgs
)
599 OPDEF(MINT_CEQ_R4
, "ceq.r4", 1, MintOpNoArgs
)
600 OPDEF(MINT_CEQ_R8
, "ceq.r8", 1, MintOpNoArgs
)
602 OPDEF(MINT_CNE_I4
, "cne.i4", 1, MintOpNoArgs
)
603 OPDEF(MINT_CNE_I8
, "cne.i8", 1, MintOpNoArgs
)
604 OPDEF(MINT_CNE_R4
, "cne.r4", 1, MintOpNoArgs
)
605 OPDEF(MINT_CNE_R8
, "cne.r8", 1, MintOpNoArgs
)
607 OPDEF(MINT_CEQ0_I4
, "ceq0.i4", 1, MintOpNoArgs
)
609 OPDEF(MINT_CGT_I4
, "cgt.i4", 1, MintOpNoArgs
)
610 OPDEF(MINT_CGT_I8
, "cgt.i8", 1, MintOpNoArgs
)
611 OPDEF(MINT_CGT_R4
, "cgt.r4", 1, MintOpNoArgs
)
612 OPDEF(MINT_CGT_R8
, "cgt.r8", 1, MintOpNoArgs
)
614 OPDEF(MINT_CGE_I4
, "cge.i4", 1, MintOpNoArgs
)
615 OPDEF(MINT_CGE_I8
, "cge.i8", 1, MintOpNoArgs
)
616 OPDEF(MINT_CGE_R4
, "cge.r4", 1, MintOpNoArgs
)
617 OPDEF(MINT_CGE_R8
, "cge.r8", 1, MintOpNoArgs
)
619 OPDEF(MINT_CGE_UN_I4
, "cge.un.i4", 1, MintOpNoArgs
)
620 OPDEF(MINT_CGE_UN_I8
, "cge.un.i8", 1, MintOpNoArgs
)
622 OPDEF(MINT_CGT_UN_I4
, "cgt.un.i4", 1, MintOpNoArgs
)
623 OPDEF(MINT_CGT_UN_I8
, "cgt.un.i8", 1, MintOpNoArgs
)
624 OPDEF(MINT_CGT_UN_R4
, "cgt.un.r4", 1, MintOpNoArgs
)
625 OPDEF(MINT_CGT_UN_R8
, "cgt.un.r8", 1, MintOpNoArgs
)
627 OPDEF(MINT_CLT_I4
, "clt.i4", 1, MintOpNoArgs
)
628 OPDEF(MINT_CLT_I8
, "clt.i8", 1, MintOpNoArgs
)
629 OPDEF(MINT_CLT_R4
, "clt.r4", 1, MintOpNoArgs
)
630 OPDEF(MINT_CLT_R8
, "clt.r8", 1, MintOpNoArgs
)
632 OPDEF(MINT_CLE_I4
, "cle.i4", 1, MintOpNoArgs
)
633 OPDEF(MINT_CLE_I8
, "cle.i8", 1, MintOpNoArgs
)
634 OPDEF(MINT_CLE_R4
, "cle.r4", 1, MintOpNoArgs
)
635 OPDEF(MINT_CLE_R8
, "cle.r8", 1, MintOpNoArgs
)
637 OPDEF(MINT_CLE_UN_I4
, "cle.un.i4", 1, MintOpNoArgs
)
638 OPDEF(MINT_CLE_UN_I8
, "cle.un.i8", 1, MintOpNoArgs
)
640 OPDEF(MINT_CLT_UN_I4
, "clt.un.i4", 1, MintOpNoArgs
)
641 OPDEF(MINT_CLT_UN_I8
, "clt.un.i8", 1, MintOpNoArgs
)
642 OPDEF(MINT_CLT_UN_R4
, "clt.un.r4", 1, MintOpNoArgs
)
643 OPDEF(MINT_CLT_UN_R8
, "clt.un.r8", 1, MintOpNoArgs
)
645 OPDEF(MINT_CKFINITE
, "ckfinite", 1, MintOpNoArgs
)
646 OPDEF(MINT_MKREFANY
, "mkrefany", 2, MintOpClassToken
)
647 OPDEF(MINT_REFANYTYPE
, "refanytype", 1, MintOpNoArgs
)
648 OPDEF(MINT_REFANYVAL
, "refanyval", 2, MintOpNoArgs
)
650 OPDEF(MINT_CKNULL_N
, "cknull_n", 2, MintOpUShortInt
)
652 OPDEF(MINT_GETCHR
, "getchr", 1, MintOpNoArgs
)
653 OPDEF(MINT_STRLEN
, "strlen", 1, MintOpNoArgs
)
654 OPDEF(MINT_ARRAY_RANK
, "array_rank", 1, MintOpNoArgs
)
656 OPDEF(MINT_ICALL_V_V
, "mono_icall_v_v", 2, MintOpClassToken
) /* not really
*/
657 OPDEF(MINT_ICALL_V_P
, "mono_icall_v_p", 2, MintOpClassToken
)
658 OPDEF(MINT_ICALL_P_V
, "mono_icall_p_v", 2, MintOpClassToken
)
659 OPDEF(MINT_ICALL_P_P
, "mono_icall_p_p", 2, MintOpClassToken
)
660 OPDEF(MINT_ICALL_PP_V
, "mono_icall_pp_v", 2, MintOpClassToken
)
661 OPDEF(MINT_ICALL_PP_P
, "mono_icall_pp_p", 2, MintOpClassToken
)
662 OPDEF(MINT_ICALL_PPP_V
, "mono_icall_ppp_v", 2, MintOpClassToken
)
663 OPDEF(MINT_ICALL_PPP_P
, "mono_icall_ppp_p", 2, MintOpClassToken
)
664 OPDEF(MINT_ICALL_PPPP_V
, "mono_icall_pppp_v", 2, MintOpClassToken
)
665 OPDEF(MINT_ICALL_PPPP_P
, "mono_icall_pppp_p", 2, MintOpClassToken
)
666 OPDEF(MINT_ICALL_PPPPP_V
, "mono_icall_ppppp_v", 2, MintOpClassToken
)
667 OPDEF(MINT_ICALL_PPPPP_P
, "mono_icall_ppppp_p", 2, MintOpClassToken
)
668 OPDEF(MINT_ICALL_PPPPPP_V
, "mono_icall_pppppp_v", 2, MintOpClassToken
)
669 OPDEF(MINT_ICALL_PPPPPP_P
, "mono_icall_pppppp_p", 2, MintOpClassToken
)
670 OPDEF(MINT_MONO_LDPTR
, "mono_ldptr", 2, MintOpClassToken
)
671 OPDEF(MINT_MONO_SGEN_THREAD_INFO
, "mono_sgen_thread_info", 1, MintOpNoArgs
)
672 OPDEF(MINT_MONO_NEWOBJ
, "mono_newobj", 2, MintOpClassToken
)
673 OPDEF(MINT_MONO_RETOBJ
, "mono_retobj", 1, MintOpNoArgs
)
674 OPDEF(MINT_MONO_FREE
, "mono_free", 1, MintOpNoArgs
)
675 OPDEF(MINT_MONO_ATOMIC_STORE_I4
, "mono_atomic.store.i4", 1, MintOpNoArgs
)
676 OPDEF(MINT_MONO_MEMORY_BARRIER
, "mono_memory_barrier", 1, MintOpNoArgs
)
677 OPDEF(MINT_MONO_LDDOMAIN
, "mono_lddomain", 1, MintOpNoArgs
)
680 OPDEF(MINT_JIT_CALL
, "mono_jit_call", 2, MintOpNoArgs
)
681 OPDEF(MINT_SDB_INTR_LOC
, "sdb_intr_loc", 1, MintOpNoArgs
)
682 OPDEF(MINT_SDB_SEQ_POINT
, "sdb_seq_point", 1, MintOpNoArgs
)
683 OPDEF(MINT_SDB_BREAKPOINT
, "sdb_breakpoint", 1, MintOpNoArgs
)
684 OPDEF(MINT_LD_DELEGATE_METHOD_PTR
, "ld_delegate_method_ptr", 1, MintOpNoArgs
)
685 OPDEF(MINT_LD_DELEGATE_INVOKE_IMPL
, "ld_delegate_invoke_impl", 2, MintOpNoArgs
)
687 OPDEF(MINT_START_ABORT_PROT
, "start_abort_protected", 1, MintOpNoArgs
)
690 OPDEF(MINT_ABS
, "abs", 1, MintOpNoArgs
)
691 OPDEF(MINT_ASIN
, "asin", 1, MintOpNoArgs
)
692 OPDEF(MINT_ASINH
, "asinh", 1, MintOpNoArgs
)
693 OPDEF(MINT_ACOS
, "acos", 1, MintOpNoArgs
)
694 OPDEF(MINT_ACOSH
, "acosh", 1, MintOpNoArgs
)
695 OPDEF(MINT_ATAN
, "atan", 1, MintOpNoArgs
)
696 OPDEF(MINT_ATANH
, "atanh", 1, MintOpNoArgs
)
697 OPDEF(MINT_COS
, "cos", 1, MintOpNoArgs
)
698 OPDEF(MINT_CBRT
, "cbrt", 1, MintOpNoArgs
)
699 OPDEF(MINT_COSH
, "cosh", 1, MintOpNoArgs
)
700 OPDEF(MINT_SIN
, "sin", 1, MintOpNoArgs
)
701 OPDEF(MINT_SQRT
, "sqrt", 1, MintOpNoArgs
)
702 OPDEF(MINT_SINH
, "sinh", 1, MintOpNoArgs
)
703 OPDEF(MINT_TAN
, "tan", 1, MintOpNoArgs
)
704 OPDEF(MINT_TANH
, "tanh", 1, MintOpNoArgs
)
707 * This needs to be an opcode because we need to trigger the enter event after
708 * the STINARG
* opcodes have executed.
710 OPDEF(MINT_PROF_ENTER
, "prof_enter", 1, MintOpNoArgs
)
711 OPDEF(MINT_TRACE_ENTER
, "trace_enter", 1, MintOpNoArgs
)
712 OPDEF(MINT_TRACE_EXIT
, "trace_exit", 3, MintOpInt
)
714 OPDEF(MINT_INTRINS_ENUM_HASFLAG
, "intrins_enum_hasflag", 2, MintOpClassToken
)
715 OPDEF(MINT_INTRINS_GET_HASHCODE
, "intrins_get_hashcode", 1, MintOpNoArgs
)
716 OPDEF(MINT_INTRINS_GET_TYPE
, "intrins_get_type", 1, MintOpNoArgs
)
717 OPDEF(MINT_INTRINS_BYREFERENCE_CTOR
, "intrins_byreference_ctor", 2, MintOpClassToken
)
718 OPDEF(MINT_INTRINS_BYREFERENCE_GET_VALUE
, "intrins_byreference_get_value", 1, MintOpNoArgs
)
719 OPDEF(MINT_INTRINS_UNSAFE_ADD_BYTE_OFFSET
, "intrins_unsafe_add_byte_offset", 1, MintOpNoArgs
)
720 OPDEF(MINT_INTRINS_UNSAFE_BYTE_OFFSET
, "intrins_unsafe_byte_offset", 1, MintOpNoArgs
)
721 OPDEF(MINT_INTRINS_RUNTIMEHELPERS_OBJECT_HAS_COMPONENT_SIZE
, "intrins_runtimehelpers_object_has_component_size", 1, MintOpNoArgs
)