| 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 | ** Auto-generated file. Do NOT modify! ** |
| 8 | ** ** |
| 9 | ** smopcode.def - Opcodes used in the state machine in JIT. ** |
| 10 | ** ** |
| 11 | ** To generate this file, run "makeSmOpcodeDef.pl > smopcode.def" ** |
| 12 | ** ** |
| 13 | *******************************************************************************************/ |
| 14 | |
| 15 | // |
| 16 | // SM opcode name SM opcode string |
| 17 | // ------------------------------------------------------------------------------------------- |
| 18 | SMOPDEF(SM_NOSHOW, "noshow" ) // 0 |
| 19 | SMOPDEF(SM_LDARG_0, "ldarg.0" ) // 1 |
| 20 | SMOPDEF(SM_LDARG_1, "ldarg.1" ) // 2 |
| 21 | SMOPDEF(SM_LDARG_2, "ldarg.2" ) // 3 |
| 22 | SMOPDEF(SM_LDARG_3, "ldarg.3" ) // 4 |
| 23 | SMOPDEF(SM_LDLOC_0, "ldloc.0" ) // 5 |
| 24 | SMOPDEF(SM_LDLOC_1, "ldloc.1" ) // 6 |
| 25 | SMOPDEF(SM_LDLOC_2, "ldloc.2" ) // 7 |
| 26 | SMOPDEF(SM_LDLOC_3, "ldloc.3" ) // 8 |
| 27 | SMOPDEF(SM_STLOC_0, "stloc.0" ) // 9 |
| 28 | SMOPDEF(SM_STLOC_1, "stloc.1" ) // 10 |
| 29 | SMOPDEF(SM_STLOC_2, "stloc.2" ) // 11 |
| 30 | SMOPDEF(SM_STLOC_3, "stloc.3" ) // 12 |
| 31 | SMOPDEF(SM_LDARG_S, "ldarg.s" ) // 13 |
| 32 | SMOPDEF(SM_LDARGA_S, "ldarga.s" ) // 14 |
| 33 | SMOPDEF(SM_STARG_S, "starg.s" ) // 15 |
| 34 | SMOPDEF(SM_LDLOC_S, "ldloc.s" ) // 16 |
| 35 | SMOPDEF(SM_LDLOCA_S, "ldloca.s" ) // 17 |
| 36 | SMOPDEF(SM_STLOC_S, "stloc.s" ) // 18 |
| 37 | SMOPDEF(SM_LDNULL, "ldnull" ) // 19 |
| 38 | SMOPDEF(SM_LDC_I4_M1, "ldc.i4.m1" ) // 20 |
| 39 | SMOPDEF(SM_LDC_I4_0, "ldc.i4.0" ) // 21 |
| 40 | SMOPDEF(SM_LDC_I4_1, "ldc.i4.1" ) // 22 |
| 41 | SMOPDEF(SM_LDC_I4_2, "ldc.i4.2" ) // 23 |
| 42 | SMOPDEF(SM_LDC_I4_3, "ldc.i4.3" ) // 24 |
| 43 | SMOPDEF(SM_LDC_I4_4, "ldc.i4.4" ) // 25 |
| 44 | SMOPDEF(SM_LDC_I4_5, "ldc.i4.5" ) // 26 |
| 45 | SMOPDEF(SM_LDC_I4_6, "ldc.i4.6" ) // 27 |
| 46 | SMOPDEF(SM_LDC_I4_7, "ldc.i4.7" ) // 28 |
| 47 | SMOPDEF(SM_LDC_I4_8, "ldc.i4.8" ) // 29 |
| 48 | SMOPDEF(SM_LDC_I4_S, "ldc.i4.s" ) // 30 |
| 49 | SMOPDEF(SM_LDC_I4, "ldc.i4" ) // 31 |
| 50 | SMOPDEF(SM_LDC_I8, "ldc.i8" ) // 32 |
| 51 | SMOPDEF(SM_LDC_R4, "ldc.r4" ) // 33 |
| 52 | SMOPDEF(SM_LDC_R8, "ldc.r8" ) // 34 |
| 53 | SMOPDEF(SM_UNUSED, "unused" ) // 35 |
| 54 | SMOPDEF(SM_DUP, "dup" ) // 36 |
| 55 | SMOPDEF(SM_POP, "pop" ) // 37 |
| 56 | SMOPDEF(SM_CALL, "call" ) // 38 |
| 57 | SMOPDEF(SM_CALLI, "calli" ) // 39 |
| 58 | SMOPDEF(SM_RET, "ret" ) // 40 |
| 59 | SMOPDEF(SM_BR_S, "br.s" ) // 41 |
| 60 | SMOPDEF(SM_BRFALSE_S, "brfalse.s" ) // 42 |
| 61 | SMOPDEF(SM_BRTRUE_S, "brtrue.s" ) // 43 |
| 62 | SMOPDEF(SM_BEQ_S, "beq.s" ) // 44 |
| 63 | SMOPDEF(SM_BGE_S, "bge.s" ) // 45 |
| 64 | SMOPDEF(SM_BGT_S, "bgt.s" ) // 46 |
| 65 | SMOPDEF(SM_BLE_S, "ble.s" ) // 47 |
| 66 | SMOPDEF(SM_BLT_S, "blt.s" ) // 48 |
| 67 | SMOPDEF(SM_BNE_UN_S, "bne.un.s" ) // 49 |
| 68 | SMOPDEF(SM_BGE_UN_S, "bge.un.s" ) // 50 |
| 69 | SMOPDEF(SM_BGT_UN_S, "bgt.un.s" ) // 51 |
| 70 | SMOPDEF(SM_BLE_UN_S, "ble.un.s" ) // 52 |
| 71 | SMOPDEF(SM_BLT_UN_S, "blt.un.s" ) // 53 |
| 72 | SMOPDEF(SM_LONG_BRANCH, "long.branch" ) // 54 |
| 73 | SMOPDEF(SM_SWITCH, "switch" ) // 55 |
| 74 | SMOPDEF(SM_LDIND_I1, "ldind.i1" ) // 56 |
| 75 | SMOPDEF(SM_LDIND_U1, "ldind.u1" ) // 57 |
| 76 | SMOPDEF(SM_LDIND_I2, "ldind.i2" ) // 58 |
| 77 | SMOPDEF(SM_LDIND_U2, "ldind.u2" ) // 59 |
| 78 | SMOPDEF(SM_LDIND_I4, "ldind.i4" ) // 60 |
| 79 | SMOPDEF(SM_LDIND_U4, "ldind.u4" ) // 61 |
| 80 | SMOPDEF(SM_LDIND_I8, "ldind.i8" ) // 62 |
| 81 | SMOPDEF(SM_LDIND_I, "ldind.i" ) // 63 |
| 82 | SMOPDEF(SM_LDIND_R4, "ldind.r4" ) // 64 |
| 83 | SMOPDEF(SM_LDIND_R8, "ldind.r8" ) // 65 |
| 84 | SMOPDEF(SM_LDIND_REF, "ldind.ref" ) // 66 |
| 85 | SMOPDEF(SM_STIND_REF, "stind.ref" ) // 67 |
| 86 | SMOPDEF(SM_STIND_I1, "stind.i1" ) // 68 |
| 87 | SMOPDEF(SM_STIND_I2, "stind.i2" ) // 69 |
| 88 | SMOPDEF(SM_STIND_I4, "stind.i4" ) // 70 |
| 89 | SMOPDEF(SM_STIND_I8, "stind.i8" ) // 71 |
| 90 | SMOPDEF(SM_STIND_R4, "stind.r4" ) // 72 |
| 91 | SMOPDEF(SM_STIND_R8, "stind.r8" ) // 73 |
| 92 | SMOPDEF(SM_ADD, "add" ) // 74 |
| 93 | SMOPDEF(SM_SUB, "sub" ) // 75 |
| 94 | SMOPDEF(SM_MUL, "mul" ) // 76 |
| 95 | SMOPDEF(SM_DIV, "div" ) // 77 |
| 96 | SMOPDEF(SM_DIV_UN, "div.un" ) // 78 |
| 97 | SMOPDEF(SM_REM, "rem" ) // 79 |
| 98 | SMOPDEF(SM_REM_UN, "rem.un" ) // 80 |
| 99 | SMOPDEF(SM_AND, "and" ) // 81 |
| 100 | SMOPDEF(SM_OR, "or" ) // 82 |
| 101 | SMOPDEF(SM_XOR, "xor" ) // 83 |
| 102 | SMOPDEF(SM_SHL, "shl" ) // 84 |
| 103 | SMOPDEF(SM_SHR, "shr" ) // 85 |
| 104 | SMOPDEF(SM_SHR_UN, "shr.un" ) // 86 |
| 105 | SMOPDEF(SM_NEG, "neg" ) // 87 |
| 106 | SMOPDEF(SM_NOT, "not" ) // 88 |
| 107 | SMOPDEF(SM_CONV_I1, "conv.i1" ) // 89 |
| 108 | SMOPDEF(SM_CONV_I2, "conv.i2" ) // 90 |
| 109 | SMOPDEF(SM_CONV_I4, "conv.i4" ) // 91 |
| 110 | SMOPDEF(SM_CONV_I8, "conv.i8" ) // 92 |
| 111 | SMOPDEF(SM_CONV_R4, "conv.r4" ) // 93 |
| 112 | SMOPDEF(SM_CONV_R8, "conv.r8" ) // 94 |
| 113 | SMOPDEF(SM_CONV_U4, "conv.u4" ) // 95 |
| 114 | SMOPDEF(SM_CONV_U8, "conv.u8" ) // 96 |
| 115 | SMOPDEF(SM_CALLVIRT, "callvirt" ) // 97 |
| 116 | SMOPDEF(SM_CPOBJ, "cpobj" ) // 98 |
| 117 | SMOPDEF(SM_LDOBJ, "ldobj" ) // 99 |
| 118 | SMOPDEF(SM_LDSTR, "ldstr" ) // 100 |
| 119 | SMOPDEF(SM_NEWOBJ, "newobj" ) // 101 |
| 120 | SMOPDEF(SM_CASTCLASS, "castclass" ) // 102 |
| 121 | SMOPDEF(SM_ISINST, "isinst" ) // 103 |
| 122 | SMOPDEF(SM_CONV_R_UN, "conv.r.un" ) // 104 |
| 123 | SMOPDEF(SM_UNBOX, "unbox" ) // 105 |
| 124 | SMOPDEF(SM_THROW, "throw" ) // 106 |
| 125 | SMOPDEF(SM_LDFLD, "ldfld" ) // 107 |
| 126 | SMOPDEF(SM_LDFLDA, "ldflda" ) // 108 |
| 127 | SMOPDEF(SM_STFLD, "stfld" ) // 109 |
| 128 | SMOPDEF(SM_LDSFLD, "ldsfld" ) // 110 |
| 129 | SMOPDEF(SM_LDSFLDA, "ldsflda" ) // 111 |
| 130 | SMOPDEF(SM_STSFLD, "stsfld" ) // 112 |
| 131 | SMOPDEF(SM_STOBJ, "stobj" ) // 113 |
| 132 | SMOPDEF(SM_OVF_NOTYPE_UN, "ovf.notype.un" ) // 114 |
| 133 | SMOPDEF(SM_BOX, "box" ) // 115 |
| 134 | SMOPDEF(SM_NEWARR, "newarr" ) // 116 |
| 135 | SMOPDEF(SM_LDLEN, "ldlen" ) // 117 |
| 136 | SMOPDEF(SM_LDELEMA, "ldelema" ) // 118 |
| 137 | SMOPDEF(SM_LDELEM_I1, "ldelem.i1" ) // 119 |
| 138 | SMOPDEF(SM_LDELEM_U1, "ldelem.u1" ) // 120 |
| 139 | SMOPDEF(SM_LDELEM_I2, "ldelem.i2" ) // 121 |
| 140 | SMOPDEF(SM_LDELEM_U2, "ldelem.u2" ) // 122 |
| 141 | SMOPDEF(SM_LDELEM_I4, "ldelem.i4" ) // 123 |
| 142 | SMOPDEF(SM_LDELEM_U4, "ldelem.u4" ) // 124 |
| 143 | SMOPDEF(SM_LDELEM_I8, "ldelem.i8" ) // 125 |
| 144 | SMOPDEF(SM_LDELEM_I, "ldelem.i" ) // 126 |
| 145 | SMOPDEF(SM_LDELEM_R4, "ldelem.r4" ) // 127 |
| 146 | SMOPDEF(SM_LDELEM_R8, "ldelem.r8" ) // 128 |
| 147 | SMOPDEF(SM_LDELEM_REF, "ldelem.ref" ) // 129 |
| 148 | SMOPDEF(SM_STELEM_I, "stelem.i" ) // 130 |
| 149 | SMOPDEF(SM_STELEM_I1, "stelem.i1" ) // 131 |
| 150 | SMOPDEF(SM_STELEM_I2, "stelem.i2" ) // 132 |
| 151 | SMOPDEF(SM_STELEM_I4, "stelem.i4" ) // 133 |
| 152 | SMOPDEF(SM_STELEM_I8, "stelem.i8" ) // 134 |
| 153 | SMOPDEF(SM_STELEM_R4, "stelem.r4" ) // 135 |
| 154 | SMOPDEF(SM_STELEM_R8, "stelem.r8" ) // 136 |
| 155 | SMOPDEF(SM_STELEM_REF, "stelem.ref" ) // 137 |
| 156 | SMOPDEF(SM_LDELEM, "ldelem" ) // 138 |
| 157 | SMOPDEF(SM_STELEM, "stelem" ) // 139 |
| 158 | SMOPDEF(SM_UNBOX_ANY, "unbox.any" ) // 140 |
| 159 | SMOPDEF(SM_CONV_OVF_I1, "conv.ovf.i1" ) // 141 |
| 160 | SMOPDEF(SM_CONV_OVF_U1, "conv.ovf.u1" ) // 142 |
| 161 | SMOPDEF(SM_CONV_OVF_I2, "conv.ovf.i2" ) // 143 |
| 162 | SMOPDEF(SM_CONV_OVF_U2, "conv.ovf.u2" ) // 144 |
| 163 | SMOPDEF(SM_CONV_OVF_I4, "conv.ovf.i4" ) // 145 |
| 164 | SMOPDEF(SM_CONV_OVF_U4, "conv.ovf.u4" ) // 146 |
| 165 | SMOPDEF(SM_CONV_OVF_I8, "conv.ovf.i8" ) // 147 |
| 166 | SMOPDEF(SM_CONV_OVF_U8, "conv.ovf.u8" ) // 148 |
| 167 | SMOPDEF(SM_REFANYVAL, "refanyval" ) // 149 |
| 168 | SMOPDEF(SM_CKFINITE, "ckfinite" ) // 150 |
| 169 | SMOPDEF(SM_MKREFANY, "mkrefany" ) // 151 |
| 170 | SMOPDEF(SM_LDTOKEN, "ldtoken" ) // 152 |
| 171 | SMOPDEF(SM_CONV_U2, "conv.u2" ) // 153 |
| 172 | SMOPDEF(SM_CONV_U1, "conv.u1" ) // 154 |
| 173 | SMOPDEF(SM_CONV_I, "conv.i" ) // 155 |
| 174 | SMOPDEF(SM_CONV_OVF_I, "conv.ovf.i" ) // 156 |
| 175 | SMOPDEF(SM_CONV_OVF_U, "conv.ovf.u" ) // 157 |
| 176 | SMOPDEF(SM_ADD_OVF, "add.ovf" ) // 158 |
| 177 | SMOPDEF(SM_MUL_OVF, "mul.ovf" ) // 159 |
| 178 | SMOPDEF(SM_SUB_OVF, "sub.ovf" ) // 160 |
| 179 | SMOPDEF(SM_LEAVE_S, "leave.s" ) // 161 |
| 180 | SMOPDEF(SM_STIND_I, "stind.i" ) // 162 |
| 181 | SMOPDEF(SM_CONV_U, "conv.u" ) // 163 |
| 182 | SMOPDEF(SM_PREFIX_N, "prefix.n" ) // 164 |
| 183 | SMOPDEF(SM_ARGLIST, "arglist" ) // 165 |
| 184 | SMOPDEF(SM_CEQ, "ceq" ) // 166 |
| 185 | SMOPDEF(SM_CGT, "cgt" ) // 167 |
| 186 | SMOPDEF(SM_CGT_UN, "cgt.un" ) // 168 |
| 187 | SMOPDEF(SM_CLT, "clt" ) // 169 |
| 188 | SMOPDEF(SM_CLT_UN, "clt.un" ) // 170 |
| 189 | SMOPDEF(SM_LDFTN, "ldftn" ) // 171 |
| 190 | SMOPDEF(SM_LDVIRTFTN, "ldvirtftn" ) // 172 |
| 191 | SMOPDEF(SM_LONG_LOC_ARG, "long.loc.arg" ) // 173 |
| 192 | SMOPDEF(SM_LOCALLOC, "localloc" ) // 174 |
| 193 | SMOPDEF(SM_UNALIGNED, "unaligned" ) // 175 |
| 194 | SMOPDEF(SM_VOLATILE, "volatile" ) // 176 |
| 195 | SMOPDEF(SM_TAILCALL, "tailcall" ) // 177 |
| 196 | SMOPDEF(SM_INITOBJ, "initobj" ) // 178 |
| 197 | SMOPDEF(SM_CONSTRAINED, "constrained" ) // 179 |
| 198 | SMOPDEF(SM_CPBLK, "cpblk" ) // 180 |
| 199 | SMOPDEF(SM_INITBLK, "initblk" ) // 181 |
| 200 | SMOPDEF(SM_RETHROW, "rethrow" ) // 182 |
| 201 | SMOPDEF(SM_SIZEOF, "sizeof" ) // 183 |
| 202 | SMOPDEF(SM_REFANYTYPE, "refanytype" ) // 184 |
| 203 | SMOPDEF(SM_READONLY, "readonly" ) // 185 |
| 204 | SMOPDEF(SM_LDARGA_S_NORMED, "ldarga.s.normed" ) // 186 |
| 205 | SMOPDEF(SM_LDLOCA_S_NORMED, "ldloca.s.normed" ) // 187 |
| 206 | |