jtulach@144: /* jtulach@144: * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved. jtulach@144: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. jtulach@144: * jtulach@144: * This code is free software; you can redistribute it and/or modify it jtulach@144: * under the terms of the GNU General Public License version 2 only, as jtulach@144: * published by the Free Software Foundation. Oracle designates this jtulach@144: * particular file as subject to the "Classpath" exception as provided jtulach@144: * by Oracle in the LICENSE file that accompanied this code. jtulach@144: * jtulach@144: * This code is distributed in the hope that it will be useful, but WITHOUT jtulach@144: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or jtulach@144: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License jtulach@144: * version 2 for more details (a copy is included in the LICENSE file that jtulach@144: * accompanied this code). jtulach@144: * jtulach@144: * You should have received a copy of the GNU General Public License version jtulach@144: * 2 along with this work; if not, write to the Free Software Foundation, jtulach@144: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. jtulach@144: * jtulach@144: * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA jtulach@144: * or visit www.oracle.com if you need additional information or have any jtulach@144: * questions. jtulach@144: */ jtulach@144: jtulach@144: jtulach@167: package org.apidesign.javap; jtulach@144: jtulach@144: public interface RuntimeConstants { jtulach@144: jtulach@144: /* Signature Characters */ jtulach@144: public static final char SIGC_VOID = 'V'; jtulach@144: public static final String SIG_VOID = "V"; jtulach@144: public static final char SIGC_BOOLEAN = 'Z'; jtulach@144: public static final String SIG_BOOLEAN = "Z"; jtulach@144: public static final char SIGC_BYTE = 'B'; jtulach@144: public static final String SIG_BYTE = "B"; jtulach@144: public static final char SIGC_CHAR = 'C'; jtulach@144: public static final String SIG_CHAR = "C"; jtulach@144: public static final char SIGC_SHORT = 'S'; jtulach@144: public static final String SIG_SHORT = "S"; jtulach@144: public static final char SIGC_INT = 'I'; jtulach@144: public static final String SIG_INT = "I"; jtulach@144: public static final char SIGC_LONG = 'J'; jtulach@144: public static final String SIG_LONG = "J"; jtulach@144: public static final char SIGC_FLOAT = 'F'; jtulach@144: public static final String SIG_FLOAT = "F"; jtulach@144: public static final char SIGC_DOUBLE = 'D'; jtulach@144: public static final String SIG_DOUBLE = "D"; jtulach@144: public static final char SIGC_ARRAY = '['; jtulach@144: public static final String SIG_ARRAY = "["; jtulach@144: public static final char SIGC_CLASS = 'L'; jtulach@144: public static final String SIG_CLASS = "L"; jtulach@144: public static final char SIGC_METHOD = '('; jtulach@144: public static final String SIG_METHOD = "("; jtulach@144: public static final char SIGC_ENDCLASS = ';'; jtulach@144: public static final String SIG_ENDCLASS = ";"; jtulach@144: public static final char SIGC_ENDMETHOD = ')'; jtulach@144: public static final String SIG_ENDMETHOD = ")"; jtulach@144: public static final char SIGC_PACKAGE = '/'; jtulach@144: public static final String SIG_PACKAGE = "/"; jtulach@144: jtulach@144: /* Class File Constants */ jtulach@144: public static final int JAVA_MAGIC = 0xcafebabe; jtulach@144: public static final int JAVA_VERSION = 45; jtulach@144: public static final int JAVA_MINOR_VERSION = 3; jtulach@144: jtulach@144: /* Constant table */ jtulach@144: public static final int CONSTANT_UTF8 = 1; jtulach@144: public static final int CONSTANT_UNICODE = 2; jtulach@144: public static final int CONSTANT_INTEGER = 3; jtulach@144: public static final int CONSTANT_FLOAT = 4; jtulach@144: public static final int CONSTANT_LONG = 5; jtulach@144: public static final int CONSTANT_DOUBLE = 6; jtulach@144: public static final int CONSTANT_CLASS = 7; jtulach@144: public static final int CONSTANT_STRING = 8; jtulach@144: public static final int CONSTANT_FIELD = 9; jtulach@144: public static final int CONSTANT_METHOD = 10; jtulach@144: public static final int CONSTANT_INTERFACEMETHOD = 11; jtulach@144: public static final int CONSTANT_NAMEANDTYPE = 12; jtulach@144: jtulach@144: /* Access Flags */ jtulach@144: public static final int ACC_PUBLIC = 0x00000001; jtulach@144: public static final int ACC_PRIVATE = 0x00000002; jtulach@144: public static final int ACC_PROTECTED = 0x00000004; jtulach@144: public static final int ACC_STATIC = 0x00000008; jtulach@144: public static final int ACC_FINAL = 0x00000010; jtulach@144: public static final int ACC_SYNCHRONIZED = 0x00000020; jtulach@144: public static final int ACC_SUPER = 0x00000020; jtulach@144: public static final int ACC_VOLATILE = 0x00000040; jtulach@144: public static final int ACC_TRANSIENT = 0x00000080; jtulach@144: public static final int ACC_NATIVE = 0x00000100; jtulach@144: public static final int ACC_INTERFACE = 0x00000200; jtulach@144: public static final int ACC_ABSTRACT = 0x00000400; jtulach@144: public static final int ACC_STRICT = 0x00000800; jtulach@144: public static final int ACC_EXPLICIT = 0x00001000; jtulach@144: public static final int ACC_SYNTHETIC = 0x00010000; // actually, this is an attribute jtulach@144: jtulach@144: /* Type codes */ jtulach@144: public static final int T_CLASS = 0x00000002; jtulach@144: public static final int T_BOOLEAN = 0x00000004; jtulach@144: public static final int T_CHAR = 0x00000005; jtulach@144: public static final int T_FLOAT = 0x00000006; jtulach@144: public static final int T_DOUBLE = 0x00000007; jtulach@144: public static final int T_BYTE = 0x00000008; jtulach@144: public static final int T_SHORT = 0x00000009; jtulach@144: public static final int T_INT = 0x0000000a; jtulach@144: public static final int T_LONG = 0x0000000b; jtulach@144: jtulach@144: /* Type codes for StackMap attribute */ jtulach@144: public static final int ITEM_Bogus =0; // an unknown or uninitialized value jtulach@144: public static final int ITEM_Integer =1; // a 32-bit integer jtulach@144: public static final int ITEM_Float =2; // not used jtulach@144: public static final int ITEM_Double =3; // not used jtulach@144: public static final int ITEM_Long =4; // a 64-bit integer jtulach@144: public static final int ITEM_Null =5; // the type of null jtulach@144: public static final int ITEM_InitObject =6; // "this" in constructor jtulach@144: public static final int ITEM_Object =7; // followed by 2-byte index of class name jtulach@144: public static final int ITEM_NewObject =8; // followed by 2-byte ref to "new" jtulach@144: jtulach@144: /* Constants used in StackMapTable attribute */ jtulach@144: public static final int SAME_FRAME_BOUND = 64; jtulach@144: public static final int SAME_LOCALS_1_STACK_ITEM_BOUND = 128; jtulach@144: public static final int SAME_LOCALS_1_STACK_ITEM_EXTENDED = 247; jtulach@144: public static final int SAME_FRAME_EXTENDED = 251; jtulach@144: public static final int FULL_FRAME = 255; jtulach@144: jtulach@144: /* Opcodes */ jtulach@144: public static final int opc_dead = -2; jtulach@144: public static final int opc_label = -1; jtulach@144: public static final int opc_nop = 0; jtulach@144: public static final int opc_aconst_null = 1; jtulach@144: public static final int opc_iconst_m1 = 2; jtulach@144: public static final int opc_iconst_0 = 3; jtulach@144: public static final int opc_iconst_1 = 4; jtulach@144: public static final int opc_iconst_2 = 5; jtulach@144: public static final int opc_iconst_3 = 6; jtulach@144: public static final int opc_iconst_4 = 7; jtulach@144: public static final int opc_iconst_5 = 8; jtulach@144: public static final int opc_lconst_0 = 9; jtulach@144: public static final int opc_lconst_1 = 10; jtulach@144: public static final int opc_fconst_0 = 11; jtulach@144: public static final int opc_fconst_1 = 12; jtulach@144: public static final int opc_fconst_2 = 13; jtulach@144: public static final int opc_dconst_0 = 14; jtulach@144: public static final int opc_dconst_1 = 15; jtulach@144: public static final int opc_bipush = 16; jtulach@144: public static final int opc_sipush = 17; jtulach@144: public static final int opc_ldc = 18; jtulach@144: public static final int opc_ldc_w = 19; jtulach@144: public static final int opc_ldc2_w = 20; jtulach@144: public static final int opc_iload = 21; jtulach@144: public static final int opc_lload = 22; jtulach@144: public static final int opc_fload = 23; jtulach@144: public static final int opc_dload = 24; jtulach@144: public static final int opc_aload = 25; jtulach@144: public static final int opc_iload_0 = 26; jtulach@144: public static final int opc_iload_1 = 27; jtulach@144: public static final int opc_iload_2 = 28; jtulach@144: public static final int opc_iload_3 = 29; jtulach@144: public static final int opc_lload_0 = 30; jtulach@144: public static final int opc_lload_1 = 31; jtulach@144: public static final int opc_lload_2 = 32; jtulach@144: public static final int opc_lload_3 = 33; jtulach@144: public static final int opc_fload_0 = 34; jtulach@144: public static final int opc_fload_1 = 35; jtulach@144: public static final int opc_fload_2 = 36; jtulach@144: public static final int opc_fload_3 = 37; jtulach@144: public static final int opc_dload_0 = 38; jtulach@144: public static final int opc_dload_1 = 39; jtulach@144: public static final int opc_dload_2 = 40; jtulach@144: public static final int opc_dload_3 = 41; jtulach@144: public static final int opc_aload_0 = 42; jtulach@144: public static final int opc_aload_1 = 43; jtulach@144: public static final int opc_aload_2 = 44; jtulach@144: public static final int opc_aload_3 = 45; jtulach@144: public static final int opc_iaload = 46; jtulach@144: public static final int opc_laload = 47; jtulach@144: public static final int opc_faload = 48; jtulach@144: public static final int opc_daload = 49; jtulach@144: public static final int opc_aaload = 50; jtulach@144: public static final int opc_baload = 51; jtulach@144: public static final int opc_caload = 52; jtulach@144: public static final int opc_saload = 53; jtulach@144: public static final int opc_istore = 54; jtulach@144: public static final int opc_lstore = 55; jtulach@144: public static final int opc_fstore = 56; jtulach@144: public static final int opc_dstore = 57; jtulach@144: public static final int opc_astore = 58; jtulach@144: public static final int opc_istore_0 = 59; jtulach@144: public static final int opc_istore_1 = 60; jtulach@144: public static final int opc_istore_2 = 61; jtulach@144: public static final int opc_istore_3 = 62; jtulach@144: public static final int opc_lstore_0 = 63; jtulach@144: public static final int opc_lstore_1 = 64; jtulach@144: public static final int opc_lstore_2 = 65; jtulach@144: public static final int opc_lstore_3 = 66; jtulach@144: public static final int opc_fstore_0 = 67; jtulach@144: public static final int opc_fstore_1 = 68; jtulach@144: public static final int opc_fstore_2 = 69; jtulach@144: public static final int opc_fstore_3 = 70; jtulach@144: public static final int opc_dstore_0 = 71; jtulach@144: public static final int opc_dstore_1 = 72; jtulach@144: public static final int opc_dstore_2 = 73; jtulach@144: public static final int opc_dstore_3 = 74; jtulach@144: public static final int opc_astore_0 = 75; jtulach@144: public static final int opc_astore_1 = 76; jtulach@144: public static final int opc_astore_2 = 77; jtulach@144: public static final int opc_astore_3 = 78; jtulach@144: public static final int opc_iastore = 79; jtulach@144: public static final int opc_lastore = 80; jtulach@144: public static final int opc_fastore = 81; jtulach@144: public static final int opc_dastore = 82; jtulach@144: public static final int opc_aastore = 83; jtulach@144: public static final int opc_bastore = 84; jtulach@144: public static final int opc_castore = 85; jtulach@144: public static final int opc_sastore = 86; jtulach@144: public static final int opc_pop = 87; jtulach@144: public static final int opc_pop2 = 88; jtulach@144: public static final int opc_dup = 89; jtulach@144: public static final int opc_dup_x1 = 90; jtulach@144: public static final int opc_dup_x2 = 91; jtulach@144: public static final int opc_dup2 = 92; jtulach@144: public static final int opc_dup2_x1 = 93; jtulach@144: public static final int opc_dup2_x2 = 94; jtulach@144: public static final int opc_swap = 95; jtulach@144: public static final int opc_iadd = 96; jtulach@144: public static final int opc_ladd = 97; jtulach@144: public static final int opc_fadd = 98; jtulach@144: public static final int opc_dadd = 99; jtulach@144: public static final int opc_isub = 100; jtulach@144: public static final int opc_lsub = 101; jtulach@144: public static final int opc_fsub = 102; jtulach@144: public static final int opc_dsub = 103; jtulach@144: public static final int opc_imul = 104; jtulach@144: public static final int opc_lmul = 105; jtulach@144: public static final int opc_fmul = 106; jtulach@144: public static final int opc_dmul = 107; jtulach@144: public static final int opc_idiv = 108; jtulach@144: public static final int opc_ldiv = 109; jtulach@144: public static final int opc_fdiv = 110; jtulach@144: public static final int opc_ddiv = 111; jtulach@144: public static final int opc_irem = 112; jtulach@144: public static final int opc_lrem = 113; jtulach@144: public static final int opc_frem = 114; jtulach@144: public static final int opc_drem = 115; jtulach@144: public static final int opc_ineg = 116; jtulach@144: public static final int opc_lneg = 117; jtulach@144: public static final int opc_fneg = 118; jtulach@144: public static final int opc_dneg = 119; jtulach@144: public static final int opc_ishl = 120; jtulach@144: public static final int opc_lshl = 121; jtulach@144: public static final int opc_ishr = 122; jtulach@144: public static final int opc_lshr = 123; jtulach@144: public static final int opc_iushr = 124; jtulach@144: public static final int opc_lushr = 125; jtulach@144: public static final int opc_iand = 126; jtulach@144: public static final int opc_land = 127; jtulach@144: public static final int opc_ior = 128; jtulach@144: public static final int opc_lor = 129; jtulach@144: public static final int opc_ixor = 130; jtulach@144: public static final int opc_lxor = 131; jtulach@144: public static final int opc_iinc = 132; jtulach@144: public static final int opc_i2l = 133; jtulach@144: public static final int opc_i2f = 134; jtulach@144: public static final int opc_i2d = 135; jtulach@144: public static final int opc_l2i = 136; jtulach@144: public static final int opc_l2f = 137; jtulach@144: public static final int opc_l2d = 138; jtulach@144: public static final int opc_f2i = 139; jtulach@144: public static final int opc_f2l = 140; jtulach@144: public static final int opc_f2d = 141; jtulach@144: public static final int opc_d2i = 142; jtulach@144: public static final int opc_d2l = 143; jtulach@144: public static final int opc_d2f = 144; jtulach@144: public static final int opc_i2b = 145; jtulach@144: public static final int opc_int2byte = 145; jtulach@144: public static final int opc_i2c = 146; jtulach@144: public static final int opc_int2char = 146; jtulach@144: public static final int opc_i2s = 147; jtulach@144: public static final int opc_int2short = 147; jtulach@144: public static final int opc_lcmp = 148; jtulach@144: public static final int opc_fcmpl = 149; jtulach@144: public static final int opc_fcmpg = 150; jtulach@144: public static final int opc_dcmpl = 151; jtulach@144: public static final int opc_dcmpg = 152; jtulach@144: public static final int opc_ifeq = 153; jtulach@144: public static final int opc_ifne = 154; jtulach@144: public static final int opc_iflt = 155; jtulach@144: public static final int opc_ifge = 156; jtulach@144: public static final int opc_ifgt = 157; jtulach@144: public static final int opc_ifle = 158; jtulach@144: public static final int opc_if_icmpeq = 159; jtulach@144: public static final int opc_if_icmpne = 160; jtulach@144: public static final int opc_if_icmplt = 161; jtulach@144: public static final int opc_if_icmpge = 162; jtulach@144: public static final int opc_if_icmpgt = 163; jtulach@144: public static final int opc_if_icmple = 164; jtulach@144: public static final int opc_if_acmpeq = 165; jtulach@144: public static final int opc_if_acmpne = 166; jtulach@144: public static final int opc_goto = 167; jtulach@144: public static final int opc_jsr = 168; jtulach@144: public static final int opc_ret = 169; jtulach@144: public static final int opc_tableswitch = 170; jtulach@144: public static final int opc_lookupswitch = 171; jtulach@144: public static final int opc_ireturn = 172; jtulach@144: public static final int opc_lreturn = 173; jtulach@144: public static final int opc_freturn = 174; jtulach@144: public static final int opc_dreturn = 175; jtulach@144: public static final int opc_areturn = 176; jtulach@144: public static final int opc_return = 177; jtulach@144: public static final int opc_getstatic = 178; jtulach@144: public static final int opc_putstatic = 179; jtulach@144: public static final int opc_getfield = 180; jtulach@144: public static final int opc_putfield = 181; jtulach@144: public static final int opc_invokevirtual = 182; jtulach@144: public static final int opc_invokenonvirtual = 183; jtulach@144: public static final int opc_invokespecial = 183; jtulach@144: public static final int opc_invokestatic = 184; jtulach@144: public static final int opc_invokeinterface = 185; jtulach@144: // public static final int opc_xxxunusedxxx = 186; jtulach@144: public static final int opc_new = 187; jtulach@144: public static final int opc_newarray = 188; jtulach@144: public static final int opc_anewarray = 189; jtulach@144: public static final int opc_arraylength = 190; jtulach@144: public static final int opc_athrow = 191; jtulach@144: public static final int opc_checkcast = 192; jtulach@144: public static final int opc_instanceof = 193; jtulach@144: public static final int opc_monitorenter = 194; jtulach@144: public static final int opc_monitorexit = 195; jtulach@144: public static final int opc_wide = 196; jtulach@144: public static final int opc_multianewarray = 197; jtulach@144: public static final int opc_ifnull = 198; jtulach@144: public static final int opc_ifnonnull = 199; jtulach@144: public static final int opc_goto_w = 200; jtulach@144: public static final int opc_jsr_w = 201; jtulach@144: /* Pseudo-instructions */ jtulach@144: public static final int opc_bytecode = 203; jtulach@144: public static final int opc_try = 204; jtulach@144: public static final int opc_endtry = 205; jtulach@144: public static final int opc_catch = 206; jtulach@144: public static final int opc_var = 207; jtulach@144: public static final int opc_endvar = 208; jtulach@144: public static final int opc_localsmap = 209; jtulach@144: public static final int opc_stackmap = 210; jtulach@144: /* PicoJava prefixes */ jtulach@144: public static final int opc_nonpriv = 254; jtulach@144: public static final int opc_priv = 255; jtulach@144: jtulach@144: /* Wide instructions */ jtulach@144: public static final int opc_iload_w = (opc_wide<<8)|opc_iload; jtulach@144: public static final int opc_lload_w = (opc_wide<<8)|opc_lload; jtulach@144: public static final int opc_fload_w = (opc_wide<<8)|opc_fload; jtulach@144: public static final int opc_dload_w = (opc_wide<<8)|opc_dload; jtulach@144: public static final int opc_aload_w = (opc_wide<<8)|opc_aload; jtulach@144: public static final int opc_istore_w = (opc_wide<<8)|opc_istore; jtulach@144: public static final int opc_lstore_w = (opc_wide<<8)|opc_lstore; jtulach@144: public static final int opc_fstore_w = (opc_wide<<8)|opc_fstore; jtulach@144: public static final int opc_dstore_w = (opc_wide<<8)|opc_dstore; jtulach@144: public static final int opc_astore_w = (opc_wide<<8)|opc_astore; jtulach@144: public static final int opc_ret_w = (opc_wide<<8)|opc_ret; jtulach@144: public static final int opc_iinc_w = (opc_wide<<8)|opc_iinc; jtulach@144: jtulach@144: /* Opcode Names */ jtulach@144: public static final String opcNamesTab[] = { jtulach@144: "nop", jtulach@144: "aconst_null", jtulach@144: "iconst_m1", jtulach@144: "iconst_0", jtulach@144: "iconst_1", jtulach@144: "iconst_2", jtulach@144: "iconst_3", jtulach@144: "iconst_4", jtulach@144: "iconst_5", jtulach@144: "lconst_0", jtulach@144: "lconst_1", jtulach@144: "fconst_0", jtulach@144: "fconst_1", jtulach@144: "fconst_2", jtulach@144: "dconst_0", jtulach@144: "dconst_1", jtulach@144: "bipush", jtulach@144: "sipush", jtulach@144: "ldc", jtulach@144: "ldc_w", jtulach@144: "ldc2_w", jtulach@144: "iload", jtulach@144: "lload", jtulach@144: "fload", jtulach@144: "dload", jtulach@144: "aload", jtulach@144: "iload_0", jtulach@144: "iload_1", jtulach@144: "iload_2", jtulach@144: "iload_3", jtulach@144: "lload_0", jtulach@144: "lload_1", jtulach@144: "lload_2", jtulach@144: "lload_3", jtulach@144: "fload_0", jtulach@144: "fload_1", jtulach@144: "fload_2", jtulach@144: "fload_3", jtulach@144: "dload_0", jtulach@144: "dload_1", jtulach@144: "dload_2", jtulach@144: "dload_3", jtulach@144: "aload_0", jtulach@144: "aload_1", jtulach@144: "aload_2", jtulach@144: "aload_3", jtulach@144: "iaload", jtulach@144: "laload", jtulach@144: "faload", jtulach@144: "daload", jtulach@144: "aaload", jtulach@144: "baload", jtulach@144: "caload", jtulach@144: "saload", jtulach@144: "istore", jtulach@144: "lstore", jtulach@144: "fstore", jtulach@144: "dstore", jtulach@144: "astore", jtulach@144: "istore_0", jtulach@144: "istore_1", jtulach@144: "istore_2", jtulach@144: "istore_3", jtulach@144: "lstore_0", jtulach@144: "lstore_1", jtulach@144: "lstore_2", jtulach@144: "lstore_3", jtulach@144: "fstore_0", jtulach@144: "fstore_1", jtulach@144: "fstore_2", jtulach@144: "fstore_3", jtulach@144: "dstore_0", jtulach@144: "dstore_1", jtulach@144: "dstore_2", jtulach@144: "dstore_3", jtulach@144: "astore_0", jtulach@144: "astore_1", jtulach@144: "astore_2", jtulach@144: "astore_3", jtulach@144: "iastore", jtulach@144: "lastore", jtulach@144: "fastore", jtulach@144: "dastore", jtulach@144: "aastore", jtulach@144: "bastore", jtulach@144: "castore", jtulach@144: "sastore", jtulach@144: "pop", jtulach@144: "pop2", jtulach@144: "dup", jtulach@144: "dup_x1", jtulach@144: "dup_x2", jtulach@144: "dup2", jtulach@144: "dup2_x1", jtulach@144: "dup2_x2", jtulach@144: "swap", jtulach@144: "iadd", jtulach@144: "ladd", jtulach@144: "fadd", jtulach@144: "dadd", jtulach@144: "isub", jtulach@144: "lsub", jtulach@144: "fsub", jtulach@144: "dsub", jtulach@144: "imul", jtulach@144: "lmul", jtulach@144: "fmul", jtulach@144: "dmul", jtulach@144: "idiv", jtulach@144: "ldiv", jtulach@144: "fdiv", jtulach@144: "ddiv", jtulach@144: "irem", jtulach@144: "lrem", jtulach@144: "frem", jtulach@144: "drem", jtulach@144: "ineg", jtulach@144: "lneg", jtulach@144: "fneg", jtulach@144: "dneg", jtulach@144: "ishl", jtulach@144: "lshl", jtulach@144: "ishr", jtulach@144: "lshr", jtulach@144: "iushr", jtulach@144: "lushr", jtulach@144: "iand", jtulach@144: "land", jtulach@144: "ior", jtulach@144: "lor", jtulach@144: "ixor", jtulach@144: "lxor", jtulach@144: "iinc", jtulach@144: "i2l", jtulach@144: "i2f", jtulach@144: "i2d", jtulach@144: "l2i", jtulach@144: "l2f", jtulach@144: "l2d", jtulach@144: "f2i", jtulach@144: "f2l", jtulach@144: "f2d", jtulach@144: "d2i", jtulach@144: "d2l", jtulach@144: "d2f", jtulach@144: "i2b", jtulach@144: "i2c", jtulach@144: "i2s", jtulach@144: "lcmp", jtulach@144: "fcmpl", jtulach@144: "fcmpg", jtulach@144: "dcmpl", jtulach@144: "dcmpg", jtulach@144: "ifeq", jtulach@144: "ifne", jtulach@144: "iflt", jtulach@144: "ifge", jtulach@144: "ifgt", jtulach@144: "ifle", jtulach@144: "if_icmpeq", jtulach@144: "if_icmpne", jtulach@144: "if_icmplt", jtulach@144: "if_icmpge", jtulach@144: "if_icmpgt", jtulach@144: "if_icmple", jtulach@144: "if_acmpeq", jtulach@144: "if_acmpne", jtulach@144: "goto", jtulach@144: "jsr", jtulach@144: "ret", jtulach@144: "tableswitch", jtulach@144: "lookupswitch", jtulach@144: "ireturn", jtulach@144: "lreturn", jtulach@144: "freturn", jtulach@144: "dreturn", jtulach@144: "areturn", jtulach@144: "return", jtulach@144: "getstatic", jtulach@144: "putstatic", jtulach@144: "getfield", jtulach@144: "putfield", jtulach@144: "invokevirtual", jtulach@144: "invokespecial", // was "invokenonvirtual", jtulach@144: "invokestatic", jtulach@144: "invokeinterface", jtulach@144: "bytecode 186", //"xxxunusedxxx", jtulach@144: "new", jtulach@144: "newarray", jtulach@144: "anewarray", jtulach@144: "arraylength", jtulach@144: "athrow", jtulach@144: "checkcast", jtulach@144: "instanceof", jtulach@144: "monitorenter", jtulach@144: "monitorexit", jtulach@144: null, // "wide", jtulach@144: "multianewarray", jtulach@144: "ifnull", jtulach@144: "ifnonnull", jtulach@144: "goto_w", jtulach@144: "jsr_w", jtulach@144: "bytecode 202", // "breakpoint", jtulach@144: "bytecode", jtulach@144: "try", jtulach@144: "endtry", jtulach@144: "catch", jtulach@144: "var", jtulach@144: "endvar", jtulach@144: "locals_map", jtulach@144: "stack_map" jtulach@144: }; jtulach@144: jtulach@144: /* Opcode Lengths */ jtulach@144: public static final int opcLengthsTab[] = { jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 2, jtulach@144: 3, jtulach@144: 2, jtulach@144: 3, jtulach@144: 3, jtulach@144: 2, jtulach@144: 2, jtulach@144: 2, jtulach@144: 2, jtulach@144: 2, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 2, jtulach@144: 2, jtulach@144: 2, jtulach@144: 2, jtulach@144: 2, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 3, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 2, jtulach@144: 99, jtulach@144: 99, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 1, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 3, jtulach@144: 5, jtulach@144: 0, jtulach@144: 3, jtulach@144: 2, jtulach@144: 3, jtulach@144: 1, jtulach@144: 1, jtulach@144: 3, jtulach@144: 3, jtulach@144: 1, jtulach@144: 1, jtulach@144: 0, // wide jtulach@144: 4, jtulach@144: 3, jtulach@144: 3, jtulach@144: 5, jtulach@144: 5, jtulach@144: 1, jtulach@144: 1, 0, 0, 0, 0, 0 // pseudo jtulach@144: }; jtulach@144: jtulach@144: }