//===-------------- OpcodeNames.def - Name of opcodes ---------------------===// // // N3 // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef OPCODE_NAMES_DEF #define OPCODE_NAMES_DEF const char* n3::CLIJit::OpcodeNames[0xE1] = { "nop", // 0x00 "break", // 0x01 "ldarg.0", // 0x02 "ldarg.1", // 0x03 "ldarg.2", // 0x04 "ldarg.3", // 0x05 "ldloc.0", // 0x06 "ldloc.1", // 0x07 "ldloc.2", // 0x08 "ldloc.3", // 0x09 "stloc.0", // 0x0A "stloc.1", // 0x0B "stloc.2", // 0x0C "stloc.3", // 0x0D "ldarg.s", // 0x0E "ldarga.s", // 0x0F "starg.s", // 0x10 "ldloc.s", // 0x11 "ldloca.s", // 0x12 "stloc.s", // 0x13 "ldnull", // 0x14 "ldc.i4.m1", // 0x15 "ldc.i4.0", // 0x16 "ldc.i4.1", // 0x17 "ldc.i4.2", // 0x18 "ldc.i4.3", // 0x19 "ldc.i4.4", // 0x1A "ldc.i4.5", // 0x1B "ldc.i4.6", // 0x1C "ldc.i4.7", // 0x1D "ldc.i4.8", // 0x1E "ldc.i4.s", // 0x1F "ldc.i4", // 0x20 "ldc.i8", // 0x21 "ldc.r4", // 0x22 "ldc.r8", // 0x23 "unused99", // 0x24 "dup", // 0x25 "pop", // 0x26 "jmp", // 0x27 "call", // 0x28 "calli", // 0x29 "ret", // 0x2A "br.s", // 0x2B "brfalse.s", // 0x2C "brtrue.s", // 0x2D "beq.s", // 0x2E "bge.s", // 0x2F "bgt.s", // 0x30 "ble.s", // 0x31 "blt.s", // 0x32 "bne.un.s", // 0x33 "bge.un.s", // 0x34 "bgt.un.s", // 0x35 "ble.un.s", // 0x36 "blt.un.s", // 0x37 "br", // 0x38 "brfalse", // 0x39 "brtrue", // 0x3A "beq", // 0x3B "bge", // 0x3C "bgt", // 0x3D "ble", // 0x3E "blt", // 0x3F "bne.un", // 0x40 "bge.un", // 0x41 "bgt.un", // 0x42 "ble.un", // 0x43 "blt.un", // 0x44 "switch", // 0x45 "ldind.i1", // 0x46 "ldind.u1", // 0x47 "ldind.i2", // 0x48 "ldind.u2", // 0x49 "ldind.i4", // 0x4A "ldind.u4", // 0x4B "ldind.i8", // 0x4C "ldind.i", // 0x4D "ldind.r4", // 0x4E "ldind.r8", // 0x4F "ldind.ref", // 0x50 "stind.ref", // 0x51 "stind.i1", // 0x52 "stind.i2", // 0x53 "stind.i4", // 0x54 "stind.i8", // 0x55 "stind.r4", // 0x56 "stind.r8", // 0x57 "add", // 0x58 "sub", // 0x59 "mul", // 0x5A "div", // 0x5B "div.un", // 0x5C "rem", // 0x5D "rem.un", // 0x5E "and", // 0x5F "or", // 0x60 "xor", // 0x61 "shl", // 0x62 "shr", // 0x63 "shr.un", // 0x64 "neg", // 0x65 "not", // 0x66 "conv.i1", // 0x67 "conv.i2", // 0x68 "conv.i4", // 0x69 "conv.i8", // 0x6A "conv.r4", // 0x6B "conv.r8", // 0x6C "conv.u4", // 0x6D "conv.u8", // 0x6E "callvirt", // 0x6F "cpobj", // 0x70 "ldobj", // 0x71 "ldstr", // 0x72 "newobj", // 0x73 "castclass", // 0x74 "isinst", // 0x75 "conv.r.un", // 0x76 "unused58", // 0x77 "unused1", // 0x78 "unbox", // 0x79 "throw", // 0x7A "ldfld", // 0x7B "ldflda", // 0x7C "stfld", // 0x7D "ldsfld", // 0x7E "ldsflda", // 0x7F "stsfld", // 0x80 "stobj", // 0x81 "conv.ovf.i1.un", // 0x82 "conv.ovf.i2.un", // 0x83 "conv.ovf.i4.un", // 0x84 "conv.ovf.i8.un", // 0x85 "conv.ovf.u1.un", // 0x86 "conv.ovf.u2.un", // 0x87 "conv.ovf.u4.un", // 0x88 "conv.ovf.u8.un", // 0x89 "conv.ovf.i.un", // 0x8A "conv.ovf.u.un", // 0x8B "box", // 0x8C "newarr", // 0x8D "ldlen", // 0x8E "ldelema", // 0x8F "ldelem.i1", // 0x90 "ldelem.u1", // 0x91 "ldelem.i2", // 0x92 "ldelem.u2", // 0x93 "ldelem.i4", // 0x94 "ldelem.u4", // 0x95 "ldelem.i8", // 0x96 "ldelem.i", // 0x97 "ldelem.r4", // 0x98 "ldelem.r8", // 0x99 "ldelem.ref", // 0x9A "stelem.i", // 0x9B "stelem.i1", // 0x9C "stelem.i2", // 0x9D "stelem.i4", // 0x9E "stelem.i8", // 0x9F "stelem.r4", // 0xA0 "stelem.r8", // 0xA1 "stelem.ref", // 0xA2 "ldelem", // 0xA3 "stelem", // 0xA4 "unbox.any", // 0xA5 "unused5", // 0xA6 "unused6", // 0xA7 "unused7", // 0xA8 "unused8", // 0xA9 "unused9", // 0xAA "unused10", // 0xAB "unused11", // 0xAC "unused12", // 0xAD "unused13", // 0xAE "unused14", // 0xAF "unused15", // 0xB0 "unused16", // 0xB1 "unused17", // 0xB2 "conv.ovf.i1", // 0xB3 "conv.ovf.u1", // 0xB4 "conv.ovf.i2", // 0xB5 "conv.ovf.u2", // 0xB6 "conv.ovf.i4", // 0xB7 "conv.ovf.u4", // 0xB8 "conv.ovf.i8", // 0xB9 "conv.ovf.u8", // 0xBA "unused50", // 0xBB "unused18", // 0xBC "unused19", // 0xBD "unused20", // 0xBE "unused21", // 0xBF "unused22", // 0xC0 "unused23", // 0xC1 "refanyval", // 0xC2 "ckfinite", // 0xC3 "unused24", // 0xC4 "unused25", // 0xC5 "mkrefany", // 0xC6 "unused59", // 0xC7 "unused60", // 0xC8 "unused61", // 0xC9 "unused62", // 0xCA "unused63", // 0xCB "unused64", // 0xCC "unused65", // 0xCD "unused66", // 0xCE "unused67", // 0xCF "ldtoken", // 0xD0 "conv.u2", // 0xD1 "conv.u1", // 0xD2 "conv.i", // 0xD3 "conv.ovf.i", // 0xD4 "conv.ovf.u", // 0xD5 "add.ovf", // 0xD6 "add.ovf.un", // 0xD7 "mul.ovf", // 0xD8 "mul.ovf.un", // 0xD9 "sub.ovf", // 0xDA "sub.ovf.un", // 0xDB "endfinally", // 0xDC "leave", // 0xDD "leave.s", // 0xDE "stind.i", // 0xDF "conv.u" // 0xE0 }; const char* n3::CLIJit::OpcodeNamesFE[0x23] = { "arglist", // 0x00 "ceq", // 0x01 "cgt", // 0x02 "cgt.un", // 0x03 "clt", // 0x04 "clt.un", // 0x05 "ldftn", // 0x06 "ldvirtftn", // 0x07 "unused56", // 0x08 "ldarg", // 0x09 "ldarga", // 0x0A "starg", // 0x0B "ldloc", // 0x0C "ldloca", // 0x0D "stloc", // 0x0E "localloc", // 0x0F "unused57", // 0x10 "endfilter", // 0x11 "unaligned.", // 0x12 "volatile.", // 0x13 "tail.", // 0x14 "initobj", // 0x15 "constrained.", // 0x16 "cpblk", // 0x17 "initblk", // 0x18 "no.", // 0x19 "rethrow", // 0x1A "unused", // 0x1B "sizeof", // 0x1C "refanytype", // 0x1D "readonly.", // 0x1E "unused53", // 0x1F "unused54", // 0x20 "unused55", // 0x21 "unused70" // 0x22 }; #endif