summaryrefslogtreecommitdiff
path: root/src/jit/smopcodemap.def
diff options
context:
space:
mode:
Diffstat (limited to 'src/jit/smopcodemap.def')
-rw-r--r--src/jit/smopcodemap.def323
1 files changed, 323 insertions, 0 deletions
diff --git a/src/jit/smopcodemap.def b/src/jit/smopcodemap.def
new file mode 100644
index 0000000000..7b2f71fe6f
--- /dev/null
+++ b/src/jit/smopcodemap.def
@@ -0,0 +1,323 @@
+// 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)
+