javap/src/main/java/org/apidesign/javap/RuntimeConstants.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 07 Feb 2013 12:58:12 +0100
branchemul
changeset 694 0d277415ed02
parent 144 b06660b614db
permissions -rw-r--r--
Rebasing the Inflater support on jzlib which, unlike GNU ClassPath, has correct implementation of Huffman code. Making the implementation more easily testable by turning Inflater and ZipInputStream into pure delegates. Current implementation is going to need proper long support.
jtulach@144
     1
/*
jtulach@144
     2
 * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
jtulach@144
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
jtulach@144
     4
 *
jtulach@144
     5
 * This code is free software; you can redistribute it and/or modify it
jtulach@144
     6
 * under the terms of the GNU General Public License version 2 only, as
jtulach@144
     7
 * published by the Free Software Foundation.  Oracle designates this
jtulach@144
     8
 * particular file as subject to the "Classpath" exception as provided
jtulach@144
     9
 * by Oracle in the LICENSE file that accompanied this code.
jtulach@144
    10
 *
jtulach@144
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
jtulach@144
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
jtulach@144
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
jtulach@144
    14
 * version 2 for more details (a copy is included in the LICENSE file that
jtulach@144
    15
 * accompanied this code).
jtulach@144
    16
 *
jtulach@144
    17
 * You should have received a copy of the GNU General Public License version
jtulach@144
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
jtulach@144
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
jtulach@144
    20
 *
jtulach@144
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
jtulach@144
    22
 * or visit www.oracle.com if you need additional information or have any
jtulach@144
    23
 * questions.
jtulach@144
    24
 */
jtulach@144
    25
jtulach@144
    26
jtulach@167
    27
package org.apidesign.javap;
jtulach@144
    28
jtulach@144
    29
