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