| 1 | // Licensed to the .NET Foundation under one or more agreements. |
| 2 | // The .NET Foundation licenses this file to you under the MIT license. |
| 3 | // See the LICENSE file in the project root for more information. |
| 4 | |
| 5 | /******************************************************************************************* |
| 6 | ** ** |
| 7 | ** OpcodeMap.def - Mapping between opcodes in EE to opcodes in the state machine in JIT. ** |
| 8 | ** ** |
| 9 | *******************************************************************************************/ |
| 10 | |
| 11 | // |
| 12 | // EE opcode name EE opcode string State machine opcode name |
| 13 | // ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 14 | OPCODEMAP(CEE_NOP, "nop" , SM_NOSHOW) |
| 15 | OPCODEMAP(CEE_BREAK, "break" , SM_NOSHOW) |
| 16 | OPCODEMAP(CEE_LDARG_0, "ldarg.0" , SM_LDARG_0) |
| 17 | OPCODEMAP(CEE_LDARG_1, "ldarg.1" , SM_LDARG_1) |
| 18 | OPCODEMAP(CEE_LDARG_2, "ldarg.2" , SM_LDARG_2) |
| 19 | OPCODEMAP(CEE_LDARG_3, "ldarg.3" , SM_LDARG_3) |
| 20 | OPCODEMAP(CEE_LDLOC_0, "ldloc.0" , SM_LDLOC_0) |
| 21 | OPCODEMAP(CEE_LDLOC_1, "ldloc.1" , SM_LDLOC_1) |
| 22 | OPCODEMAP(CEE_LDLOC_2, "ldloc.2" , SM_LDLOC_2) |
| 23 | OPCODEMAP(CEE_LDLOC_3, "ldloc.3" , SM_LDLOC_3) |
| 24 | OPCODEMAP(CEE_STLOC_0, "stloc.0" , SM_STLOC_0) |
| 25 | OPCODEMAP(CEE_STLOC_1, "stloc.1" , SM_STLOC_1) |
| 26 | OPCODEMAP(CEE_STLOC_2, "stloc.2" , SM_STLOC_2) |
| 27 | OPCODEMAP(CEE_STLOC_3, "stloc.3" , SM_STLOC_3) |
| 28 | OPCODEMAP(CEE_LDARG_S, "ldarg.s" , SM_LDARG_S) |
| 29 | OPCODEMAP(CEE_LDARGA_S, "ldarga.s" , SM_LDARGA_S) |
| 30 | OPCODEMAP(CEE_STARG_S, "starg.s" , SM_STARG_S) |
| 31 | OPCODEMAP(CEE_LDLOC_S, "ldloc.s" , SM_LDLOC_S) |
| 32 | OPCODEMAP(CEE_LDLOCA_S, "ldloca.s" , SM_LDLOCA_S) |
| 33 | OPCODEMAP(CEE_STLOC_S, "stloc.s" , SM_STLOC_S) |
| 34 | OPCODEMAP(CEE_LDNULL, "ldnull" , SM_LDNULL) |
| 35 | OPCODEMAP(CEE_LDC_I4_M1, "ldc.i4.m1" , SM_LDC_I4_M1) |
| 36 | OPCODEMAP(CEE_LDC_I4_0, "ldc.i4.0" , SM_LDC_I4_0) |
| 37 | OPCODEMAP(CEE_LDC_I4_1, "ldc.i4.1" , SM_LDC_I4_1) |
| 38 | OPCODEMAP(CEE_LDC_I4_2, "ldc.i4.2" , SM_LDC_I4_2) |
| 39 | OPCODEMAP(CEE_LDC_I4_3, "ldc.i4.3" , SM_LDC_I4_3) |
| 40 | OPCODEMAP(CEE_LDC_I4_4, "ldc.i4.4" , SM_LDC_I4_4) |
| 41 | OPCODEMAP(CEE_LDC_I4_5, "ldc.i4.5" , SM_LDC_I4_5) |
| 42 | OPCODEMAP(CEE_LDC_I4_6, "ldc.i4.6" , SM_LDC_I4_6) |
| 43 | OPCODEMAP(CEE_LDC_I4_7, "ldc.i4.7" , SM_LDC_I4_7) |
| 44 | OPCODEMAP(CEE_LDC_I4_8, "ldc.i4.8" , SM_LDC_I4_8) |
| 45 | OPCODEMAP(CEE_LDC_I4_S, "ldc.i4.s" , SM_LDC_I4_S) |
| 46 | OPCODEMAP(CEE_LDC_I4, "ldc.i4" , SM_LDC_I4) |
| 47 | OPCODEMAP(CEE_LDC_I8, "ldc.i8" , SM_LDC_I8) |
| 48 | OPCODEMAP(CEE_LDC_R4, "ldc.r4" , SM_LDC_R4) |
| 49 | OPCODEMAP(CEE_LDC_R8, "ldc.r8" , SM_LDC_R8) |
| 50 | OPCODEMAP(CEE_UNUSED49, "unused" , SM_UNUSED) |
| 51 | OPCODEMAP(CEE_DUP, "dup" , SM_DUP) |
| 52 | OPCODEMAP(CEE_POP, "pop" , SM_POP) |
| 53 | OPCODEMAP(CEE_JMP, "jmp" , SM_NOSHOW) |
| 54 | OPCODEMAP(CEE_CALL, "call" , SM_CALL) |
| 55 | OPCODEMAP(CEE_CALLI, "calli" , SM_CALLI) |
| 56 | OPCODEMAP(CEE_RET, "ret" , SM_RET) |
| 57 | OPCODEMAP(CEE_BR_S, "br.s" , SM_BR_S) |
| 58 | OPCODEMAP(CEE_BRFALSE_S, "brfalse.s" , SM_BRFALSE_S) |
| 59 | OPCODEMAP(CEE_BRTRUE_S, "brtrue.s" , SM_BRTRUE_S) |
| 60 | OPCODEMAP(CEE_BEQ_S, "beq.s" , SM_BEQ_S) |
| 61 | OPCODEMAP(CEE_BGE_S, "bge.s" , SM_BGE_S) |
| 62 | OPCODEMAP(CEE_BGT_S, "bgt.s" , SM_BGT_S) |
| 63 | OPCODEMAP(CEE_BLE_S, "ble.s" , SM_BLE_S) |
| 64 | OPCODEMAP(CEE_BLT_S, "blt.s" , SM_BLT_S) |
| 65 | OPCODEMAP(CEE_BNE_UN_S, "bne.un.s" , SM_BNE_UN_S) |
| 66 | OPCODEMAP(CEE_BGE_UN_S, "bge.un.s" , SM_BGE_UN_S) |
| 67 | OPCODEMAP(CEE_BGT_UN_S, "bgt.un.s" , SM_BGT_UN_S) |
| 68 | OPCODEMAP(CEE_BLE_UN_S, "ble.un.s" , SM_BLE_UN_S) |
| 69 | OPCODEMAP(CEE_BLT_UN_S, "blt.un.s" , SM_BLT_UN_S) |
| 70 | OPCODEMAP(CEE_BR, "br" , SM_LONG_BRANCH) |
| 71 | OPCODEMAP(CEE_BRFALSE, "brfalse" , SM_LONG_BRANCH) |
| 72 | OPCODEMAP(CEE_BRTRUE, "brtrue" , SM_LONG_BRANCH) |
| 73 | OPCODEMAP(CEE_BEQ, "beq" , SM_LONG_BRANCH) |
| 74 | OPCODEMAP(CEE_BGE, "bge" , SM_LONG_BRANCH) |
| 75 | OPCODEMAP(CEE_BGT, "bgt" , SM_LONG_BRANCH) |
| 76 | OPCODEMAP(CEE_BLE, "ble" , SM_LONG_BRANCH) |
| 77 | OPCODEMAP(CEE_BLT, "blt" , SM_LONG_BRANCH) |
| 78 | OPCODEMAP(CEE_BNE_UN, "bne.un" , SM_LONG_BRANCH) |
| 79 | OPCODEMAP(CEE_BGE_UN, "bge.un" , SM_LONG_BRANCH) |
| 80 | OPCODEMAP(CEE_BGT_UN, "bgt.un" , SM_LONG_BRANCH) |
| 81 | OPCODEMAP(CEE_BLE_UN, "ble.un" , SM_LONG_BRANCH) |
| 82 | OPCODEMAP(CEE_BLT_UN, "blt.un" , SM_LONG_BRANCH) |
| 83 | OPCODEMAP(CEE_SWITCH, "switch" , SM_SWITCH) |
| 84 | OPCODEMAP(CEE_LDIND_I1, "ldind.i1" , SM_LDIND_I1) |
| 85 | OPCODEMAP(CEE_LDIND_U1, "ldind.u1" , SM_LDIND_U1) |
| 86 | OPCODEMAP(CEE_LDIND_I2, "ldind.i2" , SM_LDIND_I2) |
| 87 | OPCODEMAP(CEE_LDIND_U2, "ldind.u2" , SM_LDIND_U2) |
| 88 | OPCODEMAP(CEE_LDIND_I4, "ldind.i4" , SM_LDIND_I4) |
| 89 | OPCODEMAP(CEE_LDIND_U4, "ldind.u4" , SM_LDIND_U4) |
| 90 | OPCODEMAP(CEE_LDIND_I8, "ldind.i8" , SM_LDIND_I8) |
| 91 | OPCODEMAP(CEE_LDIND_I, "ldind.i" , SM_LDIND_I) |
| 92 | OPCODEMAP(CEE_LDIND_R4, "ldind.r4" , SM_LDIND_R4) |
| 93 | OPCODEMAP(CEE_LDIND_R8, "ldind.r8" , SM_LDIND_R8) |
| 94 | OPCODEMAP(CEE_LDIND_REF, "ldind.ref" , SM_LDIND_REF) |
| 95 | OPCODEMAP(CEE_STIND_REF, "stind.ref" , SM_STIND_REF) |
| 96 | OPCODEMAP(CEE_STIND_I1, "stind.i1" , SM_STIND_I1) |
| 97 | OPCODEMAP(CEE_STIND_I2, "stind.i2" , SM_STIND_I2) |
| 98 | OPCODEMAP(CEE_STIND_I4, "stind.i4" , SM_STIND_I4) |
| 99 | OPCODEMAP(CEE_STIND_I8, "stind.i8" , SM_STIND_I8) |
| 100 | OPCODEMAP(CEE_STIND_R4, "stind.r4" , SM_STIND_R4) |
| 101 | OPCODEMAP(CEE_STIND_R8, "stind.r8" , SM_STIND_R8) |
| 102 | OPCODEMAP(CEE_ADD, "add" , SM_ADD) |
| 103 | OPCODEMAP(CEE_SUB, "sub" , SM_SUB) |
| 104 | OPCODEMAP(CEE_MUL, "mul" , SM_MUL) |
| 105 | OPCODEMAP(CEE_DIV, "div" , SM_DIV) |
| 106 | OPCODEMAP(CEE_DIV_UN, "div.un" , SM_DIV_UN) |
| 107 | OPCODEMAP(CEE_REM, "rem" , SM_REM) |
| 108 | OPCODEMAP(CEE_REM_UN, "rem.un" , SM_REM_UN) |
| 109 | OPCODEMAP(CEE_AND, "and" , SM_AND) |
| 110 | OPCODEMAP(CEE_OR, "or" , SM_OR) |
| 111 | OPCODEMAP(CEE_XOR, "xor" , SM_XOR) |
| 112 | OPCODEMAP(CEE_SHL, "shl" , SM_SHL) |
| 113 | OPCODEMAP(CEE_SHR, "shr" , SM_SHR) |
| 114 | OPCODEMAP(CEE_SHR_UN, "shr.un" , SM_SHR_UN) |
| 115 | OPCODEMAP(CEE_NEG, "neg" , SM_NEG) |
| 116 | OPCODEMAP(CEE_NOT, "not" , SM_NOT) |
| 117 | OPCODEMAP(CEE_CONV_I1, "conv.i1" , SM_CONV_I1) |
| 118 | OPCODEMAP(CEE_CONV_I2, "conv.i2" , SM_CONV_I2) |
| 119 | OPCODEMAP(CEE_CONV_I4, "conv.i4" , SM_CONV_I4) |
| 120 | OPCODEMAP(CEE_CONV_I8, "conv.i8" , SM_CONV_I8) |
| 121 | OPCODEMAP(CEE_CONV_R4, "conv.r4" , SM_CONV_R4) |
| 122 | OPCODEMAP(CEE_CONV_R8, "conv.r8" , SM_CONV_R8) |
| 123 | OPCODEMAP(CEE_CONV_U4, "conv.u4" , SM_CONV_U4) |
| 124 | OPCODEMAP(CEE_CONV_U8, "conv.u8" , SM_CONV_U8) |
| 125 | OPCODEMAP(CEE_CALLVIRT, "callvirt" , SM_CALLVIRT) |
| 126 | OPCODEMAP(CEE_CPOBJ, "cpobj" , SM_CPOBJ) |
| 127 | OPCODEMAP(CEE_LDOBJ, "ldobj" , SM_LDOBJ) |
| 128 | OPCODEMAP(CEE_LDSTR, "ldstr" , SM_LDSTR) |
| 129 | OPCODEMAP(CEE_NEWOBJ, "newobj" , SM_NEWOBJ) |
| 130 | OPCODEMAP(CEE_CASTCLASS, "castclass" , SM_CASTCLASS) |
| 131 | OPCODEMAP(CEE_ISINST, "isinst" , SM_ISINST) |
| 132 | OPCODEMAP(CEE_CONV_R_UN, "conv.r.un" , SM_CONV_R_UN) |
| 133 | OPCODEMAP(CEE_UNUSED58, "unused" , SM_UNUSED) |
| 134 | OPCODEMAP(CEE_UNUSED1, "unused" , SM_UNUSED) |
| 135 | OPCODEMAP(CEE_UNBOX, "unbox" , SM_UNBOX) |
| 136 | OPCODEMAP(CEE_THROW, "throw" , SM_THROW) |
| 137 | OPCODEMAP(CEE_LDFLD, "ldfld" , SM_LDFLD) |
| 138 | OPCODEMAP(CEE_LDFLDA, "ldflda" , SM_LDFLDA) |
| 139 | OPCODEMAP(CEE_STFLD, "stfld" , SM_STFLD) |
| 140 | OPCODEMAP(CEE_LDSFLD, "ldsfld" , SM_LDSFLD) |
| 141 | OPCODEMAP(CEE_LDSFLDA, "ldsflda" , SM_LDSFLDA) |
| 142 | OPCODEMAP(CEE_STSFLD, "stsfld" , SM_STSFLD) |
| 143 | OPCODEMAP(CEE_STOBJ, "stobj" , SM_STOBJ) |
| 144 | OPCODEMAP(CEE_CONV_OVF_I1_UN, "conv.ovf.i1.un" , SM_OVF_NOTYPE_UN) |
| 145 | OPCODEMAP(CEE_CONV_OVF_I2_UN, "conv.ovf.i2.un" , SM_OVF_NOTYPE_UN) |
| 146 | OPCODEMAP(CEE_CONV_OVF_I4_UN, "conv.ovf.i4.un" , SM_OVF_NOTYPE_UN) |
| 147 | OPCODEMAP(CEE_CONV_OVF_I8_UN, "conv.ovf.i8.un" , SM_OVF_NOTYPE_UN) |
| 148 | OPCODEMAP(CEE_CONV_OVF_U1_UN, "conv.ovf.u1.un" , SM_OVF_NOTYPE_UN) |
| 149 | OPCODEMAP(CEE_CONV_OVF_U2_UN, "conv.ovf.u2.un" , SM_OVF_NOTYPE_UN) |
| 150 | OPCODEMAP(CEE_CONV_OVF_U4_UN, "conv.ovf.u4.un" , SM_OVF_NOTYPE_UN) |
| 151 | OPCODEMAP(CEE_CONV_OVF_U8_UN, "conv.ovf.u8.un" , SM_OVF_NOTYPE_UN) |
| 152 | OPCODEMAP(CEE_CONV_OVF_I_UN, "conv.ovf.i.un" , SM_OVF_NOTYPE_UN) |
| 153 | OPCODEMAP(CEE_CONV_OVF_U_UN, "conv.ovf.u.un" , SM_OVF_NOTYPE_UN) |
| 154 | OPCODEMAP(CEE_BOX, "box" , SM_BOX) |
| 155 | OPCODEMAP(CEE_NEWARR, "newarr" , SM_NEWARR) |
| 156 | OPCODEMAP(CEE_LDLEN, "ldlen" , SM_LDLEN) |
| 157 | OPCODEMAP(CEE_LDELEMA, "ldelema" , SM_LDELEMA) |
| 158 | OPCODEMAP(CEE_LDELEM_I1, "ldelem.i1" , SM_LDELEM_I1) |
| 159 | OPCODEMAP(CEE_LDELEM_U1, "ldelem.u1" , SM_LDELEM_U1) |
| 160 | OPCODEMAP(CEE_LDELEM_I2, "ldelem.i2" , SM_LDELEM_I2) |
| 161 | OPCODEMAP(CEE_LDELEM_U2, "ldelem.u2" , SM_LDELEM_U2) |
| 162 | OPCODEMAP(CEE_LDELEM_I4, "ldelem.i4" , SM_LDELEM_I4) |
| 163 | OPCODEMAP(CEE_LDELEM_U4, "ldelem.u4" , SM_LDELEM_U4) |
| 164 | OPCODEMAP(CEE_LDELEM_I8, "ldelem.i8" , SM_LDELEM_I8) |
| 165 | OPCODEMAP(CEE_LDELEM_I, "ldelem.i" , SM_LDELEM_I) |
| 166 | OPCODEMAP(CEE_LDELEM_R4, "ldelem.r4" , SM_LDELEM_R4) |
| 167 | OPCODEMAP(CEE_LDELEM_R8, "ldelem.r8" , SM_LDELEM_R8) |
| 168 | OPCODEMAP(CEE_LDELEM_REF, "ldelem.ref" , SM_LDELEM_REF) |
| 169 | OPCODEMAP(CEE_STELEM_I, "stelem.i" , SM_STELEM_I) |
| 170 | OPCODEMAP(CEE_STELEM_I1, "stelem.i1" , SM_STELEM_I1) |
| 171 | OPCODEMAP(CEE_STELEM_I2, "stelem.i2" , SM_STELEM_I2) |
| 172 | OPCODEMAP(CEE_STELEM_I4, "stelem.i4" , SM_STELEM_I4) |
| 173 | OPCODEMAP(CEE_STELEM_I8, "stelem.i8" , SM_STELEM_I8) |
| 174 | OPCODEMAP(CEE_STELEM_R4, "stelem.r4" , SM_STELEM_R4) |
| 175 | OPCODEMAP(CEE_STELEM_R8, "stelem.r8" , SM_STELEM_R8) |
| 176 | OPCODEMAP(CEE_STELEM_REF, "stelem.ref" , SM_STELEM_REF) |
| 177 | OPCODEMAP(CEE_LDELEM, "ldelem" , SM_LDELEM) |
| 178 | OPCODEMAP(CEE_STELEM, "stelem" , SM_STELEM) |
| 179 | OPCODEMAP(CEE_UNBOX_ANY, "unbox.any" , SM_UNBOX_ANY) |
| 180 | OPCODEMAP(CEE_UNUSED5, "unused" , SM_UNUSED) |
| 181 | OPCODEMAP(CEE_UNUSED6, "unused" , SM_UNUSED) |
| 182 | OPCODEMAP(CEE_UNUSED7, "unused" , SM_UNUSED) |
| 183 | OPCODEMAP(CEE_UNUSED8, "unused" , SM_UNUSED) |
| 184 | OPCODEMAP(CEE_UNUSED9, "unused" , SM_UNUSED) |
| 185 | OPCODEMAP(CEE_UNUSED10, "unused" , SM_UNUSED) |
| 186 | OPCODEMAP(CEE_UNUSED11, "unused" , SM_UNUSED) |
| 187 | OPCODEMAP(CEE_UNUSED12, "unused" , SM_UNUSED) |
| 188 | OPCODEMAP(CEE_UNUSED13, "unused" , SM_UNUSED) |
| 189 | OPCODEMAP(CEE_UNUSED14, "unused" , SM_UNUSED) |
| 190 | OPCODEMAP(CEE_UNUSED15, "unused" , SM_UNUSED) |
| 191 | OPCODEMAP(CEE_UNUSED16, "unused" , SM_UNUSED) |
| 192 | OPCODEMAP(CEE_UNUSED17, "unused" , SM_UNUSED) |
| 193 | OPCODEMAP(CEE_CONV_OVF_I1, "conv.ovf.i1" , SM_CONV_OVF_I1) |
| 194 | OPCODEMAP(CEE_CONV_OVF_U1, "conv.ovf.u1" , SM_CONV_OVF_U1) |
| 195 | OPCODEMAP(CEE_CONV_OVF_I2, "conv.ovf.i2" , SM_CONV_OVF_I2) |
| 196 | OPCODEMAP(CEE_CONV_OVF_U2, "conv.ovf.u2" , SM_CONV_OVF_U2) |
| 197 | OPCODEMAP(CEE_CONV_OVF_I4, "conv.ovf.i4" , SM_CONV_OVF_I4) |
| 198 | OPCODEMAP(CEE_CONV_OVF_U4, "conv.ovf.u4" , SM_CONV_OVF_U4) |
| 199 | OPCODEMAP(CEE_CONV_OVF_I8, "conv.ovf.i8" , SM_CONV_OVF_I8) |
| 200 | OPCODEMAP(CEE_CONV_OVF_U8, "conv.ovf.u8" , SM_CONV_OVF_U8) |
| 201 | OPCODEMAP(CEE_UNUSED50, "unused" , SM_UNUSED) |
| 202 | OPCODEMAP(CEE_UNUSED18, "unused" , SM_UNUSED) |
| 203 | OPCODEMAP(CEE_UNUSED19, "unused" , SM_UNUSED) |
| 204 | OPCODEMAP(CEE_UNUSED20, "unused" , SM_UNUSED) |
| 205 | OPCODEMAP(CEE_UNUSED21, "unused" , SM_UNUSED) |
| 206 | OPCODEMAP(CEE_UNUSED22, "unused" , SM_UNUSED) |
| 207 | OPCODEMAP(CEE_UNUSED23, "unused" , SM_UNUSED) |
| 208 | OPCODEMAP(CEE_REFANYVAL, "refanyval" , SM_REFANYVAL) |
| 209 | OPCODEMAP(CEE_CKFINITE, "ckfinite" , SM_CKFINITE) |
| 210 | OPCODEMAP(CEE_UNUSED24, "unused" , SM_UNUSED) |
| 211 | OPCODEMAP(CEE_UNUSED25, "unused" , SM_UNUSED) |
| 212 | OPCODEMAP(CEE_MKREFANY, "mkrefany" , SM_MKREFANY) |
| 213 | OPCODEMAP(CEE_UNUSED59, "unused" , SM_UNUSED) |
| 214 | OPCODEMAP(CEE_UNUSED60, "unused" , SM_UNUSED) |
| 215 | OPCODEMAP(CEE_UNUSED61, "unused" , SM_UNUSED) |
| 216 | OPCODEMAP(CEE_UNUSED62, "unused" , SM_UNUSED) |
| 217 | OPCODEMAP(CEE_UNUSED63, "unused" , SM_UNUSED) |
| 218 | OPCODEMAP(CEE_UNUSED64, "unused" , SM_UNUSED) |
| 219 | OPCODEMAP(CEE_UNUSED65, "unused" , SM_UNUSED) |
| 220 | OPCODEMAP(CEE_UNUSED66, "unused" , SM_UNUSED) |
| 221 | OPCODEMAP(CEE_UNUSED67, "unused" , SM_UNUSED) |
| 222 | OPCODEMAP(CEE_LDTOKEN, "ldtoken" , SM_LDTOKEN) |
| 223 | OPCODEMAP(CEE_CONV_U2, "conv.u2" , SM_CONV_U2) |
| 224 | OPCODEMAP(CEE_CONV_U1, "conv.u1" , SM_CONV_U1) |
| 225 | OPCODEMAP(CEE_CONV_I, "conv.i" , SM_CONV_I) |
| 226 | OPCODEMAP(CEE_CONV_OVF_I, "conv.ovf.i" , SM_CONV_OVF_I) |
| 227 | OPCODEMAP(CEE_CONV_OVF_U, "conv.ovf.u" , SM_CONV_OVF_U) |
| 228 | OPCODEMAP(CEE_ADD_OVF, "add.ovf" , SM_ADD_OVF) |
| 229 | OPCODEMAP(CEE_ADD_OVF_UN, "add.ovf.un" , SM_OVF_NOTYPE_UN) |
| 230 | OPCODEMAP(CEE_MUL_OVF, "mul.ovf" , SM_MUL_OVF) |
| 231 | OPCODEMAP(CEE_MUL_OVF_UN, "mul.ovf.un" , SM_OVF_NOTYPE_UN) |
| 232 | OPCODEMAP(CEE_SUB_OVF, "sub.ovf" , SM_SUB_OVF) |
| 233 | OPCODEMAP(CEE_SUB_OVF_UN, "sub.ovf.un" , SM_OVF_NOTYPE_UN) |
| 234 | OPCODEMAP(CEE_ENDFINALLY, "endfinally" , SM_NOSHOW) |
| 235 | OPCODEMAP(CEE_LEAVE, "leave" , SM_NOSHOW) |
| 236 | OPCODEMAP(CEE_LEAVE_S, "leave.s" , SM_LEAVE_S) |
| 237 | OPCODEMAP(CEE_STIND_I, "stind.i" , SM_STIND_I) |
| 238 | OPCODEMAP(CEE_CONV_U, "conv.u" , SM_CONV_U) |
| 239 | OPCODEMAP(CEE_UNUSED26, "unused" , SM_UNUSED) |
| 240 | OPCODEMAP(CEE_UNUSED27, "unused" , SM_UNUSED) |
| 241 | OPCODEMAP(CEE_UNUSED28, "unused" , SM_UNUSED) |
| 242 | OPCODEMAP(CEE_UNUSED29, "unused" , SM_UNUSED) |
| 243 | OPCODEMAP(CEE_UNUSED30, "unused" , SM_UNUSED) |
| 244 | OPCODEMAP(CEE_UNUSED31, "unused" , SM_UNUSED) |
| 245 | OPCODEMAP(CEE_UNUSED32, "unused" , SM_UNUSED) |
| 246 | OPCODEMAP(CEE_UNUSED33, "unused" , SM_UNUSED) |
| 247 | OPCODEMAP(CEE_UNUSED34, "unused" , SM_UNUSED) |
| 248 | OPCODEMAP(CEE_UNUSED35, "unused" , SM_UNUSED) |
| 249 | OPCODEMAP(CEE_UNUSED36, "unused" , SM_UNUSED) |
| 250 | OPCODEMAP(CEE_UNUSED37, "unused" , SM_UNUSED) |
| 251 | OPCODEMAP(CEE_UNUSED38, "unused" , SM_UNUSED) |
| 252 | OPCODEMAP(CEE_UNUSED39, "unused" , SM_UNUSED) |
| 253 | OPCODEMAP(CEE_UNUSED40, "unused" , SM_UNUSED) |
| 254 | OPCODEMAP(CEE_UNUSED41, "unused" , SM_UNUSED) |
| 255 | OPCODEMAP(CEE_UNUSED42, "unused" , SM_UNUSED) |
| 256 | OPCODEMAP(CEE_UNUSED43, "unused" , SM_UNUSED) |
| 257 | OPCODEMAP(CEE_UNUSED44, "unused" , SM_UNUSED) |
| 258 | OPCODEMAP(CEE_UNUSED45, "unused" , SM_UNUSED) |
| 259 | OPCODEMAP(CEE_UNUSED46, "unused" , SM_UNUSED) |
| 260 | OPCODEMAP(CEE_UNUSED47, "unused" , SM_UNUSED) |
| 261 | OPCODEMAP(CEE_UNUSED48, "unused" , SM_UNUSED) |
| 262 | OPCODEMAP(CEE_PREFIX7, "prefix7" , SM_PREFIX_N) |
| 263 | OPCODEMAP(CEE_PREFIX6, "prefix6" , SM_PREFIX_N) |
| 264 | OPCODEMAP(CEE_PREFIX5, "prefix5" , SM_PREFIX_N) |
| 265 | OPCODEMAP(CEE_PREFIX4, "prefix4" , SM_PREFIX_N) |
| 266 | OPCODEMAP(CEE_PREFIX3, "prefix3" , SM_PREFIX_N) |
| 267 | OPCODEMAP(CEE_PREFIX2, "prefix2" , SM_PREFIX_N) |
| 268 | OPCODEMAP(CEE_PREFIX1, "prefix1" , SM_PREFIX_N) |
| 269 | OPCODEMAP(CEE_PREFIXREF, "prefixref" , SM_PREFIX_N) |
| 270 | |
| 271 | OPCODEMAP(CEE_ARGLIST, "arglist" , SM_ARGLIST) |
| 272 | OPCODEMAP(CEE_CEQ, "ceq" , SM_CEQ) |
| 273 | OPCODEMAP(CEE_CGT, "cgt" , SM_CGT) |
| 274 | OPCODEMAP(CEE_CGT_UN, "cgt.un" , SM_CGT_UN) |
| 275 | OPCODEMAP(CEE_CLT, "clt" , SM_CLT) |
| 276 | OPCODEMAP(CEE_CLT_UN, "clt.un" , SM_CLT_UN) |
| 277 | OPCODEMAP(CEE_LDFTN, "ldftn" , SM_LDFTN) |
| 278 | OPCODEMAP(CEE_LDVIRTFTN, "ldvirtftn" , SM_LDVIRTFTN) |
| 279 | OPCODEMAP(CEE_UNUSED56, "unused" , SM_UNUSED) |
| 280 | OPCODEMAP(CEE_LDARG, "ldarg" , SM_LONG_LOC_ARG) |
| 281 | OPCODEMAP(CEE_LDARGA, "ldarga" , SM_LONG_LOC_ARG) |
| 282 | OPCODEMAP(CEE_STARG, "starg" , SM_LONG_LOC_ARG) |
| 283 | OPCODEMAP(CEE_LDLOC, "ldloc" , SM_LONG_LOC_ARG) |
| 284 | OPCODEMAP(CEE_LDLOCA, "ldloca" , SM_LONG_LOC_ARG) |
| 285 | OPCODEMAP(CEE_STLOC, "stloc" , SM_LONG_LOC_ARG) |
| 286 | OPCODEMAP(CEE_LOCALLOC, "localloc" , SM_LOCALLOC) |
| 287 | OPCODEMAP(CEE_UNUSED57, "unused" , SM_UNUSED) |
| 288 | OPCODEMAP(CEE_ENDFILTER, "endfilter" , SM_NOSHOW) |
| 289 | OPCODEMAP(CEE_UNALIGNED, "unaligned." , SM_UNALIGNED) |
| 290 | OPCODEMAP(CEE_VOLATILE, "volatile." , SM_VOLATILE) |
| 291 | OPCODEMAP(CEE_TAILCALL, "tail." , SM_TAILCALL) |
| 292 | OPCODEMAP(CEE_INITOBJ, "initobj" , SM_INITOBJ) |
| 293 | OPCODEMAP(CEE_CONSTRAINED, "constrained." , SM_CONSTRAINED) |
| 294 | OPCODEMAP(CEE_CPBLK, "cpblk" , SM_CPBLK) |
| 295 | OPCODEMAP(CEE_INITBLK, "initblk" , SM_INITBLK) |
| 296 | OPCODEMAP(CEE_UNUSED69, "unused" , SM_UNUSED) |
| 297 | OPCODEMAP(CEE_RETHROW, "rethrow" , SM_RETHROW) |
| 298 | OPCODEMAP(CEE_UNUSED51, "unused" , SM_UNUSED) |
| 299 | OPCODEMAP(CEE_SIZEOF, "sizeof" , SM_SIZEOF) |
| 300 | OPCODEMAP(CEE_REFANYTYPE, "refanytype" , SM_REFANYTYPE) |
| 301 | OPCODEMAP(CEE_READONLY, "readonly." , SM_READONLY) |
| 302 | OPCODEMAP(CEE_UNUSED53, "unused" , SM_UNUSED) |
| 303 | OPCODEMAP(CEE_UNUSED54, "unused" , SM_UNUSED) |
| 304 | OPCODEMAP(CEE_UNUSED55, "unused" , SM_UNUSED) |
| 305 | OPCODEMAP(CEE_UNUSED70, "unused" , SM_UNUSED) |
| 306 | |
| 307 | // These are not real opcodes, but they are handy internally in the EE |
| 308 | |
| 309 | OPCODEMAP(CEE_ILLEGAL, "illegal" , SM_UNUSED) |
| 310 | OPCODEMAP(CEE_MACRO_END, "endmac" , SM_UNUSED) |
| 311 | OPCODEMAP(CEE_CODE_LABEL, "codelabel" , SM_UNUSED) |
| 312 | |
| 313 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| 314 | // |
| 315 | // New opcodes added just for the state machine. |
| 316 | // |
| 317 | // Do NOT uncomment or delete the following lines. |
| 318 | // They are there for makeSmOpcodeDef.pl to automatically generate smopcode.def |
| 319 | // that contains these new SM_ opcodes. |
| 320 | // |
| 321 | // OPCODEMAP(CEE_DUMMY, "ldarga.s(normed)", SM_LDARGA_S_NORMED) |
| 322 | // OPCODEMAP(CEE_DUMMY, "ldloca.s(normed)", SM_LDLOCA_S_NORMED) |
| 323 | |
| 324 | |