inst_table["stloc.3"] = new ILToken (Token.INSTR_NONE, Op.stloc_3);
inst_table["ldnull"] = new ILToken (Token.INSTR_NONE, Op.ldnull);
inst_table["ldc.i4.m1"] = new ILToken (Token.INSTR_NONE, Op.ldc_i4_m1);
+ inst_table["ldc.i4.M1"] = new ILToken (Token.INSTR_NONE, Op.ldc_i4_m1);
inst_table["ldc.i4.0"] = new ILToken (Token.INSTR_NONE, Op.ldc_i4_0);
inst_table["ldc.i4.1"] = new ILToken (Token.INSTR_NONE, Op.ldc_i4_1);
inst_table["ldc.i4.2"] = new ILToken (Token.INSTR_NONE, Op.ldc_i4_2);
inst_table["ldind.i4"] = new ILToken (Token.INSTR_NONE, Op.ldind_i4);
inst_table["ldind.u4"] = new ILToken (Token.INSTR_NONE, Op.ldind_u4);
inst_table["ldind.i8"] = new ILToken (Token.INSTR_NONE, Op.ldind_i8);
+ inst_table["ldind.u8"] = new ILToken (Token.INSTR_NONE, Op.ldind_i8);
inst_table["ldind.i"] = new ILToken (Token.INSTR_NONE, Op.ldind_i);
inst_table["ldind.r4"] = new ILToken (Token.INSTR_NONE, Op.ldind_r4);
inst_table["ldind.r8"] = new ILToken (Token.INSTR_NONE, Op.ldind_r8);
inst_table["ldelem.i4"] = new ILToken (Token.INSTR_NONE, Op.ldelem_i4);
inst_table["ldelem.u4"] = new ILToken (Token.INSTR_NONE, Op.ldelem_u4);
inst_table["ldelem.i8"] = new ILToken (Token.INSTR_NONE, Op.ldelem_i8);
+ inst_table["ldelem.u8"] = new ILToken (Token.INSTR_NONE, Op.ldelem_i8);
inst_table["ldelem.i"] = new ILToken (Token.INSTR_NONE, Op.ldelem_i);
inst_table["ldelem.r4"] = new ILToken (Token.INSTR_NONE, Op.ldelem_r4);
inst_table["ldelem.r8"] = new ILToken (Token.INSTR_NONE, Op.ldelem_r8);
inst_table["initblk"] = new ILToken (Token.INSTR_NONE, Op.initblk);
inst_table["rethrow"] = new ILToken (Token.INSTR_NONE, Op.rethrow);
inst_table["refanytype"] = new ILToken (Token.INSTR_NONE, Op.refanytype);
+ inst_table["readonly."] = new ILToken (Token.INSTR_NONE, Op.readonly_);
//
// Int operations
inst_table["castclass"] = new ILToken (Token.INSTR_TYPE, TypeOp.castclass);
inst_table["isinst"] = new ILToken (Token.INSTR_TYPE, TypeOp.isinst);
inst_table["unbox"] = new ILToken (Token.INSTR_TYPE, TypeOp.unbox);
+ inst_table["unbox.any"] = new ILToken (Token.INSTR_TYPE, TypeOp.unbox_any);
inst_table["stobj"] = new ILToken (Token.INSTR_TYPE, TypeOp.stobj);
inst_table["box"] = new ILToken (Token.INSTR_TYPE, TypeOp.box);
inst_table["newarr"] = new ILToken (Token.INSTR_TYPE, TypeOp.newarr);
inst_table["sizeof"] = new ILToken (Token.INSTR_TYPE, TypeOp.sizeOf);
inst_table["stelem"] = new ILToken (Token.INSTR_TYPE, TypeOp.stelem);
inst_table["ldelem"] = new ILToken (Token.INSTR_TYPE, TypeOp.ldelem);
+ inst_table["stelem.any"] = new ILToken (Token.INSTR_TYPE, TypeOp.stelem);
+ inst_table["ldelem.any"] = new ILToken (Token.INSTR_TYPE, TypeOp.ldelem);
+ inst_table["constrained."] = new ILToken (Token.INSTR_TYPE, TypeOp.constrained);
//
// MethodRef operations
inst_table["br"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.br);
inst_table["brfalse"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.brfalse);
+ inst_table["brzero"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.brfalse);
+ inst_table["brnull"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.brfalse);
inst_table["brtrue"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.brtrue);
inst_table["beq"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.beq);
inst_table["bge"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.bge);
inst_table["blt.un"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.blt_un);
inst_table["leave"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.leave);
- /// TODO: .s instructions don't exist in PEAPI...yet
- inst_table["br.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.br);
- inst_table["brfalse.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.brfalse);
- inst_table["brtrue.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.brtrue);
- inst_table["beq.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.beq);
- inst_table["bge.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.bge);
- inst_table["bgt.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.bgt);
- inst_table["ble.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.ble);
- inst_table["blt.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.blt);
- inst_table["bne.un.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.bne_un);
- inst_table["bge.un.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.bge_un);
- inst_table["bgt.un.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.bgt_un);
- inst_table["ble.un.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.blt_un);
- inst_table["leave.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.leave);
+ inst_table["br.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.br_s);
+ inst_table["brfalse.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.brfalse_s);
+ inst_table["brtrue.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.brtrue_s);
+ inst_table["beq.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.beq_s);
+ inst_table["bge.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.bge_s);
+ inst_table["bgt.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.bgt_s);
+ inst_table["ble.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.ble_s);
+ inst_table["blt.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.blt_s);
+ inst_table["bne.un.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.bne_un_s);
+ inst_table["bge.un.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.bge_un_s);
+ inst_table["bgt.un.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.bgt_un_s);
+ inst_table["ble.un.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.ble_un_s);
+ inst_table["blt.un.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.blt_un_s);
+ inst_table["leave.s"] = new ILToken (Token.INSTR_BRTARGET, BranchOp.leave_s);
//
// Misc other instructions