// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

/*******************************************************************************************
 **                                                                                       **
 ** OpcodeMap.def - Mapping between opcodes in EE to opcodes in the state machine in JIT. **
 **                                                                                       **
 *******************************************************************************************/

//                                                                            
//  EE opcode name                        EE opcode string    State machine opcode name
// -------------------------------------------------------------------------------------------------------------------------------------------------------
OPCODEMAP(CEE_NOP,                        "nop",              SM_NOSHOW)
OPCODEMAP(CEE_BREAK,                      "break",            SM_NOSHOW)
OPCODEMAP(CEE_LDARG_0,                    "ldarg.0",          SM_LDARG_0)
OPCODEMAP(CEE_LDARG_1,                    "ldarg.1",          SM_LDARG_1)
OPCODEMAP(CEE_LDARG_2,                    "ldarg.2",          SM_LDARG_2)
OPCODEMAP(CEE_LDARG_3,                    "ldarg.3",          SM_LDARG_3)
OPCODEMAP(CEE_LDLOC_0,                    "ldloc.0",          SM_LDLOC_0)
OPCODEMAP(CEE_LDLOC_1,                    "ldloc.1",          SM_LDLOC_1)
OPCODEMAP(CEE_LDLOC_2,                    "ldloc.2",          SM_LDLOC_2)
OPCODEMAP(CEE_LDLOC_3,                    "ldloc.3",          SM_LDLOC_3)
OPCODEMAP(CEE_STLOC_0,                    "stloc.0",          SM_STLOC_0)
OPCODEMAP(CEE_STLOC_1,                    "stloc.1",          SM_STLOC_1)
OPCODEMAP(CEE_STLOC_2,                    "stloc.2",          SM_STLOC_2)
OPCODEMAP(CEE_STLOC_3,                    "stloc.3",          SM_STLOC_3)
OPCODEMAP(CEE_LDARG_S,                    "ldarg.s",          SM_LDARG_S)
OPCODEMAP(CEE_LDARGA_S,                   "ldarga.s",         SM_LDARGA_S)
OPCODEMAP(CEE_STARG_S,                    "starg.s",          SM_STARG_S)
OPCODEMAP(CEE_LDLOC_S,                    "ldloc.s",          SM_LDLOC_S)
OPCODEMAP(CEE_LDLOCA_S,                   "ldloca.s",         SM_LDLOCA_S)
OPCODEMAP(CEE_STLOC_S,                    "stloc.s",          SM_STLOC_S)
OPCODEMAP(CEE_LDNULL,                     "ldnull",           SM_LDNULL)
OPCODEMAP(CEE_LDC_I4_M1,                  "ldc.i4.m1",        SM_LDC_I4_M1)
OPCODEMAP(CEE_LDC_I4_0,                   "ldc.i4.0",         SM_LDC_I4_0)
OPCODEMAP(CEE_LDC_I4_1,                   "ldc.i4.1",         SM_LDC_I4_1)
OPCODEMAP(CEE_LDC_I4_2,                   "ldc.i4.2",         SM_LDC_I4_2)
OPCODEMAP(CEE_LDC_I4_3,                   "ldc.i4.3",         SM_LDC_I4_3)
OPCODEMAP(CEE_LDC_I4_4,                   "ldc.i4.4",         SM_LDC_I4_4)
OPCODEMAP(CEE_LDC_I4_5,                   "ldc.i4.5",         SM_LDC_I4_5)
OPCODEMAP(CEE_LDC_I4_6,                   "ldc.i4.6",         SM_LDC_I4_6)
OPCODEMAP(CEE_LDC_I4_7,                   "ldc.i4.7",         SM_LDC_I4_7)
OPCODEMAP(CEE_LDC_I4_8,                   "ldc.i4.8",         SM_LDC_I4_8)
OPCODEMAP(CEE_LDC_I4_S,                   "ldc.i4.s",         SM_LDC_I4_S)
OPCODEMAP(CEE_LDC_I4,                     "ldc.i4",           SM_LDC_I4)
OPCODEMAP(CEE_LDC_I8,                     "ldc.i8",           SM_LDC_I8)
OPCODEMAP(CEE_LDC_R4,                     "ldc.r4",           SM_LDC_R4)
OPCODEMAP(CEE_LDC_R8,                     "ldc.r8",           SM_LDC_R8)
OPCODEMAP(CEE_UNUSED49,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_DUP,                        "dup",              SM_DUP)
OPCODEMAP(CEE_POP,                        "pop",              SM_POP)
OPCODEMAP(CEE_JMP,                        "jmp",              SM_NOSHOW)
OPCODEMAP(CEE_CALL,                       "call",             SM_CALL)
OPCODEMAP(CEE_CALLI,                      "calli",            SM_CALLI)
OPCODEMAP(CEE_RET,                        "ret",              SM_RET)
OPCODEMAP(CEE_BR_S,                       "br.s",             SM_BR_S)
OPCODEMAP(CEE_BRFALSE_S,                  "brfalse.s",        SM_BRFALSE_S)
OPCODEMAP(CEE_BRTRUE_S,                   "brtrue.s",         SM_BRTRUE_S)
OPCODEMAP(CEE_BEQ_S,                      "beq.s",            SM_BEQ_S)
OPCODEMAP(CEE_BGE_S,                      "bge.s",            SM_BGE_S)
OPCODEMAP(CEE_BGT_S,                      "bgt.s",            SM_BGT_S)
OPCODEMAP(CEE_BLE_S,                      "ble.s",            SM_BLE_S)
OPCODEMAP(CEE_BLT_S,                      "blt.s",            SM_BLT_S)
OPCODEMAP(CEE_BNE_UN_S,                   "bne.un.s",         SM_BNE_UN_S)
OPCODEMAP(CEE_BGE_UN_S,                   "bge.un.s",         SM_BGE_UN_S)
OPCODEMAP(CEE_BGT_UN_S,                   "bgt.un.s",         SM_BGT_UN_S)
OPCODEMAP(CEE_BLE_UN_S,                   "ble.un.s",         SM_BLE_UN_S)
OPCODEMAP(CEE_BLT_UN_S,                   "blt.un.s",         SM_BLT_UN_S)
OPCODEMAP(CEE_BR,                         "br",               SM_LONG_BRANCH)
OPCODEMAP(CEE_BRFALSE,                    "brfalse",          SM_LONG_BRANCH)
OPCODEMAP(CEE_BRTRUE,                     "brtrue",           SM_LONG_BRANCH)
OPCODEMAP(CEE_BEQ,                        "beq",              SM_LONG_BRANCH)
OPCODEMAP(CEE_BGE,                        "bge",              SM_LONG_BRANCH)
OPCODEMAP(CEE_BGT,                        "bgt",              SM_LONG_BRANCH)
OPCODEMAP(CEE_BLE,                        "ble",              SM_LONG_BRANCH)
OPCODEMAP(CEE_BLT,                        "blt",              SM_LONG_BRANCH)
OPCODEMAP(CEE_BNE_UN,                     "bne.un",           SM_LONG_BRANCH)
OPCODEMAP(CEE_BGE_UN,                     "bge.un",           SM_LONG_BRANCH)
OPCODEMAP(CEE_BGT_UN,                     "bgt.un",           SM_LONG_BRANCH)
OPCODEMAP(CEE_BLE_UN,                     "ble.un",           SM_LONG_BRANCH)
OPCODEMAP(CEE_BLT_UN,                     "blt.un",           SM_LONG_BRANCH)
OPCODEMAP(CEE_SWITCH,                     "switch",           SM_SWITCH)
OPCODEMAP(CEE_LDIND_I1,                   "ldind.i1",         SM_LDIND_I1)
OPCODEMAP(CEE_LDIND_U1,                   "ldind.u1",         SM_LDIND_U1)
OPCODEMAP(CEE_LDIND_I2,                   "ldind.i2",         SM_LDIND_I2)
OPCODEMAP(CEE_LDIND_U2,                   "ldind.u2",         SM_LDIND_U2)
OPCODEMAP(CEE_LDIND_I4,                   "ldind.i4",         SM_LDIND_I4)
OPCODEMAP(CEE_LDIND_U4,                   "ldind.u4",         SM_LDIND_U4)
OPCODEMAP(CEE_LDIND_I8,                   "ldind.i8",         SM_LDIND_I8)
OPCODEMAP(CEE_LDIND_I,                    "ldind.i",          SM_LDIND_I)
OPCODEMAP(CEE_LDIND_R4,                   "ldind.r4",         SM_LDIND_R4)
OPCODEMAP(CEE_LDIND_R8,                   "ldind.r8",         SM_LDIND_R8)
OPCODEMAP(CEE_LDIND_REF,                  "ldind.ref",        SM_LDIND_REF)
OPCODEMAP(CEE_STIND_REF,                  "stind.ref",        SM_STIND_REF)
OPCODEMAP(CEE_STIND_I1,                   "stind.i1",         SM_STIND_I1)
OPCODEMAP(CEE_STIND_I2,                   "stind.i2",         SM_STIND_I2)
OPCODEMAP(CEE_STIND_I4,                   "stind.i4",         SM_STIND_I4)
OPCODEMAP(CEE_STIND_I8,                   "stind.i8",         SM_STIND_I8)
OPCODEMAP(CEE_STIND_R4,                   "stind.r4",         SM_STIND_R4)
OPCODEMAP(CEE_STIND_R8,                   "stind.r8",         SM_STIND_R8)
OPCODEMAP(CEE_ADD,                        "add",              SM_ADD)
OPCODEMAP(CEE_SUB,                        "sub",              SM_SUB)
OPCODEMAP(CEE_MUL,                        "mul",              SM_MUL)
OPCODEMAP(CEE_DIV,                        "div",              SM_DIV)
OPCODEMAP(CEE_DIV_UN,                     "div.un",           SM_DIV_UN)
OPCODEMAP(CEE_REM,                        "rem",              SM_REM)
OPCODEMAP(CEE_REM_UN,                     "rem.un",           SM_REM_UN)
OPCODEMAP(CEE_AND,                        "and",              SM_AND)
OPCODEMAP(CEE_OR,                         "or",               SM_OR)
OPCODEMAP(CEE_XOR,                        "xor",              SM_XOR)
OPCODEMAP(CEE_SHL,                        "shl",              SM_SHL)
OPCODEMAP(CEE_SHR,                        "shr",              SM_SHR)
OPCODEMAP(CEE_SHR_UN,                     "shr.un",           SM_SHR_UN)
OPCODEMAP(CEE_NEG,                        "neg",              SM_NEG)
OPCODEMAP(CEE_NOT,                        "not",              SM_NOT)
OPCODEMAP(CEE_CONV_I1,                    "conv.i1",          SM_CONV_I1)
OPCODEMAP(CEE_CONV_I2,                    "conv.i2",          SM_CONV_I2)
OPCODEMAP(CEE_CONV_I4,                    "conv.i4",          SM_CONV_I4)
OPCODEMAP(CEE_CONV_I8,                    "conv.i8",          SM_CONV_I8)
OPCODEMAP(CEE_CONV_R4,                    "conv.r4",          SM_CONV_R4)
OPCODEMAP(CEE_CONV_R8,                    "conv.r8",          SM_CONV_R8)
OPCODEMAP(CEE_CONV_U4,                    "conv.u4",          SM_CONV_U4)
OPCODEMAP(CEE_CONV_U8,                    "conv.u8",          SM_CONV_U8)
OPCODEMAP(CEE_CALLVIRT,                   "callvirt",         SM_CALLVIRT)
OPCODEMAP(CEE_CPOBJ,                      "cpobj",            SM_CPOBJ)
OPCODEMAP(CEE_LDOBJ,                      "ldobj",            SM_LDOBJ)
OPCODEMAP(CEE_LDSTR,                      "ldstr",            SM_LDSTR)
OPCODEMAP(CEE_NEWOBJ,                     "newobj",           SM_NEWOBJ)
OPCODEMAP(CEE_CASTCLASS,                  "castclass",        SM_CASTCLASS)
OPCODEMAP(CEE_ISINST,                     "isinst",           SM_ISINST)
OPCODEMAP(CEE_CONV_R_UN,                  "conv.r.un",        SM_CONV_R_UN)
OPCODEMAP(CEE_UNUSED58,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED1,                    "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNBOX,                      "unbox",            SM_UNBOX)
OPCODEMAP(CEE_THROW,                      "throw",            SM_THROW)
OPCODEMAP(CEE_LDFLD,                      "ldfld",            SM_LDFLD)
OPCODEMAP(CEE_LDFLDA,                     "ldflda",           SM_LDFLDA)
OPCODEMAP(CEE_STFLD,                      "stfld",            SM_STFLD)
OPCODEMAP(CEE_LDSFLD,                     "ldsfld",           SM_LDSFLD)
OPCODEMAP(CEE_LDSFLDA,                    "ldsflda",          SM_LDSFLDA)
OPCODEMAP(CEE_STSFLD,                     "stsfld",           SM_STSFLD)
OPCODEMAP(CEE_STOBJ,                      "stobj",            SM_STOBJ)
OPCODEMAP(CEE_CONV_OVF_I1_UN,             "conv.ovf.i1.un",   SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_CONV_OVF_I2_UN,             "conv.ovf.i2.un",   SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_CONV_OVF_I4_UN,             "conv.ovf.i4.un",   SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_CONV_OVF_I8_UN,             "conv.ovf.i8.un",   SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_CONV_OVF_U1_UN,             "conv.ovf.u1.un",   SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_CONV_OVF_U2_UN,             "conv.ovf.u2.un",   SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_CONV_OVF_U4_UN,             "conv.ovf.u4.un",   SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_CONV_OVF_U8_UN,             "conv.ovf.u8.un",   SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_CONV_OVF_I_UN,              "conv.ovf.i.un",    SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_CONV_OVF_U_UN,              "conv.ovf.u.un",    SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_BOX,                        "box",              SM_BOX)
OPCODEMAP(CEE_NEWARR,                     "newarr",           SM_NEWARR)
OPCODEMAP(CEE_LDLEN,                      "ldlen",            SM_LDLEN)
OPCODEMAP(CEE_LDELEMA,                    "ldelema",          SM_LDELEMA)
OPCODEMAP(CEE_LDELEM_I1,                  "ldelem.i1",        SM_LDELEM_I1)
OPCODEMAP(CEE_LDELEM_U1,                  "ldelem.u1",        SM_LDELEM_U1)
OPCODEMAP(CEE_LDELEM_I2,                  "ldelem.i2",        SM_LDELEM_I2)
OPCODEMAP(CEE_LDELEM_U2,                  "ldelem.u2",        SM_LDELEM_U2)
OPCODEMAP(CEE_LDELEM_I4,                  "ldelem.i4",        SM_LDELEM_I4)
OPCODEMAP(CEE_LDELEM_U4,                  "ldelem.u4",        SM_LDELEM_U4)
OPCODEMAP(CEE_LDELEM_I8,                  "ldelem.i8",        SM_LDELEM_I8)
OPCODEMAP(CEE_LDELEM_I,                   "ldelem.i",         SM_LDELEM_I)
OPCODEMAP(CEE_LDELEM_R4,                  "ldelem.r4",        SM_LDELEM_R4)
OPCODEMAP(CEE_LDELEM_R8,                  "ldelem.r8",        SM_LDELEM_R8)
OPCODEMAP(CEE_LDELEM_REF,                 "ldelem.ref",       SM_LDELEM_REF)
OPCODEMAP(CEE_STELEM_I,                   "stelem.i",         SM_STELEM_I)
OPCODEMAP(CEE_STELEM_I1,                  "stelem.i1",        SM_STELEM_I1)
OPCODEMAP(CEE_STELEM_I2,                  "stelem.i2",        SM_STELEM_I2)
OPCODEMAP(CEE_STELEM_I4,                  "stelem.i4",        SM_STELEM_I4)
OPCODEMAP(CEE_STELEM_I8,                  "stelem.i8",        SM_STELEM_I8)
OPCODEMAP(CEE_STELEM_R4,                  "stelem.r4",        SM_STELEM_R4)
OPCODEMAP(CEE_STELEM_R8,                  "stelem.r8",        SM_STELEM_R8)
OPCODEMAP(CEE_STELEM_REF,                 "stelem.ref",       SM_STELEM_REF)
OPCODEMAP(CEE_LDELEM,                     "ldelem",           SM_LDELEM)
OPCODEMAP(CEE_STELEM,                     "stelem",           SM_STELEM)
OPCODEMAP(CEE_UNBOX_ANY,                  "unbox.any",        SM_UNBOX_ANY)
OPCODEMAP(CEE_UNUSED5,                    "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED6,                    "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED7,                    "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED8,                    "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED9,                    "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED10,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED11,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED12,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED13,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED14,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED15,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED16,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED17,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_CONV_OVF_I1,                "conv.ovf.i1",      SM_CONV_OVF_I1)
OPCODEMAP(CEE_CONV_OVF_U1,                "conv.ovf.u1",      SM_CONV_OVF_U1)
OPCODEMAP(CEE_CONV_OVF_I2,                "conv.ovf.i2",      SM_CONV_OVF_I2)
OPCODEMAP(CEE_CONV_OVF_U2,                "conv.ovf.u2",      SM_CONV_OVF_U2)
OPCODEMAP(CEE_CONV_OVF_I4,                "conv.ovf.i4",      SM_CONV_OVF_I4)
OPCODEMAP(CEE_CONV_OVF_U4,                "conv.ovf.u4",      SM_CONV_OVF_U4)
OPCODEMAP(CEE_CONV_OVF_I8,                "conv.ovf.i8",      SM_CONV_OVF_I8)
OPCODEMAP(CEE_CONV_OVF_U8,                "conv.ovf.u8",      SM_CONV_OVF_U8)
OPCODEMAP(CEE_UNUSED50,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED18,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED19,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED20,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED21,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED22,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED23,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_REFANYVAL,                  "refanyval",        SM_REFANYVAL)
OPCODEMAP(CEE_CKFINITE,                   "ckfinite",         SM_CKFINITE)
OPCODEMAP(CEE_UNUSED24,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED25,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_MKREFANY,                   "mkrefany",         SM_MKREFANY)
OPCODEMAP(CEE_UNUSED59,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED60,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED61,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED62,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED63,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED64,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED65,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED66,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED67,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_LDTOKEN,                    "ldtoken",          SM_LDTOKEN)
OPCODEMAP(CEE_CONV_U2,                    "conv.u2",          SM_CONV_U2)
OPCODEMAP(CEE_CONV_U1,                    "conv.u1",          SM_CONV_U1)
OPCODEMAP(CEE_CONV_I,                     "conv.i",           SM_CONV_I)
OPCODEMAP(CEE_CONV_OVF_I,                 "conv.ovf.i",       SM_CONV_OVF_I)
OPCODEMAP(CEE_CONV_OVF_U,                 "conv.ovf.u",       SM_CONV_OVF_U)
OPCODEMAP(CEE_ADD_OVF,                    "add.ovf",          SM_ADD_OVF)
OPCODEMAP(CEE_ADD_OVF_UN,                 "add.ovf.un",       SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_MUL_OVF,                    "mul.ovf",          SM_MUL_OVF)
OPCODEMAP(CEE_MUL_OVF_UN,                 "mul.ovf.un",       SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_SUB_OVF,                    "sub.ovf",          SM_SUB_OVF)
OPCODEMAP(CEE_SUB_OVF_UN,                 "sub.ovf.un",       SM_OVF_NOTYPE_UN)
OPCODEMAP(CEE_ENDFINALLY,                 "endfinally",       SM_NOSHOW)
OPCODEMAP(CEE_LEAVE,                      "leave",            SM_NOSHOW)
OPCODEMAP(CEE_LEAVE_S,                    "leave.s",          SM_LEAVE_S)
OPCODEMAP(CEE_STIND_I,                    "stind.i",          SM_STIND_I)
OPCODEMAP(CEE_CONV_U,                     "conv.u",           SM_CONV_U)
OPCODEMAP(CEE_UNUSED26,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED27,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED28,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED29,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED30,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED31,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED32,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED33,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED34,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED35,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED36,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED37,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED38,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED39,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED40,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED41,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED42,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED43,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED44,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED45,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED46,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED47,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED48,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_PREFIX7,                    "prefix7",          SM_PREFIX_N)
OPCODEMAP(CEE_PREFIX6,                    "prefix6",          SM_PREFIX_N)
OPCODEMAP(CEE_PREFIX5,                    "prefix5",          SM_PREFIX_N)
OPCODEMAP(CEE_PREFIX4,                    "prefix4",          SM_PREFIX_N)
OPCODEMAP(CEE_PREFIX3,                    "prefix3",          SM_PREFIX_N)
OPCODEMAP(CEE_PREFIX2,                    "prefix2",          SM_PREFIX_N)
OPCODEMAP(CEE_PREFIX1,                    "prefix1",          SM_PREFIX_N)
OPCODEMAP(CEE_PREFIXREF,                  "prefixref",        SM_PREFIX_N)

OPCODEMAP(CEE_ARGLIST,                    "arglist",          SM_ARGLIST)
OPCODEMAP(CEE_CEQ,                        "ceq",              SM_CEQ)
OPCODEMAP(CEE_CGT,                        "cgt",              SM_CGT)
OPCODEMAP(CEE_CGT_UN,                     "cgt.un",           SM_CGT_UN)
OPCODEMAP(CEE_CLT,                        "clt",              SM_CLT)
OPCODEMAP(CEE_CLT_UN,                     "clt.un",           SM_CLT_UN)
OPCODEMAP(CEE_LDFTN,                      "ldftn",            SM_LDFTN)
OPCODEMAP(CEE_LDVIRTFTN,                  "ldvirtftn",        SM_LDVIRTFTN)
OPCODEMAP(CEE_UNUSED56,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_LDARG,                      "ldarg",            SM_LONG_LOC_ARG)
OPCODEMAP(CEE_LDARGA,                     "ldarga",           SM_LONG_LOC_ARG)
OPCODEMAP(CEE_STARG,                      "starg",            SM_LONG_LOC_ARG)
OPCODEMAP(CEE_LDLOC,                      "ldloc",            SM_LONG_LOC_ARG)
OPCODEMAP(CEE_LDLOCA,                     "ldloca",           SM_LONG_LOC_ARG)
OPCODEMAP(CEE_STLOC,                      "stloc",            SM_LONG_LOC_ARG)
OPCODEMAP(CEE_LOCALLOC,                   "localloc",         SM_LOCALLOC)
OPCODEMAP(CEE_UNUSED57,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_ENDFILTER,                  "endfilter",        SM_NOSHOW)
OPCODEMAP(CEE_UNALIGNED,                  "unaligned.",       SM_UNALIGNED)
OPCODEMAP(CEE_VOLATILE,                   "volatile.",        SM_VOLATILE)
OPCODEMAP(CEE_TAILCALL,                   "tail.",            SM_TAILCALL)
OPCODEMAP(CEE_INITOBJ,                    "initobj",          SM_INITOBJ)
OPCODEMAP(CEE_CONSTRAINED,                "constrained.",     SM_CONSTRAINED)
OPCODEMAP(CEE_CPBLK,                      "cpblk",            SM_CPBLK)
OPCODEMAP(CEE_INITBLK,                    "initblk",          SM_INITBLK)
OPCODEMAP(CEE_UNUSED69,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_RETHROW,                    "rethrow",          SM_RETHROW)
OPCODEMAP(CEE_UNUSED51,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_SIZEOF,                     "sizeof",           SM_SIZEOF)
OPCODEMAP(CEE_REFANYTYPE,                 "refanytype",       SM_REFANYTYPE)
OPCODEMAP(CEE_READONLY,                   "readonly.",        SM_READONLY)
OPCODEMAP(CEE_UNUSED53,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED54,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED55,                   "unused",           SM_UNUSED)
OPCODEMAP(CEE_UNUSED70,                   "unused",           SM_UNUSED)

// These are not real opcodes, but they are handy internally in the EE

OPCODEMAP(CEE_ILLEGAL,                    "illegal",          SM_UNUSED)
OPCODEMAP(CEE_MACRO_END,                  "endmac",           SM_UNUSED)
OPCODEMAP(CEE_CODE_LABEL,                 "codelabel",        SM_UNUSED)

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// 
// New opcodes added just for the state machine.
// 
// Do NOT uncomment or delete the following lines. 
// They are there for makeSmOpcodeDef.pl to automatically generate smopcode.def
// that contains these new SM_ opcodes.
//
// OPCODEMAP(CEE_DUMMY,                   "ldarga.s(normed)", SM_LDARGA_S_NORMED)
// OPCODEMAP(CEE_DUMMY,                   "ldloca.s(normed)", SM_LDLOCA_S_NORMED)