public interface RuntimeConstants {
jtulach@144
    30
jtulach@144
    31
    /* Signature Characters */
jtulach@144
    32
    public static final char   SIGC_VOID                  = 'V';
jtulach@144
    33
    public static final String SIG_VOID                   = "V";
jtulach@144
    34
    public static final char   SIGC_BOOLEAN               = 'Z';
jtulach@144
    35
    public static final String SIG_BOOLEAN                = "Z";
jtulach@144
    36
    public static final char   SIGC_BYTE                  = 'B';
jtulach@144
    37
    public static final String SIG_BYTE                   = "B";
jtulach@144
    38
    public static final char   SIGC_CHAR                  = 'C';
jtulach@144
    39
    public static final String SIG_CHAR                   = "C";
jtulach@144
    40
    public static final char   SIGC_SHORT                 = 'S';
jtulach@144
    41
    public static final String SIG_SHORT                  = "S";
jtulach@144
    42
    public static final char   SIGC_INT                   = 'I';
jtulach@144
    43
    public static final String SIG_INT                    = "I";
jtulach@144
    44
    public static final char   SIGC_LONG                  = 'J';
jtulach@144
    45
    public static final String SIG_LONG                   = "J";
jtulach@144
    46
    public static final char   SIGC_FLOAT                 = 'F';
jtulach@144
    47
    public static final String SIG_FLOAT                  = "F";
jtulach@144
    48
    public static final char   SIGC_DOUBLE                = 'D';
jtulach@144
    49
    public static final String SIG_DOUBLE                 = "D";
jtulach@144
    50
    public static final char   SIGC_ARRAY                 = '[';
jtulach@144
    51
    public static final String SIG_ARRAY                  = "[";
jtulach@144
    52
    public static final char   SIGC_CLASS                 = 'L';
jtulach@144
    53
    public static final String SIG_CLASS                  = "L";
jtulach@144
    54
    public static final char   SIGC_METHOD                = '(';
jtulach@144
    55
    public static final String SIG_METHOD                 = "(";
jtulach@144
    56
    public static final char   SIGC_ENDCLASS              = ';';
jtulach@144
    57
    public static final String SIG_ENDCLASS               = ";";
jtulach@144
    58
    public static final char   SIGC_ENDMETHOD             = ')';
jtulach@144
    59
    public static final String SIG_ENDMETHOD              = ")";
jtulach@144
    60
    public static final char   SIGC_PACKAGE               = '/';
jtulach@144
    61
    public static final String SIG_PACKAGE                = "/";
jtulach@144
    62
jtulach@144
    63
    /* Class File Constants */
jtulach@144
    64
    public static final int JAVA_MAGIC                   = 0xcafebabe;
jtulach@144
    65
    public static final int JAVA_VERSION                 = 45;
jtulach@144
    66
    public static final int JAVA_MINOR_VERSION           = 3;
jtulach@144
    67
jtulach@144
    68
    /* Constant table */
jtulach@144
    69
    public static final int CONSTANT_UTF8                = 1;
jtulach@144
    70
    public static final int CONSTANT_UNICODE             = 2;
jtulach@144
    71
    public static final int CONSTANT_INTEGER             = 3;
jtulach@144
    72
    public static final int CONSTANT_FLOAT               = 4;
jtulach@144
    73
    public static final int CONSTANT_LONG                = 5;
jtulach@144
    74
    public static final int CONSTANT_DOUBLE              = 6;
jtulach@144
    75
    public static final int CONSTANT_CLASS               = 7;
jtulach@144
    76
    public static final int CONSTANT_STRING              = 8;
jtulach@144
    77
    public static final int CONSTANT_FIELD               = 9;
jtulach@144
    78
    public static final int CONSTANT_METHOD              = 10;
jtulach@144
    79
    public static final int CONSTANT_INTERFACEMETHOD     = 11;
jtulach@144
    80
    public static final int CONSTANT_NAMEANDTYPE         = 12;
jtulach@144
    81
jtulach@144
    82
    /* Access Flags */
jtulach@144
    83
    public static final int ACC_PUBLIC                   = 0x00000001;
jtulach@144
    84
    public static final int ACC_PRIVATE                  = 0x00000002;
jtulach@144
    85
    public static final int ACC_PROTECTED                = 0x00000004;
jtulach@144
    86
    public static final int ACC_STATIC                   = 0x00000008;
jtulach@144
    87
    public static final int ACC_FINAL                    = 0x00000010;
jtulach@144
    88
    public static final int ACC_SYNCHRONIZED             = 0x00000020;
jtulach@144
    89
    public static final int ACC_SUPER                        = 0x00000020;
jtulach@144
    90
    public static final int ACC_VOLATILE                 = 0x00000040;
jtulach@144
    91
    public static final int ACC_TRANSIENT                = 0x00000080;
jtulach@144
    92
    public static final int ACC_NATIVE                   = 0x00000100;
jtulach@144
    93
    public static final int ACC_INTERFACE                = 0x00000200;
jtulach@144
    94
    public static final int ACC_ABSTRACT                 = 0x00000400;
jtulach@144
    95
    public static final int ACC_STRICT                   = 0x00000800;
jtulach@144
    96
    public static final int ACC_EXPLICIT                 = 0x00001000;
jtulach@144
    97
    public static final int ACC_SYNTHETIC                = 0x00010000; // actually, this is an attribute
jtulach@144
    98
jtulach@144
    99
    /* Type codes */
jtulach@144
   100
    public static final int T_CLASS                      = 0x00000002;
jtulach@144
   101
    public static final int T_BOOLEAN                    = 0x00000004;
jtulach@144
   102
    public static final int T_CHAR                       = 0x00000005;
jtulach@144
   103
    public static final int T_FLOAT                      = 0x00000006;
jtulach@144
   104
    public static final int T_DOUBLE                     = 0x00000007;
jtulach@144
   105
    public static final int T_BYTE                       = 0x00000008;
jtulach@144
   106
    public static final int T_SHORT                      = 0x00000009;
jtulach@144
   107
    public static final int T_INT                        = 0x0000000a;
jtulach@144
   108
    public static final int T_LONG                       = 0x0000000b;
jtulach@144
   109
jtulach@144
   110
    /* Type codes for StackMap attribute */
jtulach@144
   111
    public static final int ITEM_Bogus      =0; // an unknown or uninitialized value
jtulach@144
   112
    public static final int ITEM_Integer    =1; // a 32-bit integer
jtulach@144
   113
    public static final int ITEM_Float      =2; // not used
jtulach@144
   114
    public static final int ITEM_Double     =3; // not used
jtulach@144
   115
    public static final int ITEM_Long       =4; // a 64-bit integer
jtulach@144
   116
    public static final int ITEM_Null       =5; // the type of null
jtulach@144
   117
    public static final int ITEM_InitObject =6; // "this" in constructor
jtulach@144
   118
    public static final int ITEM_Object     =7; // followed by 2-byte index of class name
jtulach@144
   119
    public static final int ITEM_NewObject  =8; // followed by 2-byte ref to "new"
jtulach@144
   120
jtulach@144
   121
    /* Constants used in StackMapTable attribute */
jtulach@144
   122
    public static final int SAME_FRAME_BOUND                  = 64;
jtulach@144
   123
    public static final int SAME_LOCALS_1_STACK_ITEM_BOUND    = 128;
jtulach@144
   124
    public static final int SAME_LOCALS_1_STACK_ITEM_EXTENDED = 247;
jtulach@144
   125
    public static final int SAME_FRAME_EXTENDED               = 251;
jtulach@144
   126
    public static final int FULL_FRAME                        = 255;
jtulach@144
   127
jtulach@144
   128
    /* Opcodes */
jtulach@144
   129
    public static final int opc_dead                     = -2;
jtulach@144
   130
    public static final int opc_label                    = -1;
jtulach@144
   131
    public static final int opc_nop                      = 0;
jtulach@144
   132
    public static final int opc_aconst_null              = 1;
jtulach@144
   133
    public static final int opc_iconst_m1                = 2;
jtulach@144
   134
    public static final int opc_iconst_0                 = 3;
jtulach@144
   135
    public static final int opc_iconst_1                 = 4;
jtulach@144
   136
    public static final int opc_iconst_2                 = 5;
jtulach@144
   137
    public static final int opc_iconst_3                 = 6;
jtulach@144
   138
    public static final int opc_iconst_4                 = 7;
jtulach@144
   139
    public static final int opc_iconst_5                 = 8;
jtulach@144
   140
    public static final int opc_lconst_0                 = 9;
jtulach@144
   141
    public static final int opc_lconst_1                 = 10;
jtulach@144
   142
    public static final int opc_fconst_0                 = 11;
jtulach@144
   143
    public static final int opc_fconst_1                 = 12;
jtulach@144
   144
    public static final int opc_fconst_2                 = 13;
jtulach@144
   145
    public static final int opc_dconst_0                 = 14;
jtulach@144
   146
    public static final int opc_dconst_1                 = 15;
jtulach@144
   147
    public static final int opc_bipush                   = 16;
jtulach@144
   148
    public static final int opc_sipush                   = 17;
jtulach@144
   149
    public static final int opc_ldc                      = 18;
jtulach@144
   150
    public static final int opc_ldc_w                    = 19;
jtulach@144
   151
    public static final int opc_ldc2_w                   = 20;
jtulach@144
   152
    public static final int opc_iload                    = 21;
jtulach@144
   153
    public static final int opc_lload                    = 22;
jtulach@144
   154
    public static final int opc_fload                    = 23;
jtulach@144
   155
    public static final int opc_dload                    = 24;
jtulach@144
   156
    public static final int opc_aload                    = 25;
jtulach@144
   157
    public static final int opc_iload_0                  = 26;
jtulach@144
   158
    public static final int opc_iload_1                  = 27;
jtulach@144
   159
    public static final int opc_iload_2                  = 28;
jtulach@144
   160
    public static final int opc_iload_3                  = 29;
jtulach@144
   161
    public static final int opc_lload_0                  = 30;
jtulach@144
   162
    public static final int opc_lload_1                  = 31;
jtulach@144
   163
    public static final int opc_lload_2                  = 32;
jtulach@144
   164
    public static final int opc_lload_3                  = 33;
jtulach@144
   165
    public static final int opc_fload_0                  = 34;
jtulach@144
   166
    public static final int opc_fload_1                  = 35;
jtulach@144
   167
    public static final int opc_fload_2                  = 36;
jtulach@144
   168
    public static final int opc_fload_3                  = 37;
jtulach@144
   169
    public static final int opc_dload_0                  = 38;
jtulach@144
   170
    public static final int opc_dload_1                  = 39;
jtulach@144
   171
    public static final int opc_dload_2                  = 40;
jtulach@144
   172
    public static final int opc_dload_3                  = 41;
jtulach@144
   173
    public static final int opc_aload_0                  = 42;
jtulach@144
   174
    public static final int opc_aload_1                  = 43;
jtulach@144
   175
    public static final int opc_aload_2                  = 44;
jtulach@144
   176
    public static final int opc_aload_3                  = 45;
jtulach@144
   177
    public static final int opc_iaload                   = 46;
jtulach@144
   178
    public static final int opc_laload                   = 47;
jtulach@144
   179
    public static final int opc_faload                   = 48;
jtulach@144
   180
    public static final int opc_daload                   = 49;
jtulach@144
   181
    public static final int opc_aaload                   = 50;
jtulach@144
   182
    public static final int opc_baload                   = 51;
jtulach@144
   183
    public static final int opc_caload                   = 52;
jtulach@144
   184
    public static final int opc_saload                   = 53;
jtulach@144
   185
    public static final int opc_istore                   = 54;
jtulach@144
   186
    public static final int opc_lstore                   = 55;
jtulach@144
   187
    public static final int opc_fstore                   = 56;
jtulach@144
   188
    public static final int opc_dstore                   = 57;
jtulach@144
   189
    public static final int opc_astore                   = 58;
jtulach@144
   190
    public static final int opc_istore_0                 = 59;
jtulach@144
   191
    public static final int opc_istore_1                 = 60;
jtulach@144
   192
    public static final int opc_istore_2                 = 61;
jtulach@144
   193
    public static final int opc_istore_3                 = 62;
jtulach@144
   194
    public static final int opc_lstore_0                 = 63;
jtulach@144
   195
    public static final int opc_lstore_1                 = 64;
jtulach@144
   196
    public static final int opc_lstore_2                 = 65;
jtulach@144
   197
    public static final int opc_lstore_3                 = 66;
jtulach@144
   198
    public static final int opc_fstore_0                 = 67;
jtulach@144
   199
    public static final int opc_fstore_1                 = 68;
jtulach@144
   200
    public static final int opc_fstore_2                 = 69;
jtulach@144
   201
    public static final int opc_fstore_3                 = 70;
jtulach@144
   202
    public static final int opc_dstore_0                 = 71;
jtulach@144
   203
    public static final int opc_dstore_1                 = 72;
jtulach@144
   204
    public static final int opc_dstore_2                 = 73;
jtulach@144
   205
    public static final int opc_dstore_3                 = 74;
jtulach@144
   206
    public static final int opc_astore_0                 = 75;
jtulach@144
   207
    public static final int opc_astore_1                 = 76;
jtulach@144
   208
    public static final int opc_astore_2                 = 77;
jtulach@144
   209
    public static final int opc_astore_3                 = 78;
jtulach@144
   210
    public static final int opc_iastore                  = 79;
jtulach@144
   211
    public static final int opc_lastore                  = 80;
jtulach@144
   212
    public static final int opc_fastore                  = 81;
jtulach@144
   213
    public static final int opc_dastore                  = 82;
jtulach@144
   214
    public static final int opc_aastore                  = 83;
jtulach@144
   215
    public static final int opc_bastore                  = 84;
jtulach@144
   216
    public static final int opc_castore                  = 85;
jtulach@144
   217
    public static final int opc_sastore                  = 86;
jtulach@144
   218
    public static final int opc_pop                      = 87;
jtulach@144
   219
    public static final int opc_pop2                     = 88;
jtulach@144
   220
    public static final int opc_dup                      = 89;
jtulach@144
   221
    public static final int opc_dup_x1                   = 90;
jtulach@144
   222
    public static final int opc_dup_x2                   = 91;
jtulach@144
   223
    public static final int opc_dup2                     = 92;
jtulach@144
   224
    public static final int opc_dup2_x1                  = 93;
jtulach@144
   225
    public static final int opc_dup2_x2                  = 94;
jtulach@144
   226
    public static final int opc_swap                     = 95;
jtulach@144
   227
    public static final int opc_iadd                     = 96;
jtulach@144
   228
    public static final int opc_ladd                     = 97;
jtulach@144
   229
    public static final int opc_fadd                     = 98;
jtulach@144
   230
    public static final int opc_dadd                     = 99;
jtulach@144
   231
    public static final int opc_isub                     = 100;
jtulach@144
   232
    public static final int opc_lsub                     = 101;
jtulach@144
   233
    public static final int opc_fsub                     = 102;
jtulach@144
   234
    public static final int opc_dsub                     = 103;
jtulach@144
   235
    public static final int opc_imul                     = 104;
jtulach@144
   236
    public static final int opc_lmul                     = 105;
jtulach@144
   237
    public static final int opc_fmul                     = 106;
jtulach@144
   238
    public static final int opc_dmul                     = 107;
jtulach@144
   239
    public static final int opc_idiv                     = 108;
jtulach@144
   240
    public static final int opc_ldiv                     = 109;
jtulach@144
   241
    public static final int opc_fdiv                     = 110;
jtulach@144
   242
    public static final int opc_ddiv                     = 111;
jtulach@144
   243
    public static final int opc_irem                     = 112;
jtulach@144
   244
    public static final int opc_lrem                     = 113;
jtulach@144
   245
    public static final int opc_frem                     = 114;
jtulach@144
   246
    public static final int opc_drem                     = 115;
jtulach@144
   247
    public static final int opc_ineg                     = 116;
jtulach@144
   248
    public static final int opc_lneg                     = 117;
jtulach@144
   249
    public static final int opc_fneg                     = 118;
jtulach@144
   250
    public static final int opc_dneg                     = 119;
jtulach@144
   251
    public static final int opc_ishl                     = 120;
jtulach@144
   252
    public static final int opc_lshl                     = 121;
jtulach@144
   253
    public static final int opc_ishr                     = 122;
jtulach@144
   254
    public static final int opc_lshr                     = 123;
jtulach@144
   255
    public static final int opc_iushr                    = 124;
jtulach@144
   256
    public static final int opc_lushr                    = 125;
jtulach@144
   257
    public static final int opc_iand                     = 126;
jtulach@144
   258
    public static final int opc_land                     = 127;
jtulach@144
   259
    public static final int opc_ior                      = 128;
jtulach@144
   260
    public static final int opc_lor                      = 129;
jtulach@144
   261
    public static final int opc_ixor                     = 130;
jtulach@144
   262
    public static final int opc_lxor                     = 131;
jtulach@144
   263
    public static final int opc_iinc                     = 132;
jtulach@144
   264
    public static final int opc_i2l                      = 133;
jtulach@144
   265
    public static final int opc_i2f                      = 134;
jtulach@144
   266
    public static final int opc_i2d                      = 135;
jtulach@144
   267
    public static final int opc_l2i                      = 136;
jtulach@144
   268
    public static final int opc_l2f                      = 137;
jtulach@144
   269
    public static final int opc_l2d                      = 138;
jtulach@144
   270
    public static final int opc_f2i                      = 139;
jtulach@144
   271
    public static final int opc_f2l                      = 140;
jtulach@144
   272
    public static final int opc_f2d                      = 141;
jtulach@144
   273
    public static final int opc_d2i                      = 142;
jtulach@144
   274
    public static final int opc_d2l                      = 143;
jtulach@144
   275
    public static final int opc_d2f                      = 144;
jtulach@144
   276
    public static final int opc_i2b                      = 145;
jtulach@144
   277
    public static final int opc_int2byte                 = 145;
jtulach@144
   278
    public static final int opc_i2c                      = 146;
jtulach@144
   279
    public static final int opc_int2char                 = 146;
jtulach@144
   280
    public static final int opc_i2s                      = 147;
jtulach@144
   281
    public static final int opc_int2short                = 147;
jtulach@144
   282
    public static final int opc_lcmp                     = 148;
jtulach@144
   283
    public static final int opc_fcmpl                    = 149;
jtulach@144
   284
    public static final int opc_fcmpg                    = 150;
jtulach@144
   285
    public static final int opc_dcmpl                    = 151;
jtulach@144
   286
    public static final int opc_dcmpg                    = 152;
jtulach@144
   287
    public static final int opc_ifeq                     = 153;
jtulach@144
   288
    public static final int opc_ifne                     = 154;
jtulach@144
   289
    public static final int opc_iflt                     = 155;
jtulach@144
   290
    public static final int opc_ifge                     = 156;
jtulach@144
   291
    public static final int opc_ifgt                     = 157;
jtulach@144
   292
    public static final int opc_ifle                     = 158;
jtulach@144
   293
    public static final int opc_if_icmpeq                = 159;
jtulach@144
   294
    public static final int opc_if_icmpne                = 160;
jtulach@144
   295
    public static final int opc_if_icmplt                = 161;
jtulach@144
   296
    public static final int opc_if_icmpge                = 162;
jtulach@144
   297
    public static final int opc_if_icmpgt                = 163;
jtulach@144
   298
    public static final int opc_if_icmple                = 164;
jtulach@144
   299
    public static final int opc_if_acmpeq                = 165;
jtulach@144
   300
    public static final int opc_if_acmpne                = 166;
jtulach@144
   301
    public static final int opc_goto                     = 167;
jtulach@144
   302
    public static final int opc_jsr                      = 168;
jtulach@144
   303
    public static final int opc_ret                      = 169;
jtulach@144
   304
    public static final int opc_tableswitch              = 170;
jtulach@144
   305
    public static final int opc_lookupswitch             = 171;
jtulach@144
   306
    public static final int opc_ireturn                  = 172;
jtulach@144
   307
    public static final int opc_lreturn                  = 173;
jtulach@144
   308
    public static final int opc_freturn                  = 174;
jtulach@144
   309
    public static final int opc_dreturn                  = 175;
jtulach@144
   310
    public static final int opc_areturn                  = 176;
jtulach@144
   311
    public static final int opc_return                   = 177;
jtulach@144
   312
    public static final int opc_getstatic                = 178;
jtulach@144
   313
    public static final int opc_putstatic                = 179;
jtulach@144
   314
    public static final int opc_getfield                 = 180;
jtulach@144
   315
    public static final int opc_putfield                 = 181;
jtulach@144
   316
    public static final int opc_invokevirtual            = 182;
jtulach@144
   317
    public static final int opc_invokenonvirtual         = 183;
jtulach@144
   318
    public static final int opc_invokespecial            = 183;
jtulach@144
   319
    public static final int opc_invokestatic             = 184;
jtulach@144
   320
    public static final int opc_invokeinterface          = 185;
jtulach@144
   321
//    public static final int opc_xxxunusedxxx             = 186;
jtulach@144
   322
    public static final int opc_new                      = 187;
jtulach@144
   323
    public static final int opc_newarray                 = 188;
jtulach@144
   324
    public static final int opc_anewarray                = 189;
jtulach@144
   325
    public static final int opc_arraylength              = 190;
jtulach@144
   326
    public static final int opc_athrow                   = 191;
jtulach@144
   327
    public static final int opc_checkcast                = 192;
jtulach@144
   328
    public static final int opc_instanceof               = 193;
jtulach@144
   329
    public static final int opc_monitorenter             = 194;
jtulach@144
   330
    public static final int opc_monitorexit              = 195;
jtulach@144
   331
    public static final int opc_wide                     = 196;
jtulach@144
   332
    public static final int opc_multianewarray           = 197;
jtulach@144
   333
    public static final int opc_ifnull                   = 198;
jtulach@144
   334
    public static final int opc_ifnonnull                = 199;
jtulach@144
   335
    public static final int opc_goto_w                   = 200;
jtulach@144
   336
    public static final int opc_jsr_w                    = 201;
jtulach@144
   337
        /* Pseudo-instructions */
jtulach@144
   338
    public static final int opc_bytecode                 = 203;
jtulach@144
   339
    public static final int opc_try                      = 204;
jtulach@144
   340
    public static final int opc_endtry                   = 205;
jtulach@144
   341
    public static final int opc_catch                    = 206;
jtulach@144
   342
    public static final int opc_var                      = 207;
jtulach@144
   343
    public static final int opc_endvar                   = 208;
jtulach@144
   344
    public static final int opc_localsmap                = 209;
jtulach@144
   345
    public static final int opc_stackmap                 = 210;
jtulach@144
   346
        /* PicoJava prefixes */
jtulach@144
   347
    public static final int opc_nonpriv                  = 254;
jtulach@144
   348
    public static final int opc_priv                     = 255;
jtulach@144
   349
jtulach@144
   350
        /* Wide instructions */
jtulach@144
   351
    public static final int opc_iload_w         = (opc_wide<<8)|opc_iload;
jtulach@144
   352
    public static final int opc_lload_w         = (opc_wide<<8)|opc_lload;
jtulach@144
   353
    public static final int opc_fload_w         = (opc_wide<<8)|opc_fload;
jtulach@144
   354
    public static final int opc_dload_w         = (opc_wide<<8)|opc_dload;
jtulach@144
   355
    public static final int opc_aload_w         = (opc_wide<<8)|opc_aload;
jtulach@144
   356
    public static final int opc_istore_w        = (opc_wide<<8)|opc_istore;
jtulach@144
   357
    public static final int opc_lstore_w        = (opc_wide<<8)|opc_lstore;
jtulach@144
   358
    public static final int opc_fstore_w        = (opc_wide<<8)|opc_fstore;
jtulach@144
   359
    public static final int opc_dstore_w        = (opc_wide<<8)|opc_dstore;
jtulach@144
   360
    public static final int opc_astore_w        = (opc_wide<<8)|opc_astore;
jtulach@144
   361
    public static final int opc_ret_w           = (opc_wide<<8)|opc_ret;
jtulach@144
   362
    public static final int opc_iinc_w          = (opc_wide<<8)|opc_iinc;
jtulach@144
   363
jtulach@144
   364
    /* Opcode Names */
jtulach@144
   365
  public static final String opcNamesTab[] = {
jtulach@144
   366
        "nop",
jtulach@144
   367
        "aconst_null",
jtulach@144
   368
        "iconst_m1",
jtulach@144
   369
        "iconst_0",
jtulach@144
   370
        "iconst_1",
jtulach@144
   371
        "iconst_2",
jtulach@144
   372
        "iconst_3",
jtulach@144
   373
        "iconst_4",
jtulach@144
   374
        "iconst_5",
jtulach@144
   375
        "lconst_0",
jtulach@144
   376
        "lconst_1",
jtulach@144
   377
        "fconst_0",
jtulach@144
   378
        "fconst_1",
jtulach@144
   379
        "fconst_2",
jtulach@144
   380
        "dconst_0",
jtulach@144
   381
        "dconst_1",
jtulach@144
   382
        "bipush",
jtulach@144
   383
        "sipush",
jtulach@144
   384
        "ldc",
jtulach@144
   385
        "ldc_w",
jtulach@144
   386
        "ldc2_w",
jtulach@144
   387
        "iload",
jtulach@144
   388
        "lload",
jtulach@144
   389
        "fload",
jtulach@144
   390
        "dload",
jtulach@144
   391
        "aload",
jtulach@144
   392
        "iload_0",
jtulach@144
   393
        "iload_1",
jtulach@144
   394
        "iload_2",
jtulach@144
   395
        "iload_3",
jtulach@144
   396
        "lload_0",
jtulach@144
   397
        "lload_1",
jtulach@144
   398
        "lload_2",
jtulach@144
   399
        "lload_3",
jtulach@144
   400
        "fload_0",
jtulach@144
   401
        "fload_1",
jtulach@144
   402
        "fload_2",
jtulach@144
   403
        "fload_3",
jtulach@144
   404
        "dload_0",
jtulach@144
   405
        "dload_1",
jtulach@144
   406
        "dload_2",
jtulach@144
   407
        "dload_3",
jtulach@144
   408
        "aload_0",
jtulach@144
   409
        "aload_1",
jtulach@144
   410
        "aload_2",
jtulach@144
   411
        "aload_3",
jtulach@144
   412
        "iaload",
jtulach@144
   413
        "laload",
jtulach@144
   414
        "faload",
jtulach@144
   415
        "daload",
jtulach@144
   416
        "aaload",
jtulach@144
   417
        "baload",
jtulach@144
   418
        "caload",
jtulach@144
   419
        "saload",
jtulach@144
   420
        "istore",
jtulach@144
   421
        "lstore",
jtulach@144
   422
        "fstore",
jtulach@144
   423
        "dstore",
jtulach@144
   424
        "astore",
jtulach@144
   425
        "istore_0",
jtulach@144
   426
        "istore_1",
jtulach@144
   427
        "istore_2",
jtulach@144
   428
        "istore_3",
jtulach@144
   429
        "lstore_0",
jtulach@144
   430
        "lstore_1",
jtulach@144
   431
        "lstore_2",
jtulach@144
   432
        "lstore_3",
jtulach@144
   433
        "fstore_0",
jtulach@144
   434
        "fstore_1",
jtulach@144
   435
        "fstore_2",
jtulach@144
   436
        "fstore_3",
jtulach@144
   437
        "dstore_0",
jtulach@144
   438
        "dstore_1",
jtulach@144
   439
        "dstore_2",
jtulach@144
   440
        "dstore_3",
jtulach@144
   441
        "astore_0",
jtulach@144
   442
        "astore_1",
jtulach@144
   443
        "astore_2",
jtulach@144
   444
        "astore_3",
jtulach@144
   445
        "iastore",
jtulach@144
   446
        "lastore",
jtulach@144
   447
        "fastore",
jtulach@144
   448
        "dastore",
jtulach@144
   449
        "aastore",
jtulach@144
   450
        "bastore",
jtulach@144
   451
        "castore",
jtulach@144
   452
        "sastore",
jtulach@144
   453
        "pop",
jtulach@144
   454
        "pop2",
jtulach@144
   455
        "dup",
jtulach@144
   456
        "dup_x1",
jtulach@144
   457
        "dup_x2",
jtulach@144
   458
        "dup2",
jtulach@144
   459
        "dup2_x1",
jtulach@144
   460
        "dup2_x2",
jtulach@144
   461
        "swap",
jtulach@144
   462
        "iadd",
jtulach@144
   463
        "ladd",
jtulach@144
   464
        "fadd",
jtulach@144
   465
        "dadd",
jtulach@144
   466
        "isub",
jtulach@144
   467
        "lsub",
jtulach@144
   468
        "fsub",
jtulach@144
   469
        "dsub",
jtulach@144
   470
        "imul",
jtulach@144
   471
        "lmul",
jtulach@144
   472
        "fmul",
jtulach@144
   473
        "dmul",
jtulach@144
   474
        "idiv",
jtulach@144
   475
        "ldiv",
jtulach@144
   476
        "fdiv",
jtulach@144
   477
        "ddiv",
jtulach@144
   478
        "irem",
jtulach@144
   479
        "lrem",
jtulach@144
   480
        "frem",
jtulach@144
   481
        "drem",
jtulach@144
   482
        "ineg",
jtulach@144
   483
        "lneg",
jtulach@144
   484
        "fneg",
jtulach@144
   485
        "dneg",
jtulach@144
   486
        "ishl",
jtulach@144
   487
        "lshl",
jtulach@144
   488
        "ishr",
jtulach@144
   489
        "lshr",
jtulach@144
   490
        "iushr",
jtulach@144
   491
        "lushr",
jtulach@144
   492
        "iand",
jtulach@144
   493
        "land",
jtulach@144
   494
        "ior",
jtulach@144
   495
        "lor",
jtulach@144
   496
        "ixor",
jtulach@144
   497
        "lxor",
jtulach@144
   498
        "iinc",
jtulach@144
   499
        "i2l",
jtulach@144
   500
        "i2f",
jtulach@144
   501
        "i2d",
jtulach@144
   502
        "l2i",
jtulach@144
   503
        "l2f",
jtulach@144
   504
        "l2d",
jtulach@144
   505
        "f2i",
jtulach@144
   506
        "f2l",
jtulach@144
   507
        "f2d",
jtulach@144
   508
        "d2i",
jtulach@144
   509
        "d2l",
jtulach@144
   510
        "d2f",
jtulach@144
   511
        "i2b",
jtulach@144
   512
        "i2c",
jtulach@144
   513
        "i2s",
jtulach@144
   514
        "lcmp",
jtulach@144
   515
        "fcmpl",
jtulach@144
   516
        "fcmpg",
jtulach@144
   517
        "dcmpl",
jtulach@144
   518
        "dcmpg",
jtulach@144
   519
        "ifeq",
jtulach@144
   520
        "ifne",
jtulach@144
   521
        "iflt",
jtulach@144
   522
        "ifge",
jtulach@144
   523
        "ifgt",
jtulach@144
   524
        "ifle",
jtulach@144
   525
        "if_icmpeq",
jtulach@144
   526
        "if_icmpne",
jtulach@144
   527
        "if_icmplt",
jtulach@144
   528
        "if_icmpge",
jtulach@144
   529
        "if_icmpgt",
jtulach@144
   530
        "if_icmple",
jtulach@144
   531
        "if_acmpeq",
jtulach@144
   532
        "if_acmpne",
jtulach@144
   533
        "goto",
jtulach@144
   534
        "jsr",
jtulach@144
   535
        "ret",
jtulach@144
   536
        "tableswitch",
jtulach@144
   537
        "lookupswitch",
jtulach@144
   538
        "ireturn",
jtulach@144
   539
        "lreturn",
jtulach@144
   540
        "freturn",
jtulach@144
   541
        "dreturn",
jtulach@144
   542
        "areturn",
jtulach@144
   543
        "return",
jtulach@144
   544
        "getstatic",
jtulach@144
   545
        "putstatic",
jtulach@144
   546
        "getfield",
jtulach@144
   547
        "putfield",
jtulach@144
   548
        "invokevirtual",
jtulach@144
   549
        "invokespecial", //     was "invokenonvirtual",
jtulach@144
   550
        "invokestatic",
jtulach@144
   551
        "invokeinterface",
jtulach@144
   552
        "bytecode 186", //"xxxunusedxxx",
jtulach@144
   553
        "new",
jtulach@144
   554
        "newarray",
jtulach@144
   555
        "anewarray",
jtulach@144
   556
        "arraylength",
jtulach@144
   557
        "athrow",
jtulach@144
   558
        "checkcast",
jtulach@144
   559
        "instanceof",
jtulach@144
   560
        "monitorenter",
jtulach@144
   561
        "monitorexit",
jtulach@144
   562
         null, // "wide",
jtulach@144
   563
        "multianewarray",
jtulach@144
   564
        "ifnull",
jtulach@144
   565
        "ifnonnull",
jtulach@144
   566
        "goto_w",
jtulach@144
   567
        "jsr_w",
jtulach@144
   568
        "bytecode 202", // "breakpoint",
jtulach@144
   569
        "bytecode",
jtulach@144
   570
        "try",
jtulach@144
   571
        "endtry",
jtulach@144
   572
        "catch",
jtulach@144
   573
        "var",
jtulach@144
   574
        "endvar",
jtulach@144
   575
        "locals_map",
jtulach@144
   576
        "stack_map"
jtulach@144
   577
  };
jtulach@144
   578
jtulach@144
   579
    /* Opcode Lengths */
jtulach@144
   580
  public static final int opcLengthsTab[] = {
jtulach@144
   581
        1,
jtulach@144
   582
        1,
jtulach@144
   583
        1,
jtulach@144
   584
        1,
jtulach@144
   585
        1,
jtulach@144
   586
        1,
jtulach@144
   587
        1,
jtulach@144
   588
        1,
jtulach@144
   589
        1,
jtulach@144
   590
        1,
jtulach@144
   591
        1,
jtulach@144
   592
        1,
jtulach@144
   593
        1,
jtulach@144
   594
        1,
jtulach@144
   595
        1,
jtulach@144
   596
        1,
jtulach@144
   597
        2,
jtulach@144
   598
        3,
jtulach@144
   599
        2,
jtulach@144
   600
        3,
jtulach@144
   601
        3,
jtulach@144
   602
        2,
jtulach@144
   603
        2,
jtulach@144
   604
        2,
jtulach@144
   605
        2,
jtulach@144
   606
        2,
jtulach@144
   607
        1,
jtulach@144
   608
        1,
jtulach@144
   609
        1,
jtulach@144
   610
        1,
jtulach@144
   611
        1,
jtulach@144
   612
        1,
jtulach@144
   613
        1,
jtulach@144
   614
        1,
jtulach@144
   615
        1,
jtulach@144
   616
        1,
jtulach@144
   617
        1,
jtulach@144
   618
        1,
jtulach@144
   619
        1,
jtulach@144
   620
        1,
jtulach@144
   621
        1,
jtulach@144
   622
        1,
jtulach@144
   623
        1,
jtulach@144
   624
        1,
jtulach@144
   625
        1,
jtulach@144
   626
        1,
jtulach@144
   627
        1,
jtulach@144
   628
        1,
jtulach@144
   629
        1,
jtulach@144
   630
        1,
jtulach@144
   631
        1,
jtulach@144
   632
        1,
jtulach@144
   633
        1,
jtulach@144
   634
        1,
jtulach@144
   635
        2,
jtulach@144
   636
        2,
jtulach@144
   637
        2,
jtulach@144
   638
        2,
jtulach@144
   639
        2,
jtulach@144
   640
        1,
jtulach@144
   641
        1,
jtulach@144
   642
        1,
jtulach@144
   643
        1,
jtulach@144
   644
        1,
jtulach@144
   645
        1,
jtulach@144
   646
        1,
jtulach@144
   647
        1,
jtulach@144
   648
        1,
jtulach@144
   649
        1,
jtulach@144
   650
        1,
jtulach@144
   651
        1,
jtulach@144
   652
        1,
jtulach@144
   653
        1,
jtulach@144
   654
        1,
jtulach@144
   655
        1,
jtulach@144
   656
        1,
jtulach@144
   657
        1,
jtulach@144
   658
        1,
jtulach@144
   659
        1,
jtulach@144
   660
        1,
jtulach@144
   661
        1,
jtulach@144
   662
        1,
jtulach@144
   663
        1,
jtulach@144
   664
        1,
jtulach@144
   665
        1,
jtulach@144
   666
        1,
jtulach@144
   667
        1,
jtulach@144
   668
        1,
jtulach@144
   669
        1,
jtulach@144
   670
        1,
jtulach@144
   671
        1,
jtulach@144
   672
        1,
jtulach@144
   673
        1,
jtulach@144
   674
        1,
jtulach@144
   675
        1,
jtulach@144
   676
        1,
jtulach@144
   677
        1,
jtulach@144
   678
        1,
jtulach@144
   679
        1,
jtulach@144
   680
        1,
jtulach@144
   681
        1,
jtulach@144
   682
        1,
jtulach@144
   683
        1,
jtulach@144
   684
        1,
jtulach@144
   685
        1,
jtulach@144
   686
        1,
jtulach@144
   687
        1,
jtulach@144
   688
        1,
jtulach@144
   689
        1,
jtulach@144
   690
        1,
jtulach@144
   691
        1,
jtulach@144
   692
        1,
jtulach@144
   693
        1,
jtulach@144
   694
        1,
jtulach@144
   695
        1,
jtulach@144
   696
        1,
jtulach@144
   697
        1,
jtulach@144
   698
        1,
jtulach@144
   699
        1,
jtulach@144
   700
        1,
jtulach@144
   701
        1,
jtulach@144
   702
        1,
jtulach@144
   703
        1,
jtulach@144
   704
        1,
jtulach@144
   705
        1,
jtulach@144
   706
        1,
jtulach@144
   707
        1,
jtulach@144
   708
        1,
jtulach@144
   709
        1,
jtulach@144
   710
        1,
jtulach@144
   711
        1,
jtulach@144
   712
        1,
jtulach@144
   713
        3,
jtulach@144
   714
        1,
jtulach@144
   715
        1,
jtulach@144
   716
        1,
jtulach@144
   717
        1,
jtulach@144
   718
        1,
jtulach@144
   719
        1,
jtulach@144
   720
        1,
jtulach@144
   721
        1,
jtulach@144
   722
        1,
jtulach@144
   723
        1,
jtulach@144
   724
        1,
jtulach@144
   725
        1,
jtulach@144
   726
        1,
jtulach@144
   727
        1,
jtulach@144
   728
        1,
jtulach@144
   729
        1,
jtulach@144
   730
        1,
jtulach@144
   731
        1,
jtulach@144
   732
        1,
jtulach@144
   733
        1,
jtulach@144
   734
        3,
jtulach@144
   735
        3,
jtulach@144
   736
        3,
jtulach@144
   737
        3,
jtulach@144
   738
        3,
jtulach@144
   739
        3,
jtulach@144
   740
        3,
jtulach@144
   741
        3,
jtulach@144
   742
        3,
jtulach@144
   743
        3,
jtulach@144
   744
        3,
jtulach@144
   745
        3,
jtulach@144
   746
        3,
jtulach@144
   747
        3,
jtulach@144
   748
        3,
jtulach@144
   749
        3,
jtulach@144
   750
        2,
jtulach@144
   751
        99,
jtulach@144
   752
        99,
jtulach@144
   753
        1,
jtulach@144
   754
        1,
jtulach@144
   755
        1,
jtulach@144
   756
        1,
jtulach@144
   757
        1,
jtulach@144
   758
        1,
jtulach@144
   759
        3,
jtulach@144
   760
        3,
jtulach@144
   761
        3,
jtulach@144
   762
        3,
jtulach@144
   763
        3,
jtulach@144
   764
        3,
jtulach@144
   765
        3,
jtulach@144
   766
        5,
jtulach@144
   767
        0,
jtulach@144
   768
        3,
jtulach@144
   769
        2,
jtulach@144
   770
        3,
jtulach@144
   771
        1,
jtulach@144
   772
        1,
jtulach@144
   773
        3,
jtulach@144
   774
        3,
jtulach@144
   775
        1,
jtulach@144
   776
        1,
jtulach@144
   777
        0, // wide
jtulach@144
   778
        4,
jtulach@144
   779
        3,
jtulach@144
   780
        3,
jtulach@144
   781
        5,
jtulach@144
   782
        5,
jtulach@144
   783
        1,
jtulach@144
   784
        1, 0, 0, 0, 0, 0 // pseudo
jtulach@144
   785
  };
jtulach@144
   786
jtulach@144
   787
}