0001: /* Copyright (C) 2004 - 2007 db4objects Inc. http://www.db4o.com
0002:
0003: This file is part of the db4o open source object database.
0004:
0005: db4o is free software; you can redistribute it and/or modify it under
0006: the terms of version 2 of the GNU General Public License as published
0007: by the Free Software Foundation and as clarified by db4objects' GPL
0008: interpretation policy, available at
0009: http://www.db4o.com/about/company/legalpolicies/gplinterpretation/
0010: Alternatively you can write to db4objects, Inc., 1900 S Norfolk Street,
0011: Suite 350, San Mateo, CA 94403, USA.
0012:
0013: db4o is distributed in the hope that it will be useful, but WITHOUT ANY
0014: WARRANTY; without even the implied warranty of MERCHANTABILITY or
0015: FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0016: for more details.
0017:
0018: You should have received a copy of the GNU General Public License along
0019: with this program; if not, write to the Free Software Foundation, Inc.,
0020: 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
0021: package EDU.purdue.cs.bloat.editor;
0022:
0023: /**
0024: * Opcode is an interface containing constants defining the opcodes of
0025: * instructions and related constants.
0026: * <ul>
0027: * <li> opc_XXX are the opcodes.
0028: *
0029: * <li> opcx_XXX are the opcode classes. These are used externally by
0030: * Instruction.
0031: *
0032: * <li> opcNames is an array of opcode names, indexed by the opcode.
0033: *
0034: * <li> opcSize is an array of the bytecode instruction lengths, indexed by the
0035: * opcode.
0036: *
0037: * <li> opcXMap is an array, indexed by the opcode, mapping opcodes to opcode
0038: * classes.
0039: * </ul>
0040: *
0041: * @see Instruction
0042: *
0043: * @author Nate Nystrom (<a
0044: * href="mailto:nystrom@cs.purdue.edu">nystrom@cs.purdue.edu</a>)
0045: */
0046: public interface Opcode {
0047: // Extended opcodes
0048: public static final int opc_nop = 0;
0049:
0050: public static final int opc_aconst_null = 1;
0051:
0052: public static final int opc_iconst_m1 = 2;
0053:
0054: public static final int opc_iconst_0 = 3;
0055:
0056: public static final int opc_iconst_1 = 4;
0057:
0058: public static final int opc_iconst_2 = 5;
0059:
0060: public static final int opc_iconst_3 = 6;
0061:
0062: public static final int opc_iconst_4 = 7;
0063:
0064: public static final int opc_iconst_5 = 8;
0065:
0066: public static final int opc_lconst_0 = 9;
0067:
0068: public static final int opc_lconst_1 = 10;
0069:
0070: public static final int opc_fconst_0 = 11;
0071:
0072: public static final int opc_fconst_1 = 12;
0073:
0074: public static final int opc_fconst_2 = 13;
0075:
0076: public static final int opc_dconst_0 = 14;
0077:
0078: public static final int opc_dconst_1 = 15;
0079:
0080: public static final int opc_bipush = 16;
0081:
0082: public static final int opc_sipush = 17;
0083:
0084: public static final int opc_ldc = 18;
0085:
0086: public static final int opc_ldc_w = 19;
0087:
0088: public static final int opc_ldc2_w = 20;
0089:
0090: public static final int opc_iload = 21;
0091:
0092: public static final int opc_lload = 22;
0093:
0094: public static final int opc_fload = 23;
0095:
0096: public static final int opc_dload = 24;
0097:
0098: public static final int opc_aload = 25;
0099:
0100: public static final int opc_iload_0 = 26;
0101:
0102: public static final int opc_iload_1 = 27;
0103:
0104: public static final int opc_iload_2 = 28;
0105:
0106: public static final int opc_iload_3 = 29;
0107:
0108: public static final int opc_lload_0 = 30;
0109:
0110: public static final int opc_lload_1 = 31;
0111:
0112: public static final int opc_lload_2 = 32;
0113:
0114: public static final int opc_lload_3 = 33;
0115:
0116: public static final int opc_fload_0 = 34;
0117:
0118: public static final int opc_fload_1 = 35;
0119:
0120: public static final int opc_fload_2 = 36;
0121:
0122: public static final int opc_fload_3 = 37;
0123:
0124: public static final int opc_dload_0 = 38;
0125:
0126: public static final int opc_dload_1 = 39;
0127:
0128: public static final int opc_dload_2 = 40;
0129:
0130: public static final int opc_dload_3 = 41;
0131:
0132: public static final int opc_aload_0 = 42;
0133:
0134: public static final int opc_aload_1 = 43;
0135:
0136: public static final int opc_aload_2 = 44;
0137:
0138: public static final int opc_aload_3 = 45;
0139:
0140: public static final int opc_iaload = 46;
0141:
0142: public static final int opc_laload = 47;
0143:
0144: public static final int opc_faload = 48;
0145:
0146: public static final int opc_daload = 49;
0147:
0148: public static final int opc_aaload = 50;
0149:
0150: public static final int opc_baload = 51;
0151:
0152: public static final int opc_caload = 52;
0153:
0154: public static final int opc_saload = 53;
0155:
0156: public static final int opc_istore = 54;
0157:
0158: public static final int opc_lstore = 55;
0159:
0160: public static final int opc_fstore = 56;
0161:
0162: public static final int opc_dstore = 57;
0163:
0164: public static final int opc_astore = 58;
0165:
0166: public static final int opc_istore_0 = 59;
0167:
0168: public static final int opc_istore_1 = 60;
0169:
0170: public static final int opc_istore_2 = 61;
0171:
0172: public static final int opc_istore_3 = 62;
0173:
0174: public static final int opc_lstore_0 = 63;
0175:
0176: public static final int opc_lstore_1 = 64;
0177:
0178: public static final int opc_lstore_2 = 65;
0179:
0180: public static final int opc_lstore_3 = 66;
0181:
0182: public static final int opc_fstore_0 = 67;
0183:
0184: public static final int opc_fstore_1 = 68;
0185:
0186: public static final int opc_fstore_2 = 69;
0187:
0188: public static final int opc_fstore_3 = 70;
0189:
0190: public static final int opc_dstore_0 = 71;
0191:
0192: public static final int opc_dstore_1 = 72;
0193:
0194: public static final int opc_dstore_2 = 73;
0195:
0196: public static final int opc_dstore_3 = 74;
0197:
0198: public static final int opc_astore_0 = 75;
0199:
0200: public static final int opc_astore_1 = 76;
0201:
0202: public static final int opc_astore_2 = 77;
0203:
0204: public static final int opc_astore_3 = 78;
0205:
0206: public static final int opc_iastore = 79;
0207:
0208: public static final int opc_lastore = 80;
0209:
0210: public static final int opc_fastore = 81;
0211:
0212: public static final int opc_dastore = 82;
0213:
0214: public static final int opc_aastore = 83;
0215:
0216: public static final int opc_bastore = 84;
0217:
0218: public static final int opc_castore = 85;
0219:
0220: public static final int opc_sastore = 86;
0221:
0222: public static final int opc_pop = 87;
0223:
0224: public static final int opc_pop2 = 88;
0225:
0226: public static final int opc_dup = 89;
0227:
0228: public static final int opc_dup_x1 = 90;
0229:
0230: public static final int opc_dup_x2 = 91;
0231:
0232: public static final int opc_dup2 = 92;
0233:
0234: public static final int opc_dup2_x1 = 93;
0235:
0236: public static final int opc_dup2_x2 = 94;
0237:
0238: public static final int opc_swap = 95;
0239:
0240: public static final int opc_iadd = 96;
0241:
0242: public static final int opc_ladd = 97;
0243:
0244: public static final int opc_fadd = 98;
0245:
0246: public static final int opc_dadd = 99;
0247:
0248: public static final int opc_isub = 100;
0249:
0250: public static final int opc_lsub = 101;
0251:
0252: public static final int opc_fsub = 102;
0253:
0254: public static final int opc_dsub = 103;
0255:
0256: public static final int opc_imul = 104;
0257:
0258: public static final int opc_lmul = 105;
0259:
0260: public static final int opc_fmul = 106;
0261:
0262: public static final int opc_dmul = 107;
0263:
0264: public static final int opc_idiv = 108;
0265:
0266: public static final int opc_ldiv = 109;
0267:
0268: public static final int opc_fdiv = 110;
0269:
0270: public static final int opc_ddiv = 111;
0271:
0272: public static final int opc_irem = 112;
0273:
0274: public static final int opc_lrem = 113;
0275:
0276: public static final int opc_frem = 114;
0277:
0278: public static final int opc_drem = 115;
0279:
0280: public static final int opc_ineg = 116;
0281:
0282: public static final int opc_lneg = 117;
0283:
0284: public static final int opc_fneg = 118;
0285:
0286: public static final int opc_dneg = 119;
0287:
0288: public static final int opc_ishl = 120;
0289:
0290: public static final int opc_lshl = 121;
0291:
0292: public static final int opc_ishr = 122;
0293:
0294: public static final int opc_lshr = 123;
0295:
0296: public static final int opc_iushr = 124;
0297:
0298: public static final int opc_lushr = 125;
0299:
0300: public static final int opc_iand = 126;
0301:
0302: public static final int opc_land = 127;
0303:
0304: public static final int opc_ior = 128;
0305:
0306: public static final int opc_lor = 129;
0307:
0308: public static final int opc_ixor = 130;
0309:
0310: public static final int opc_lxor = 131;
0311:
0312: public static final int opc_iinc = 132;
0313:
0314: public static final int opc_i2l = 133;
0315:
0316: public static final int opc_i2f = 134;
0317:
0318: public static final int opc_i2d = 135;
0319:
0320: public static final int opc_l2i = 136;
0321:
0322: public static final int opc_l2f = 137;
0323:
0324: public static final int opc_l2d = 138;
0325:
0326: public static final int opc_f2i = 139;
0327:
0328: public static final int opc_f2l = 140;
0329:
0330: public static final int opc_f2d = 141;
0331:
0332: public static final int opc_d2i = 142;
0333:
0334: public static final int opc_d2l = 143;
0335:
0336: public static final int opc_d2f = 144;
0337:
0338: public static final int opc_i2b = 145;
0339:
0340: public static final int opc_i2c = 146;
0341:
0342: public static final int opc_i2s = 147;
0343:
0344: public static final int opc_lcmp = 148;
0345:
0346: public static final int opc_fcmpl = 149;
0347:
0348: public static final int opc_fcmpg = 150;
0349:
0350: public static final int opc_dcmpl = 151;
0351:
0352: public static final int opc_dcmpg = 152;
0353:
0354: public static final int opc_ifeq = 153;
0355:
0356: public static final int opc_ifne = 154;
0357:
0358: public static final int opc_iflt = 155;
0359:
0360: public static final int opc_ifge = 156;
0361:
0362: public static final int opc_ifgt = 157;
0363:
0364: public static final int opc_ifle = 158;
0365:
0366: public static final int opc_if_icmpeq = 159;
0367:
0368: public static final int opc_if_icmpne = 160;
0369:
0370: public static final int opc_if_icmplt = 161;
0371:
0372: public static final int opc_if_icmpge = 162;
0373:
0374: public static final int opc_if_icmpgt = 163;
0375:
0376: public static final int opc_if_icmple = 164;
0377:
0378: public static final int opc_if_acmpeq = 165;
0379:
0380: public static final int opc_if_acmpne = 166;
0381:
0382: public static final int opc_goto = 167;
0383:
0384: public static final int opc_jsr = 168;
0385:
0386: public static final int opc_ret = 169;
0387:
0388: public static final int opc_tableswitch = 170;
0389:
0390: public static final int opc_lookupswitch = 171;
0391:
0392: public static final int opc_ireturn = 172;
0393:
0394: public static final int opc_lreturn = 173;
0395:
0396: public static final int opc_freturn = 174;
0397:
0398: public static final int opc_dreturn = 175;
0399:
0400: public static final int opc_areturn = 176;
0401:
0402: public static final int opc_return = 177;
0403:
0404: public static final int opc_getstatic = 178;
0405:
0406: public static final int opc_putstatic = 179;
0407:
0408: public static final int opc_getfield = 180;
0409:
0410: public static final int opc_putfield = 181;
0411:
0412: public static final int opc_invokevirtual = 182;
0413:
0414: public static final int opc_invokespecial = 183;
0415:
0416: public static final int opc_invokestatic = 184;
0417:
0418: public static final int opc_invokeinterface = 185;
0419:
0420: public static final int opc_xxxunusedxxx = 186;
0421:
0422: public static final int opc_new = 187;
0423:
0424: public static final int opc_newarray = 188;
0425:
0426: public static final int opc_anewarray = 189;
0427:
0428: public static final int opc_arraylength = 190;
0429:
0430: public static final int opc_athrow = 191;
0431:
0432: public static final int opc_checkcast = 192;
0433:
0434: public static final int opc_instanceof = 193;
0435:
0436: public static final int opc_monitorenter = 194;
0437:
0438: public static final int opc_monitorexit = 195;
0439:
0440: public static final int opc_wide = 196;
0441:
0442: public static final int opc_multianewarray = 197;
0443:
0444: public static final int opc_ifnull = 198;
0445:
0446: public static final int opc_ifnonnull = 199;
0447:
0448: public static final int opc_goto_w = 200;
0449:
0450: public static final int opc_jsr_w = 201;
0451:
0452: public static final int opc_breakpoint = 202;
0453:
0454: // Opcodes for persistence
0455: public static final int opc_rc = 237; // residency check
0456:
0457: public static final int opc_aupdate = 238; // pointer update check
0458:
0459: public static final int opc_supdate = 239; // scalar update check
0460:
0461: public static final int opc_aswizzle = 240; // array swizzle check
0462:
0463: public static final int opc_aswrange = 241; // array range swizzle
0464:
0465: public static final int opc_putfield_nowb = 204;
0466:
0467: public static final int opc_putstatic_nowb = 205;
0468:
0469: // Opcode classes (similar opcodes are squeezed together).
0470:
0471: /**
0472: * Opcode class for nop, xxxunusedxxx, wide, breakpoint, and opcodes
0473: * 203-254.
0474: */
0475: public static final int opcx_nop = Opcode.opc_nop;
0476:
0477: /**
0478: * Opcode class for aconst_null, iconst_m1, iconst_0, iconst_1, iconst_2,
0479: * iconst_3, iconst_4, iconst_5, lconst_0, lconst_1, fconst_0, fconst_1,
0480: * fconst_2, dconst_0, dconst_1, bipush, sipush, ldc, ldc_w, ldc2_w.
0481: */
0482: public static final int opcx_ldc = Opcode.opc_ldc;
0483:
0484: /**
0485: * Opcode class for iload, iload_0, iload_1, iload_2, iload_3.
0486: */
0487: public static final int opcx_iload = Opcode.opc_iload;
0488:
0489: /**
0490: * Opcode class for lload, lload_0, lload_1, lload_2, lload_3.
0491: */
0492: public static final int opcx_lload = Opcode.opc_lload;
0493:
0494: /**
0495: * Opcode class for fload, fload_0, fload_1, fload_2, fload_3.
0496: */
0497: public static final int opcx_fload = Opcode.opc_fload;
0498:
0499: /**
0500: * Opcode class for dload, dload_0, dload_1, dload_2, dload_3.
0501: */
0502: public static final int opcx_dload = Opcode.opc_dload;
0503:
0504: /**
0505: * Opcode class for aload, aload_0, aload_1, aload_2, aload_3.
0506: */
0507: public static final int opcx_aload = Opcode.opc_aload;
0508:
0509: /**
0510: * Opcode class for iaload.
0511: */
0512: public static final int opcx_iaload = Opcode.opc_iaload;
0513:
0514: /**
0515: * Opcode class for laload.
0516: */
0517: public static final int opcx_laload = Opcode.opc_laload;
0518:
0519: /**
0520: * Opcode class for faload.
0521: */
0522: public static final int opcx_faload = Opcode.opc_faload;
0523:
0524: /**
0525: * Opcode class for daload.
0526: */
0527: public static final int opcx_daload = Opcode.opc_daload;
0528:
0529: /**
0530: * Opcode class for aaload.
0531: */
0532: public static final int opcx_aaload = Opcode.opc_aaload;
0533:
0534: /**
0535: * Opcode class for baload.
0536: */
0537: public static final int opcx_baload = Opcode.opc_baload;
0538:
0539: /**
0540: * Opcode class for caload.
0541: */
0542: public static final int opcx_caload = Opcode.opc_caload;
0543:
0544: /**
0545: * Opcode class for saload.
0546: */
0547: public static final int opcx_saload = Opcode.opc_saload;
0548:
0549: /**
0550: * Opcode class for istore, istore_0, istore_1, istore_2, istore_3.
0551: */
0552: public static final int opcx_istore = Opcode.opc_istore;
0553:
0554: /**
0555: * Opcode class for lstore, lstore_0, lstore_1, lstore_2, lstore_3.
0556: */
0557: public static final int opcx_lstore = Opcode.opc_lstore;
0558:
0559: /**
0560: * Opcode class for fstore, fstore_0, fstore_1, fstore_2, fstore_3.
0561: */
0562: public static final int opcx_fstore = Opcode.opc_fstore;
0563:
0564: /**
0565: * Opcode class for dstore, dstore_0, dstore_1, dstore_2, dstore_3.
0566: */
0567: public static final int opcx_dstore = Opcode.opc_dstore;
0568:
0569: /**
0570: * Opcode class for astore, astore_0, astore_1, astore_2, astore_3.
0571: */
0572: public static final int opcx_astore = Opcode.opc_astore;
0573:
0574: /**
0575: * Opcode class for iastore.
0576: */
0577: public static final int opcx_iastore = Opcode.opc_iastore;
0578:
0579: /**
0580: * Opcode class for lastore.
0581: */
0582: public static final int opcx_lastore = Opcode.opc_lastore;
0583:
0584: /**
0585: * Opcode class for fastore.
0586: */
0587: public static final int opcx_fastore = Opcode.opc_fastore;
0588:
0589: /**
0590: * Opcode class for dastore.
0591: */
0592: public static final int opcx_dastore = Opcode.opc_dastore;
0593:
0594: /**
0595: * Opcode class for aastore.
0596: */
0597: public static final int opcx_aastore = Opcode.opc_aastore;
0598:
0599: /**
0600: * Opcode class for bastore.
0601: */
0602: public static final int opcx_bastore = Opcode.opc_bastore;
0603:
0604: /**
0605: * Opcode class for castore.
0606: */
0607: public static final int opcx_castore = Opcode.opc_castore;
0608:
0609: /**
0610: * Opcode class for sastore.
0611: */
0612: public static final int opcx_sastore = Opcode.opc_sastore;
0613:
0614: /**
0615: * Opcode class for pop.
0616: */
0617: public static final int opcx_pop = Opcode.opc_pop;
0618:
0619: /**
0620: * Opcode class for pop2.
0621: */
0622: public static final int opcx_pop2 = Opcode.opc_pop2;
0623:
0624: /**
0625: * Opcode class for dup.
0626: */
0627: public static final int opcx_dup = Opcode.opc_dup;
0628:
0629: /**
0630: * Opcode class for dup_x1.
0631: */
0632: public static final int opcx_dup_x1 = Opcode.opc_dup_x1;
0633:
0634: /**
0635: * Opcode class for dup_x2.
0636: */
0637: public static final int opcx_dup_x2 = Opcode.opc_dup_x2;
0638:
0639: /**
0640: * Opcode class for dup2.
0641: */
0642: public static final int opcx_dup2 = Opcode.opc_dup2;
0643:
0644: /**
0645: * Opcode class for dup2_x1.
0646: */
0647: public static final int opcx_dup2_x1 = Opcode.opc_dup2_x1;
0648:
0649: /**
0650: * Opcode class for dup2_x2.
0651: */
0652: public static final int opcx_dup2_x2 = Opcode.opc_dup2_x2;
0653:
0654: /**
0655: * Opcode class for swap.
0656: */
0657: public static final int opcx_swap = Opcode.opc_swap;
0658:
0659: /**
0660: * Opcode class for iadd.
0661: */
0662: public static final int opcx_iadd = Opcode.opc_iadd;
0663:
0664: /**
0665: * Opcode class for ladd.
0666: */
0667: public static final int opcx_ladd = Opcode.opc_ladd;
0668:
0669: /**
0670: * Opcode class for fadd.
0671: */
0672: public static final int opcx_fadd = Opcode.opc_fadd;
0673:
0674: /**
0675: * Opcode class for dadd.
0676: */
0677: public static final int opcx_dadd = Opcode.opc_dadd;
0678:
0679: /**
0680: * Opcode class for isub.
0681: */
0682: public static final int opcx_isub = Opcode.opc_isub;
0683:
0684: /**
0685: * Opcode class for lsub.
0686: */
0687: public static final int opcx_lsub = Opcode.opc_lsub;
0688:
0689: /**
0690: * Opcode class for fsub.
0691: */
0692: public static final int opcx_fsub = Opcode.opc_fsub;
0693:
0694: /**
0695: * Opcode class for dsub.
0696: */
0697: public static final int opcx_dsub = Opcode.opc_dsub;
0698:
0699: /**
0700: * Opcode class for imul.
0701: */
0702: public static final int opcx_imul = Opcode.opc_imul;
0703:
0704: /**
0705: * Opcode class for lmul.
0706: */
0707: public static final int opcx_lmul = Opcode.opc_lmul;
0708:
0709: /**
0710: * Opcode class for fmul.
0711: */
0712: public static final int opcx_fmul = Opcode.opc_fmul;
0713:
0714: /**
0715: * Opcode class for dmul.
0716: */
0717: public static final int opcx_dmul = Opcode.opc_dmul;
0718:
0719: /**
0720: * Opcode class for idiv.
0721: */
0722: public static final int opcx_idiv = Opcode.opc_idiv;
0723:
0724: /**
0725: * Opcode class for ldiv.
0726: */
0727: public static final int opcx_ldiv = Opcode.opc_ldiv;
0728:
0729: /**
0730: * Opcode class for fdiv.
0731: */
0732: public static final int opcx_fdiv = Opcode.opc_fdiv;
0733:
0734: /**
0735: * Opcode class for ddiv.
0736: */
0737: public static final int opcx_ddiv = Opcode.opc_ddiv;
0738:
0739: /**
0740: * Opcode class for irem.
0741: */
0742: public static final int opcx_irem = Opcode.opc_irem;
0743:
0744: /**
0745: * Opcode class for lrem.
0746: */
0747: public static final int opcx_lrem = Opcode.opc_lrem;
0748:
0749: /**
0750: * Opcode class for frem.
0751: */
0752: public static final int opcx_frem = Opcode.opc_frem;
0753:
0754: /**
0755: * Opcode class for drem.
0756: */
0757: public static final int opcx_drem = Opcode.opc_drem;
0758:
0759: /**
0760: * Opcode class for ineg.
0761: */
0762: public static final int opcx_ineg = Opcode.opc_ineg;
0763:
0764: /**
0765: * Opcode class for lneg.
0766: */
0767: public static final int opcx_lneg = Opcode.opc_lneg;
0768:
0769: /**
0770: * Opcode class for fneg.
0771: */
0772: public static final int opcx_fneg = Opcode.opc_fneg;
0773:
0774: /**
0775: * Opcode class for dneg.
0776: */
0777: public static final int opcx_dneg = Opcode.opc_dneg;
0778:
0779: /**
0780: * Opcode class for ishl.
0781: */
0782: public static final int opcx_ishl = Opcode.opc_ishl;
0783:
0784: /**
0785: * Opcode class for lshl.
0786: */
0787: public static final int opcx_lshl = Opcode.opc_lshl;
0788:
0789: /**
0790: * Opcode class for ishr.
0791: */
0792: public static final int opcx_ishr = Opcode.opc_ishr;
0793:
0794: /**
0795: * Opcode class for lshr.
0796: */
0797: public static final int opcx_lshr = Opcode.opc_lshr;
0798:
0799: /**
0800: * Opcode class for iushr.
0801: */
0802: public static final int opcx_iushr = Opcode.opc_iushr;
0803:
0804: /**
0805: * Opcode class for lushr.
0806: */
0807: public static final int opcx_lushr = Opcode.opc_lushr;
0808:
0809: /**
0810: * Opcode class for iand.
0811: */
0812: public static final int opcx_iand = Opcode.opc_iand;
0813:
0814: /**
0815: * Opcode class for land.
0816: */
0817: public static final int opcx_land = Opcode.opc_land;
0818:
0819: /**
0820: * Opcode class for ior.
0821: */
0822: public static final int opcx_ior = Opcode.opc_ior;
0823:
0824: /**
0825: * Opcode class for lor.
0826: */
0827: public static final int opcx_lor = Opcode.opc_lor;
0828:
0829: /**
0830: * Opcode class for ixor.
0831: */
0832: public static final int opcx_ixor = Opcode.opc_ixor;
0833:
0834: /**
0835: * Opcode class for lxor.
0836: */
0837: public static final int opcx_lxor = Opcode.opc_lxor;
0838:
0839: /**
0840: * Opcode class for iinc.
0841: */
0842: public static final int opcx_iinc = Opcode.opc_iinc;
0843:
0844: /**
0845: * Opcode class for i2l.
0846: */
0847: public static final int opcx_i2l = Opcode.opc_i2l;
0848:
0849: /**
0850: * Opcode class for i2f.
0851: */
0852: public static final int opcx_i2f = Opcode.opc_i2f;
0853:
0854: /**
0855: * Opcode class for i2d.
0856: */
0857: public static final int opcx_i2d = Opcode.opc_i2d;
0858:
0859: /**
0860: * Opcode class for l2i.
0861: */
0862: public static final int opcx_l2i = Opcode.opc_l2i;
0863:
0864: /**
0865: * Opcode class for l2f.
0866: */
0867: public static final int opcx_l2f = Opcode.opc_l2f;
0868:
0869: /**
0870: * Opcode class for l2d.
0871: */
0872: public static final int opcx_l2d = Opcode.opc_l2d;
0873:
0874: /**
0875: * Opcode class for f2i.
0876: */
0877: public static final int opcx_f2i = Opcode.opc_f2i;
0878:
0879: /**
0880: * Opcode class for f2l.
0881: */
0882: public static final int opcx_f2l = Opcode.opc_f2l;
0883:
0884: /**
0885: * Opcode class for f2d.
0886: */
0887: public static final int opcx_f2d = Opcode.opc_f2d;
0888:
0889: /**
0890: * Opcode class for d2i.
0891: */
0892: public static final int opcx_d2i = Opcode.opc_d2i;
0893:
0894: /**
0895: * Opcode class for d2l.
0896: */
0897: public static final int opcx_d2l = Opcode.opc_d2l;
0898:
0899: /**
0900: * Opcode class for d2f.
0901: */
0902: public static final int opcx_d2f = Opcode.opc_d2f;
0903:
0904: /**
0905: * Opcode class for i2b.
0906: */
0907: public static final int opcx_i2b = Opcode.opc_i2b;
0908:
0909: /**
0910: * Opcode class for i2c.
0911: */
0912: public static final int opcx_i2c = Opcode.opc_i2c;
0913:
0914: /**
0915: * Opcode class for i2s.
0916: */
0917: public static final int opcx_i2s = Opcode.opc_i2s;
0918:
0919: /**
0920: * Opcode class for lcmp.
0921: */
0922: public static final int opcx_lcmp = Opcode.opc_lcmp;
0923:
0924: /**
0925: * Opcode class for fcmpl.
0926: */
0927: public static final int opcx_fcmpl = Opcode.opc_fcmpl;
0928:
0929: /**
0930: * Opcode class for fcmpg.
0931: */
0932: public static final int opcx_fcmpg = Opcode.opc_fcmpg;
0933:
0934: /**
0935: * Opcode class for dcmpl.
0936: */
0937: public static final int opcx_dcmpl = Opcode.opc_dcmpl;
0938:
0939: /**
0940: * Opcode class for dcmpg.
0941: */
0942: public static final int opcx_dcmpg = Opcode.opc_dcmpg;
0943:
0944: /**
0945: * Opcode class for ifeq.
0946: */
0947: public static final int opcx_ifeq = Opcode.opc_ifeq;
0948:
0949: /**
0950: * Opcode class for ifne.
0951: */
0952: public static final int opcx_ifne = Opcode.opc_ifne;
0953:
0954: /**
0955: * Opcode class for iflt.
0956: */
0957: public static final int opcx_iflt = Opcode.opc_iflt;
0958:
0959: /**
0960: * Opcode class for ifge.
0961: */
0962: public static final int opcx_ifge = Opcode.opc_ifge;
0963:
0964: /**
0965: * Opcode class for ifgt.
0966: */
0967: public static final int opcx_ifgt = Opcode.opc_ifgt;
0968:
0969: /**
0970: * Opcode class for ifle.
0971: */
0972: public static final int opcx_ifle = Opcode.opc_ifle;
0973:
0974: /**
0975: * Opcode class for if_icmpeq.
0976: */
0977: public static final int opcx_if_icmpeq = Opcode.opc_if_icmpeq;
0978:
0979: /**
0980: * Opcode class for if_icmpne.
0981: */
0982: public static final int opcx_if_icmpne = Opcode.opc_if_icmpne;
0983:
0984: /**
0985: * Opcode class for if_icmplt.
0986: */
0987: public static final int opcx_if_icmplt = Opcode.opc_if_icmplt;
0988:
0989: /**
0990: * Opcode class for if_icmpge.
0991: */
0992: public static final int opcx_if_icmpge = Opcode.opc_if_icmpge;
0993:
0994: /**
0995: * Opcode class for if_icmpgt.
0996: */
0997: public static final int opcx_if_icmpgt = Opcode.opc_if_icmpgt;
0998:
0999: /**
1000: * Opcode class for if_icmple.
1001: */
1002: public static final int opcx_if_icmple = Opcode.opc_if_icmple;
1003:
1004: /**
1005: * Opcode class for if_acmpeq.
1006: */
1007: public static final int opcx_if_acmpeq = Opcode.opc_if_acmpeq;
1008:
1009: /**
1010: * Opcode class for if_acmpne.
1011: */
1012: public static final int opcx_if_acmpne = Opcode.opc_if_acmpne;
1013:
1014: /**
1015: * Opcode class for goto, goto_w.
1016: */
1017: public static final int opcx_goto = Opcode.opc_goto;
1018:
1019: /**
1020: * Opcode class for jsr, jsr_w.
1021: */
1022: public static final int opcx_jsr = Opcode.opc_jsr;
1023:
1024: /**
1025: * Opcode class for ret.
1026: */
1027: public static final int opcx_ret = Opcode.opc_ret;
1028:
1029: /**
1030: * Opcode class for tableswitch, lookupswitch.
1031: */
1032: public static final int opcx_switch = Opcode.opc_tableswitch;
1033:
1034: /**
1035: * Opcode class for ireturn.
1036: */
1037: public static final int opcx_ireturn = Opcode.opc_ireturn;
1038:
1039: /**
1040: * Opcode class for lreturn.
1041: */
1042: public static final int opcx_lreturn = Opcode.opc_lreturn;
1043:
1044: /**
1045: * Opcode class for freturn.
1046: */
1047: public static final int opcx_freturn = Opcode.opc_freturn;
1048:
1049: /**
1050: * Opcode class for dreturn.
1051: */
1052: public static final int opcx_dreturn = Opcode.opc_dreturn;
1053:
1054: /**
1055: * Opcode class for areturn.
1056: */
1057: public static final int opcx_areturn = Opcode.opc_areturn;
1058:
1059: /**
1060: * Opcode class for return.
1061: */
1062: public static final int opcx_return = Opcode.opc_return;
1063:
1064: /**
1065: * Opcode class for getstatic.
1066: */
1067: public static final int opcx_getstatic = Opcode.opc_getstatic;
1068:
1069: /**
1070: * Opcode class for putstatic.
1071: */
1072: public static final int opcx_putstatic = Opcode.opc_putstatic;
1073:
1074: /**
1075: * Opcode class for getfield.
1076: */
1077: public static final int opcx_getfield = Opcode.opc_getfield;
1078:
1079: /**
1080: * Opcode class for putfield.
1081: */
1082: public static final int opcx_putfield = Opcode.opc_putfield;
1083:
1084: /**
1085: * Opcode class for invokevirtual.
1086: */
1087: public static final int opcx_invokevirtual = Opcode.opc_invokevirtual;
1088:
1089: /**
1090: * Opcode class for invokespecial.
1091: */
1092: public static final int opcx_invokespecial = Opcode.opc_invokespecial;
1093:
1094: /**
1095: * Opcode class for invokestatic.
1096: */
1097: public static final int opcx_invokestatic = Opcode.opc_invokestatic;
1098:
1099: /**
1100: * Opcode class for invokeinterface.
1101: */
1102: public static final int opcx_invokeinterface = Opcode.opc_invokeinterface;
1103:
1104: /**
1105: * Opcode class for new.
1106: */
1107: public static final int opcx_new = Opcode.opc_new;
1108:
1109: /**
1110: * Opcode class for newarray, anewarray.
1111: */
1112: public static final int opcx_newarray = Opcode.opc_newarray;
1113:
1114: /**
1115: * Opcode class for arraylength.
1116: */
1117: public static final int opcx_arraylength = Opcode.opc_arraylength;
1118:
1119: /**
1120: * Opcode class for athrow.
1121: */
1122: public static final int opcx_athrow = Opcode.opc_athrow;
1123:
1124: /**
1125: * Opcode class for checkcast.
1126: */
1127: public static final int opcx_checkcast = Opcode.opc_checkcast;
1128:
1129: /**
1130: * Opcode class for instanceof.
1131: */
1132: public static final int opcx_instanceof = Opcode.opc_instanceof ;
1133:
1134: /**
1135: * Opcode class for monitorenter.
1136: */
1137: public static final int opcx_monitorenter = Opcode.opc_monitorenter;
1138:
1139: /**
1140: * Opcode class for monitorexit.
1141: */
1142: public static final int opcx_monitorexit = Opcode.opc_monitorexit;
1143:
1144: /**
1145: * Opcode class for multianewarray.
1146: */
1147: public static final int opcx_multianewarray = Opcode.opc_multianewarray;
1148:
1149: /**
1150: * Opcode class for ifnull.
1151: */
1152: public static final int opcx_ifnull = Opcode.opc_ifnull;
1153:
1154: /**
1155: * Opcode class for ifnonnull.
1156: */
1157: public static final int opcx_ifnonnull = Opcode.opc_ifnonnull;
1158:
1159: /**
1160: * Opcode class for supdate.
1161: */
1162: public static final int opcx_aupdate = Opcode.opc_aupdate;
1163:
1164: /**
1165: * Opcode class for supdate.
1166: */
1167: public static final int opcx_supdate = Opcode.opc_supdate;
1168:
1169: /**
1170: * Opcode class for rc.
1171: */
1172: public static final int opcx_rc = Opcode.opc_rc;
1173:
1174: /**
1175: * Opcode class for aswizzle.
1176: */
1177: public static final int opcx_aswizzle = Opcode.opc_aswizzle;
1178:
1179: /**
1180: * Opcode class for aswrange.
1181: */
1182: public static final int opcx_aswrange = Opcode.opc_aswrange;
1183:
1184: /**
1185: * Opcode class for putfield_nowb.
1186: */
1187: public static final int opcx_putfield_nowb = Opcode.opc_putfield_nowb;
1188:
1189: /**
1190: * Opcode class for putstatic_nowb.
1191: */
1192: public static final int opcx_putstatic_nowb = Opcode.opc_putstatic_nowb;
1193:
1194: /**
1195: * An array of opcode names, indexed by the opcode.
1196: */
1197: public static final String[] opcNames = { "nop", "aconst_null",
1198: "iconst_m1", "iconst_0", "iconst_1", "iconst_2",
1199: "iconst_3", "iconst_4", "iconst_5", "lconst_0", "lconst_1",
1200: "fconst_0", "fconst_1", "fconst_2", "dconst_0", "dconst_1",
1201: "bipush", "sipush", "ldc", "ldc_w", "ldc2_w", "iload",
1202: "lload", "fload", "dload", "aload", "iload_0", "iload_1",
1203: "iload_2", "iload_3", "lload_0", "lload_1", "lload_2",
1204: "lload_3", "fload_0", "fload_1", "fload_2", "fload_3",
1205: "dload_0", "dload_1", "dload_2", "dload_3", "aload_0",
1206: "aload_1", "aload_2", "aload_3", "iaload", "laload",
1207: "faload", "daload", "aaload", "baload", "caload", "saload",
1208: "istore", "lstore", "fstore", "dstore", "astore",
1209: "istore_0", "istore_1", "istore_2", "istore_3", "lstore_0",
1210: "lstore_1", "lstore_2", "lstore_3", "fstore_0", "fstore_1",
1211: "fstore_2", "fstore_3", "dstore_0", "dstore_1", "dstore_2",
1212: "dstore_3", "astore_0", "astore_1", "astore_2", "astore_3",
1213: "iastore", "lastore", "fastore", "dastore", "aastore",
1214: "bastore", "castore", "sastore", "pop", "pop2", "dup",
1215: "dup_x1", "dup_x2", "dup2", "dup2_x1", "dup2_x2", "swap",
1216: "iadd", "ladd", "fadd", "dadd", "isub", "lsub", "fsub",
1217: "dsub", "imul", "lmul", "fmul", "dmul", "idiv", "ldiv",
1218: "fdiv", "ddiv", "irem", "lrem", "frem", "drem", "ineg",
1219: "lneg", "fneg", "dneg", "ishl", "lshl", "ishr", "lshr",
1220: "iushr", "lushr", "iand", "land", "ior", "lor", "ixor",
1221: "lxor", "iinc", "i2l", "i2f", "i2d", "l2i", "l2f", "l2d",
1222: "f2i", "f2l", "f2d", "d2i", "d2l", "d2f", "i2b", "i2c",
1223: "i2s", "lcmp", "fcmpl", "fcmpg", "dcmpl", "dcmpg", "ifeq",
1224: "ifne", "iflt", "ifge", "ifgt", "ifle", "if_icmpeq",
1225: "if_icmpne", "if_icmplt", "if_icmpge", "if_icmpgt",
1226: "if_icmple", "if_acmpeq", "if_acmpne", "goto", "jsr",
1227: "ret", "tableswitch", "lookupswitch", "ireturn", "lreturn",
1228: "freturn", "dreturn", "areturn", "return", "getstatic",
1229: "putstatic", "getfield", "putfield", "invokevirtual",
1230: "invokespecial", "invokestatic", "invokeinterface",
1231: "xxxunusedxxx", "new", "newarray", "anewarray",
1232: "arraylength", "athrow", "checkcast", "instanceof",
1233: "monitorenter", "monitorexit", "wide", "multianewarray",
1234: "ifnull", "ifnonnull", "goto_w", "jsr_w", "breakpoint",
1235: "203", "putfield_nowb", "putstatic_nowb", "206", "207",
1236: "208", "209", "210", "211", "212", "213", "214", "215",
1237: "216", "217", "218", "219", "220", "221", "222", "223",
1238: "224", "225", "226", "227", "228", "229", "230", "231",
1239: "232", "233", "234", "235", "236", "rc", "aupdate",
1240: "supdate", "aswizzle", "aswrange", "242", "243", "244",
1241: "245", "246", "247", "248", "249", "250", "251", "252",
1242: "253", "254", "255", };
1243:
1244: /**
1245: * VARIABLE represent either variable instruction length or a variable
1246: * effect on the operand stack, depending on the context.
1247: */
1248: public static final byte VARIABLE = -1;
1249:
1250: /**
1251: * An array of the bytecode instruction lengths, indexed by the opcode.
1252: */
1253: public static final byte[] opcSize = { 1, // nop
1254: 1, // aconst_null
1255: 1, // iconst_m1
1256: 1, // iconst_0
1257: 1, // iconst_1
1258: 1, // iconst_2
1259: 1, // iconst_3
1260: 1, // iconst_4
1261: 1, // iconst_5
1262: 1, // lconst_0
1263: 1, // lconst_1
1264: 1, // fconst_0
1265: 1, // fconst_1
1266: 1, // fconst_2
1267: 1, // dconst_0
1268: 1, // dconst_1
1269: 2, // bipush
1270: 3, // sipush
1271: 2, // ldc
1272: 3, // ldc_w
1273: 3, // ldc2_w
1274: 2, // iload
1275: 2, // lload
1276: 2, // fload
1277: 2, // dload
1278: 2, // aload
1279: 1, // iload_0
1280: 1, // iload_1
1281: 1, // iload_2
1282: 1, // iload_3
1283: 1, // lload_0
1284: 1, // lload_1
1285: 1, // lload_2
1286: 1, // lload_3
1287: 1, // fload_0
1288: 1, // fload_1
1289: 1, // fload_2
1290: 1, // fload_3
1291: 1, // dload_0
1292: 1, // dload_1
1293: 1, // dload_2
1294: 1, // dload_3
1295: 1, // aload_0
1296: 1, // aload_1
1297: 1, // aload_2
1298: 1, // aload_3
1299: 1, // iaload
1300: 1, // laload
1301: 1, // faload
1302: 1, // daload
1303: 1, // aaload
1304: 1, // baload
1305: 1, // caload
1306: 1, // saload
1307: 2, // istore
1308: 2, // lstore
1309: 2, // fstore
1310: 2, // dstore
1311: 2, // astore
1312: 1, // istore_0
1313: 1, // istore_1
1314: 1, // istore_2
1315: 1, // istore_3
1316: 1, // lstore_0
1317: 1, // lstore_1
1318: 1, // lstore_2
1319: 1, // lstore_3
1320: 1, // fstore_0
1321: 1, // fstore_1
1322: 1, // fstore_2
1323: 1, // fstore_3
1324: 1, // dstore_0
1325: 1, // dstore_1
1326: 1, // dstore_2
1327: 1, // dstore_3
1328: 1, // astore_0
1329: 1, // astore_1
1330: 1, // astore_2
1331: 1, // astore_3
1332: 1, // iastore
1333: 1, // lastore
1334: 1, // fastore
1335: 1, // dastore
1336: 1, // aastore
1337: 1, // bastore
1338: 1, // castore
1339: 1, // sastore
1340: 1, // pop
1341: 1, // pop2
1342: 1, // dup
1343: 1, // dup_x1
1344: 1, // dup_x2
1345: 1, // dup2
1346: 1, // dup2_x1
1347: 1, // dup2_x2
1348: 1, // swap
1349: 1, // iadd
1350: 1, // ladd
1351: 1, // fadd
1352: 1, // dadd
1353: 1, // isub
1354: 1, // lsub
1355: 1, // fsub
1356: 1, // dsub
1357: 1, // imul
1358: 1, // lmul
1359: 1, // fmul
1360: 1, // dmul
1361: 1, // idiv
1362: 1, // ldiv
1363: 1, // fdiv
1364: 1, // ddiv
1365: 1, // irem
1366: 1, // lrem
1367: 1, // frem
1368: 1, // drem
1369: 1, // ineg
1370: 1, // lneg
1371: 1, // fneg
1372: 1, // dneg
1373: 1, // ishl
1374: 1, // lshl
1375: 1, // ishr
1376: 1, // lshr
1377: 1, // iushr
1378: 1, // lushr
1379: 1, // iand
1380: 1, // land
1381: 1, // ior
1382: 1, // lor
1383: 1, // ixor
1384: 1, // lxor
1385: 3, // iinc
1386: 1, // i2l
1387: 1, // i2f
1388: 1, // i2d
1389: 1, // l2i
1390: 1, // l2f
1391: 1, // l2d
1392: 1, // f2i
1393: 1, // f2l
1394: 1, // f2d
1395: 1, // d2i
1396: 1, // d2l
1397: 1, // d2f
1398: 1, // i2b
1399: 1, // i2c
1400: 1, // i2s
1401: 1, // lcmp
1402: 1, // fcmpl
1403: 1, // fcmpg
1404: 1, // dcmpl
1405: 1, // dcmpg
1406: 3, // ifeq
1407: 3, // ifne
1408: 3, // iflt
1409: 3, // ifge
1410: 3, // ifgt
1411: 3, // ifle
1412: 3, // if_icmpeq
1413: 3, // if_icmpne
1414: 3, // if_icmplt
1415: 3, // if_icmpge
1416: 3, // if_icmpgt
1417: 3, // if_icmple
1418: 3, // if_acmpeq
1419: 3, // if_acmpne
1420: 3, // goto
1421: 3, // jsr
1422: 2, // ret
1423: Opcode.VARIABLE, // tableswitch
1424: Opcode.VARIABLE, // lookupswitch
1425: 1, // ireturn
1426: 1, // lreturn
1427: 1, // freturn
1428: 1, // dreturn
1429: 1, // areturn
1430: 1, // return
1431: 3, // getstatic
1432: 3, // putstatic
1433: 3, // getfield
1434: 3, // putfield
1435: 3, // invokevirtual
1436: 3, // invokespecial
1437: 3, // invokestatic
1438: 5, // invokeinterface
1439: 1, // xxxunusedxxx
1440: 3, // new
1441: 2, // newarray
1442: 3, // anewarray
1443: 1, // arraylength
1444: 1, // athrow
1445: 3, // checkcast
1446: 3, // instanceof
1447: 1, // monitorenter
1448: 1, // monitorexit
1449: Opcode.VARIABLE, // wide
1450: 4, // multianewarray
1451: 3, // ifnull
1452: 3, // ifnonnull
1453: 5, // goto_w
1454: 5, // jsr_w
1455: 1, // breakpoint
1456: 1, // 203
1457: 3, // putfield_nowb
1458: 3, // putstatic_nowb
1459: 1, // 206
1460: 1, // 207
1461: 1, // 208
1462: 1, // 209
1463: 1, // 210
1464: 1, // 211
1465: 1, // 212
1466: 1, // 213
1467: 1, // 214
1468: 1, // 215
1469: 1, // 216
1470: 1, // 217
1471: 1, // 218
1472: 1, // 219
1473: 1, // 220
1474: 1, // 221
1475: 1, // 222
1476: 1, // 223
1477: 1, // 224
1478: 1, // 225
1479: 1, // 226
1480: 1, // 227
1481: 1, // 228
1482: 1, // 229
1483: 1, // 230
1484: 1, // 231
1485: 1, // 232
1486: 1, // 233
1487: 1, // 234
1488: 1, // 235
1489: 1, // 236
1490: 2, // rc
1491: 2, // aupdate
1492: 2, // supdate
1493: 1, // aswizzle
1494: 1, // aswrange
1495: 1, // 242
1496: 1, // 243
1497: 1, // 244
1498: 1, // 245
1499: 1, // 246
1500: 1, // 247
1501: 1, // 248
1502: 1, // 249
1503: 1, // 250
1504: 1, // 251
1505: 1, // 252
1506: 1, // 253
1507: 1, // 254
1508: 1, // 255
1509: };
1510:
1511: /**
1512: * An array, indexed by the opcode, mapping opcodes to opcode classes.
1513: */
1514: public static final int[] opcXMap = { Opcode.opcx_nop, // nop
1515: Opcode.opcx_ldc, // aconst_null
1516: Opcode.opcx_ldc, // iconst_m1
1517: Opcode.opcx_ldc, // iconst_0
1518: Opcode.opcx_ldc, // iconst_1
1519: Opcode.opcx_ldc, // iconst_2
1520: Opcode.opcx_ldc, // iconst_3
1521: Opcode.opcx_ldc, // iconst_4
1522: Opcode.opcx_ldc, // iconst_5
1523: Opcode.opcx_ldc, // lconst_0
1524: Opcode.opcx_ldc, // lconst_1
1525: Opcode.opcx_ldc, // fconst_0
1526: Opcode.opcx_ldc, // fconst_1
1527: Opcode.opcx_ldc, // fconst_2
1528: Opcode.opcx_ldc, // dconst_0
1529: Opcode.opcx_ldc, // dconst_1
1530: Opcode.opcx_ldc, // bipush
1531: Opcode.opcx_ldc, // sipush
1532: Opcode.opcx_ldc, // ldc
1533: Opcode.opcx_ldc, // ldc_w
1534: Opcode.opcx_ldc, // ldc2_w
1535: Opcode.opcx_iload, // iload
1536: Opcode.opcx_lload, // lload
1537: Opcode.opcx_fload, // fload
1538: Opcode.opcx_dload, // dload
1539: Opcode.opcx_aload, // aload
1540: Opcode.opcx_iload, // iload_0
1541: Opcode.opcx_iload, // iload_1
1542: Opcode.opcx_iload, // iload_2
1543: Opcode.opcx_iload, // iload_3
1544: Opcode.opcx_lload, // lload_0
1545: Opcode.opcx_lload, // lload_1
1546: Opcode.opcx_lload, // lload_2
1547: Opcode.opcx_lload, // lload_3
1548: Opcode.opcx_fload, // fload_0
1549: Opcode.opcx_fload, // fload_1
1550: Opcode.opcx_fload, // fload_2
1551: Opcode.opcx_fload, // fload_3
1552: Opcode.opcx_dload, // dload_0
1553: Opcode.opcx_dload, // dload_1
1554: Opcode.opcx_dload, // dload_2
1555: Opcode.opcx_dload, // dload_3
1556: Opcode.opcx_aload, // aload_0
1557: Opcode.opcx_aload, // aload_1
1558: Opcode.opcx_aload, // aload_2
1559: Opcode.opcx_aload, // aload_3
1560: Opcode.opcx_iaload, // iaload
1561: Opcode.opcx_laload, // laload
1562: Opcode.opcx_faload, // faload
1563: Opcode.opcx_daload, // daload
1564: Opcode.opcx_aaload, // aaload
1565: Opcode.opcx_baload, // baload
1566: Opcode.opcx_caload, // caload
1567: Opcode.opcx_saload, // saload
1568: Opcode.opcx_istore, // istore
1569: Opcode.opcx_lstore, // lstore
1570: Opcode.opcx_fstore, // fstore
1571: Opcode.opcx_dstore, // dstore
1572: Opcode.opcx_astore, // astore
1573: Opcode.opcx_istore, // istore_0
1574: Opcode.opcx_istore, // istore_1
1575: Opcode.opcx_istore, // istore_2
1576: Opcode.opcx_istore, // istore_3
1577: Opcode.opcx_lstore, // lstore_0
1578: Opcode.opcx_lstore, // lstore_1
1579: Opcode.opcx_lstore, // lstore_2
1580: Opcode.opcx_lstore, // lstore_3
1581: Opcode.opcx_fstore, // fstore_0
1582: Opcode.opcx_fstore, // fstore_1
1583: Opcode.opcx_fstore, // fstore_2
1584: Opcode.opcx_fstore, // fstore_3
1585: Opcode.opcx_dstore, // dstore_0
1586: Opcode.opcx_dstore, // dstore_1
1587: Opcode.opcx_dstore, // dstore_2
1588: Opcode.opcx_dstore, // dstore_3
1589: Opcode.opcx_astore, // astore_0
1590: Opcode.opcx_astore, // astore_1
1591: Opcode.opcx_astore, // astore_2
1592: Opcode.opcx_astore, // astore_3
1593: Opcode.opcx_iastore, // iastore
1594: Opcode.opcx_lastore, // lastore
1595: Opcode.opcx_fastore, // fastore
1596: Opcode.opcx_dastore, // dastore
1597: Opcode.opcx_aastore, // aastore
1598: Opcode.opcx_bastore, // bastore
1599: Opcode.opcx_castore, // castore
1600: Opcode.opcx_sastore, // sastore
1601: Opcode.opcx_pop, // pop
1602: Opcode.opcx_pop2, // pop2
1603: Opcode.opcx_dup, // dup
1604: Opcode.opcx_dup_x1, // dup_x1
1605: Opcode.opcx_dup_x2, // dup_x2
1606: Opcode.opcx_dup2, // dup2
1607: Opcode.opcx_dup2_x1, // dup2_x1
1608: Opcode.opcx_dup2_x2, // dup2_x2
1609: Opcode.opcx_swap, // swap
1610: Opcode.opcx_iadd, // iadd
1611: Opcode.opcx_ladd, // ladd
1612: Opcode.opcx_fadd, // fadd
1613: Opcode.opcx_dadd, // dadd
1614: Opcode.opcx_isub, // isub
1615: Opcode.opcx_lsub, // lsub
1616: Opcode.opcx_fsub, // fsub
1617: Opcode.opcx_dsub, // dsub
1618: Opcode.opcx_imul, // imul
1619: Opcode.opcx_lmul, // lmul
1620: Opcode.opcx_fmul, // fmul
1621: Opcode.opcx_dmul, // dmul
1622: Opcode.opcx_idiv, // idiv
1623: Opcode.opcx_ldiv, // ldiv
1624: Opcode.opcx_fdiv, // fdiv
1625: Opcode.opcx_ddiv, // ddiv
1626: Opcode.opcx_irem, // irem
1627: Opcode.opcx_lrem, // lrem
1628: Opcode.opcx_frem, // frem
1629: Opcode.opcx_drem, // drem
1630: Opcode.opcx_ineg, // ineg
1631: Opcode.opcx_lneg, // lneg
1632: Opcode.opcx_fneg, // fneg
1633: Opcode.opcx_dneg, // dneg
1634: Opcode.opcx_ishl, // ishl
1635: Opcode.opcx_lshl, // lshl
1636: Opcode.opcx_ishr, // ishr
1637: Opcode.opcx_lshr, // lshr
1638: Opcode.opcx_iushr, // iushr
1639: Opcode.opcx_lushr, // lushr
1640: Opcode.opcx_iand, // iand
1641: Opcode.opcx_land, // land
1642: Opcode.opcx_ior, // ior
1643: Opcode.opcx_lor, // lor
1644: Opcode.opcx_ixor, // ixor
1645: Opcode.opcx_lxor, // lxor
1646: Opcode.opcx_iinc, // iinc
1647: Opcode.opcx_i2l, // i2l
1648: Opcode.opcx_i2f, // i2f
1649: Opcode.opcx_i2d, // i2d
1650: Opcode.opcx_l2i, // l2i
1651: Opcode.opcx_l2f, // l2f
1652: Opcode.opcx_l2d, // l2d
1653: Opcode.opcx_f2i, // f2i
1654: Opcode.opcx_f2l, // f2l
1655: Opcode.opcx_f2d, // f2d
1656: Opcode.opcx_d2i, // d2i
1657: Opcode.opcx_d2l, // d2l
1658: Opcode.opcx_d2f, // d2f
1659: Opcode.opcx_i2b, // i2b
1660: Opcode.opcx_i2c, // i2c
1661: Opcode.opcx_i2s, // i2s
1662: Opcode.opcx_lcmp, // lcmp
1663: Opcode.opcx_fcmpl, // fcmpl
1664: Opcode.opcx_fcmpg, // fcmpg
1665: Opcode.opcx_dcmpl, // dcmpl
1666: Opcode.opcx_dcmpg, // dcmpg
1667: Opcode.opcx_ifeq, // ifeq
1668: Opcode.opcx_ifne, // ifne
1669: Opcode.opcx_iflt, // iflt
1670: Opcode.opcx_ifge, // ifge
1671: Opcode.opcx_ifgt, // ifgt
1672: Opcode.opcx_ifle, // ifle
1673: Opcode.opcx_if_icmpeq, // if_icmpeq
1674: Opcode.opcx_if_icmpne, // if_icmpne
1675: Opcode.opcx_if_icmplt, // if_icmplt
1676: Opcode.opcx_if_icmpge, // if_icmpge
1677: Opcode.opcx_if_icmpgt, // if_icmpgt
1678: Opcode.opcx_if_icmple, // if_icmple
1679: Opcode.opcx_if_acmpeq, // if_acmpeq
1680: Opcode.opcx_if_acmpne, // if_acmpne
1681: Opcode.opcx_goto, // goto
1682: Opcode.opcx_jsr, // jsr
1683: Opcode.opcx_ret, // ret
1684: Opcode.opcx_switch, // tableswitch
1685: Opcode.opcx_switch, // lookupswitch
1686: Opcode.opcx_ireturn, // ireturn
1687: Opcode.opcx_lreturn, // lreturn
1688: Opcode.opcx_freturn, // freturn
1689: Opcode.opcx_dreturn, // dreturn
1690: Opcode.opcx_areturn, // areturn
1691: Opcode.opcx_return, // return
1692: Opcode.opcx_getstatic, // getstatic
1693: Opcode.opcx_putstatic, // putstatic
1694: Opcode.opcx_getfield, // getfield
1695: Opcode.opcx_putfield, // putfield
1696: Opcode.opcx_invokevirtual, // invokevirtual
1697: Opcode.opcx_invokespecial, // invokespecial
1698: Opcode.opcx_invokestatic, // invokestatic
1699: Opcode.opcx_invokeinterface, // invokeinterface
1700: Opcode.opcx_nop, // xxxunusedxxx
1701: Opcode.opcx_new, // new
1702: Opcode.opcx_newarray, // newarray
1703: Opcode.opcx_newarray, // anewarray
1704: Opcode.opcx_arraylength, // arraylength
1705: Opcode.opcx_athrow, // athrow
1706: Opcode.opcx_checkcast, // checkcast
1707: Opcode.opcx_instanceof , // instanceof
1708: Opcode.opcx_monitorenter, // monitorenter
1709: Opcode.opcx_monitorexit, // monitorexit
1710: Opcode.opcx_nop, // wide
1711: Opcode.opcx_multianewarray, // multianewarray
1712: Opcode.opcx_ifnull, // ifnull
1713: Opcode.opcx_ifnonnull, // ifnonnull
1714: Opcode.opcx_goto, // goto_w
1715: Opcode.opcx_jsr, // jsr_w
1716: Opcode.opcx_nop, // breakpoint
1717: Opcode.opcx_nop, // 203
1718: Opcode.opcx_putfield_nowb, // putfield_nowb
1719: Opcode.opcx_putstatic_nowb, // putstatic_nowb
1720: Opcode.opcx_nop, // 206
1721: Opcode.opcx_nop, // 207
1722: Opcode.opcx_nop, // 208
1723: Opcode.opcx_nop, // 209
1724: Opcode.opcx_nop, // 210
1725: Opcode.opcx_nop, // 211
1726: Opcode.opcx_nop, // 212
1727: Opcode.opcx_nop, // 213
1728: Opcode.opcx_nop, // 214
1729: Opcode.opcx_nop, // 215
1730: Opcode.opcx_nop, // 216
1731: Opcode.opcx_nop, // 217
1732: Opcode.opcx_nop, // 218
1733: Opcode.opcx_nop, // 219
1734: Opcode.opcx_nop, // 220
1735: Opcode.opcx_nop, // 221
1736: Opcode.opcx_nop, // 222
1737: Opcode.opcx_nop, // 223
1738: Opcode.opcx_nop, // 224
1739: Opcode.opcx_nop, // 225
1740: Opcode.opcx_nop, // 226
1741: Opcode.opcx_nop, // 227
1742: Opcode.opcx_nop, // 228
1743: Opcode.opcx_nop, // 229
1744: Opcode.opcx_nop, // 230
1745: Opcode.opcx_nop, // 231
1746: Opcode.opcx_nop, // 232
1747: Opcode.opcx_nop, // 233
1748: Opcode.opcx_nop, // 234
1749: Opcode.opcx_nop, // 235
1750: Opcode.opcx_nop, // 236
1751: Opcode.opcx_rc, // rc
1752: Opcode.opcx_aupdate, // aupdate
1753: Opcode.opcx_supdate, // supdate
1754: Opcode.opcx_aswizzle, // aswizzle
1755: Opcode.opcx_aswrange, // aswrange
1756: Opcode.opcx_nop, // 242
1757: Opcode.opcx_nop, // 243
1758: Opcode.opcx_nop, // 244
1759: Opcode.opcx_nop, // 245
1760: Opcode.opcx_nop, // 246
1761: Opcode.opcx_nop, // 247
1762: Opcode.opcx_nop, // 248
1763: Opcode.opcx_nop, // 249
1764: Opcode.opcx_nop, // 250
1765: Opcode.opcx_nop, // 251
1766: Opcode.opcx_nop, // 252
1767: Opcode.opcx_nop, // 253
1768: Opcode.opcx_nop, // 254
1769: Opcode.opcx_nop, // 255
1770: };
1771: }
|