    001/*
    002 * Licensed to the Apache Software Foundation (ASF) under one or more
    003 * contributor license agreements.  See the NOTICE file distributed with
    004 * this work for additional information regarding copyright ownership.
    005 * The ASF licenses this file to You under the Apache License, Version 2.0
    006 * (the "License"); you may not use this file except in compliance with
    007 * the License.  You may obtain a copy of the License at
    008 *
    009 *      http://www.apache.org/licenses/LICENSE-2.0
    010 *
    011 *  Unless required by applicable law or agreed to in writing, software
    012 *  distributed under the License is distributed on an "AS IS" BASIS,
    013 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    014 *  See the License for the specific language governing permissions and
    015 *  limitations under the License.
    016 *
    017 */
    018package org.apache.bcel;
    019
    020/**
    021 * Constants for the project, mostly defined in the JVM specification.
    022 *
    023 * @deprecated (since 6.0) DO NOT USE - use {@link Const} instead.
    024 */
    025@Deprecated
    026public interface Constants {
    027
    028    /**
    029     * Major version number of class files for Java 1.1.
    030     *
    031     * @see #MINOR_1_1
    032     */
    033    short MAJOR_1_1 = 45;
    034
    035    /**
    036     * Minor version number of class files for Java 1.1.
    037     *
    038     * @see #MAJOR_1_1
    039     */
    040    short MINOR_1_1 = 3;
    041
    042    /**
    043     * Major version number of class files for Java 1.2.
    044     *
    045     * @see #MINOR_1_2
    046     */
    047    short MAJOR_1_2 = 46;
    048
    049    /**
    050     * Minor version number of class files for Java 1.2.
    051     *
    052     * @see #MAJOR_1_2
    053     */
    054    short MINOR_1_2 = 0;
    055
    056    /**
    057     * Major version number of class files for Java 1.2.
    058     *
    059     * @see #MINOR_1_2
    060     */
    061    short MAJOR_1_3 = 47;
    062
    063    /**
    064     * Minor version number of class files for Java 1.3.
    065     *
    066     * @see #MAJOR_1_3
    067     */
    068    short MINOR_1_3 = 0;
    069
    070    /**
    071     * Major version number of class files for Java 1.3.
    072     *
    073     * @see #MINOR_1_3
    074     */
    075    short MAJOR_1_4 = 48;
    076
    077    /**
    078     * Minor version number of class files for Java 1.4.
    079     *
    080     * @see #MAJOR_1_4
    081     */
    082    short MINOR_1_4 = 0;
    083
    084    /**
    085     * Major version number of class files for Java 1.4.
    086     *
    087     * @see #MINOR_1_4
    088     */
    089    short MAJOR_1_5 = 49;
    090
    091    /**
    092     * Minor version number of class files for Java 1.5.
    093     *
    094     * @see #MAJOR_1_5
    095     */
    096    short MINOR_1_5 = 0;
    097
    098    /**
    099     * Default major version number. Class file is for Java 1.1.
    100     *
    101     * @see #MAJOR_1_1
    102     */
    103    short MAJOR = MAJOR_1_1;
    104
    105    /**
    106     * Default major version number. Class file is for Java 1.1.
    107     *
    108     * @see #MAJOR_1_1
    109     */
    110    short MINOR = MINOR_1_1;
    111
    112    /**
    113     * Maximum value for an unsigned short.
    114     */
    115    int MAX_SHORT = 65535; // 2^16 - 1
    116
    117    /**
    118     * Maximum value for an unsigned byte.
    119     */
    120    int MAX_BYTE = 255; // 2^8 - 1
    121
    122    /**
    123     * One of the access flags for fields, methods, or classes.
    124     *
    125     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.5"> Flag definitions for Fields
    126     *      in the Java Virtual Machine Specification (Java SE 8 Edition).</a>
    127     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.6"> Flag definitions for Methods
    128     *      in the Java Virtual Machine Specification (Java SE 8 Edition).</a>
    129     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.6-300-D.1-D.1"> Flag
    130     *      definitions for Classes in the Java Virtual Machine Specification (Java SE 8 Edition).</a>
    131     */
    132    short ACC_PUBLIC = 0x0001;
    133
    134    /**
    135     * One of the access flags for fields, methods, or classes.
    136     *
    137     * @see #ACC_PUBLIC
    138     */
    139    short ACC_PRIVATE = 0x0002;
    140
    141    /**
    142     * One of the access flags for fields, methods, or classes.
    143     *
    144     * @see #ACC_PUBLIC
    145     */
    146    short ACC_PROTECTED = 0x0004;
    147
    148    /**
    149     * One of the access flags for fields, methods, or classes.
    150     *
    151     * @see #ACC_PUBLIC
    152     */
    153    short ACC_STATIC = 0x0008;
    154
    155    /**
    156     * One of the access flags for fields, methods, or classes.
    157     *
    158     * @see #ACC_PUBLIC
    159     */
    160    short ACC_FINAL = 0x0010;
    161
    162    /**
    163     * One of the access flags for fields, methods, or classes.
    164     *
    165     * @see #ACC_PUBLIC
    166     */
    167    short ACC_SYNCHRONIZED = 0x0020;
    168
    169    /**
    170     * One of the access flags for fields, methods, or classes.
    171     *
    172     * @see #ACC_PUBLIC
    173     */
    174    short ACC_VOLATILE = 0x0040;
    175
    176    /**
    177     * One of the access flags for fields, methods, or classes.
    178     *
    179     * @see #ACC_PUBLIC
    180     */
    181    short ACC_BRIDGE = 0x0040;
    182
    183    /**
    184     * One of the access flags for fields, methods, or classes.
    185     *
    186     * @see #ACC_PUBLIC
    187     */
    188    short ACC_TRANSIENT = 0x0080;
    189
    190    /**
    191     * One of the access flags for fields, methods, or classes.
    192     *
    193     * @see #ACC_PUBLIC
    194     */
    195    short ACC_VARARGS = 0x0080;
    196
    197    /**
    198     * One of the access flags for fields, methods, or classes.
    199     *
    200     * @see #ACC_PUBLIC
    201     */
    202    short ACC_NATIVE = 0x0100;
    203
    204    /**
    205     * One of the access flags for fields, methods, or classes.
    206     *
    207     * @see #ACC_PUBLIC
    208     */
    209    short ACC_INTERFACE = 0x0200;
    210
    211    /**
    212     * One of the access flags for fields, methods, or classes.
    213     *
    214     * @see #ACC_PUBLIC
    215     */
    216    short ACC_ABSTRACT = 0x0400;
    217
    218    /**
    219     * One of the access flags for fields, methods, or classes.
    220     *
    221     * @see #ACC_PUBLIC
    222     */
    223    short ACC_STRICT = 0x0800;
    224
    225    /**
    226     * One of the access flags for fields, methods, or classes.
    227     *
    228     * @see #ACC_PUBLIC
    229     */
    230    short ACC_SYNTHETIC = 0x1000;
    231
    232    /**
    233     * One of the access flags for fields, methods, or classes.
    234     *
    235     * @see #ACC_PUBLIC
    236     */
    237    short ACC_ANNOTATION = 0x2000;
    238
    239    /**
    240     * One of the access flags for fields, methods, or classes.
    241     *
    242     * @see #ACC_PUBLIC
    243     */
    244    short ACC_ENUM = 0x4000;
    245
    246    // Applies to classes compiled by new compilers only
    247    /**
    248     * One of the access flags for fields, methods, or classes.
    249     *
    250     * @see #ACC_PUBLIC
    251     */
    252    short ACC_SUPER = 0x0020;
    253
    254    /**
    255     * One of the access flags for fields, methods, or classes.
    256     *
    257     * @see #ACC_PUBLIC
    258     */
    259    short MAX_ACC_FLAG = ACC_ENUM;
    260
    261    /** The names of the access flags. */
    262    String[] ACCESS_NAMES = {"public", "private", "protected", "static", "final", "synchronized", "volatile", "transient", "native", "interface", "abstract",
    263        "strictfp", "synthetic", "annotation", "enum"};
    264
    265    /** Marks a constant pool entry as type UTF-8. */
    266    byte CONSTANT_Utf8 = 1;
    267
    268    /** Marks a constant pool entry as type Integer. */
    269    byte CONSTANT_Integer = 3;
    270
    271    /** Marks a constant pool entry as type Float. */
    272    byte CONSTANT_Float = 4;
    273
    274    /** Marks a constant pool entry as type Long. */
    275    byte CONSTANT_Long = 5;
    276
    277    /** Marks a constant pool entry as type Double. */
    278    byte CONSTANT_Double = 6;
    279
    280    /** Marks a constant pool entry as a Class. */
    281    byte CONSTANT_Class = 7;
    282
    283    /** Marks a constant pool entry as a Field Reference. */
    284    byte CONSTANT_Fieldref = 9;
    285
    286    /** Marks a constant pool entry as type String. */
    287    byte CONSTANT_String = 8;
    288
    289    /** Marks a constant pool entry as a Method Reference. */
    290    byte CONSTANT_Methodref = 10;
    291
    292    /** Marks a constant pool entry as an Interface Method Reference. */
    293    byte CONSTANT_InterfaceMethodref = 11;
    294
    295    /** Marks a constant pool entry as a name and type. */
    296    byte CONSTANT_NameAndType = 12;
    297
    298    /** The names of the types of entries in a constant pool. */
    299    String[] CONSTANT_NAMES = {"", "CONSTANT_Utf8", "", "CONSTANT_Integer", "CONSTANT_Float", "CONSTANT_Long", "CONSTANT_Double", "CONSTANT_Class",
    300        "CONSTANT_String", "CONSTANT_Fieldref", "CONSTANT_Methodref", "CONSTANT_InterfaceMethodref", "CONSTANT_NameAndType"};
    301
    302    /**
    303     * The name of the static initializer, also called &quot;class initialization method&quot; or &quot;interface
    304     * initialization method&quot;. This is &quot;&lt;clinit&gt;&quot;.
    305     */
    306    String STATIC_INITIALIZER_NAME = "<clinit>";
    307
    308    /**
    309     * The name of every constructor method in a class, also called &quot;instance initialization method&quot;. This is
    310     * &quot;&lt;init&gt;&quot;.
    311     */
    312    String CONSTRUCTOR_NAME = "<init>";
    313
    314    /** The names of the interfaces implemented by arrays */
    315    String[] INTERFACES_IMPLEMENTED_BY_ARRAYS = {"java.lang.Cloneable", "java.io.Serializable"};
    316
    317    /**
    318     * One of the limitations of the Java Virtual Machine.
    319     *
    320     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.11"> The Java Virtual Machine
    321     *      Specification, Second Edition, page 152, chapter 4.10.</a>
    322     */
    323    int MAX_CP_ENTRIES = 65535;
    324
    325    /**
    326     * One of the limitations of the Java Virtual Machine.
    327     *
    328     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.11"> The Java Virtual Machine
    329     *      Specification, Second Edition, page 152, chapter 4.10.</a>
    330     */
    331    int MAX_CODE_SIZE = 65536; // bytes
    332
    333    /**
    334     * Java VM opcode.
    335     *
    336     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    337     *      Java Virtual Machine Specification</a>
    338     */
    339    short NOP = 0;
    340
    341    /**
    342     * Java VM opcode.
    343     *
    344     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    345     *      Java Virtual Machine Specification</a>
    346     */
    347    short ACONST_NULL = 1;
    348
    349    /**
    350     * Java VM opcode.
    351     *
    352     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    353     *      Java Virtual Machine Specification</a>
    354     */
    355    short ICONST_M1 = 2;
    356
    357    /**
    358     * Java VM opcode.
    359     *
    360     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    361     *      Java Virtual Machine Specification</a>
    362     */
    363    short ICONST_0 = 3;
    364
    365    /**
    366     * Java VM opcode.
    367     *
    368     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    369     *      Java Virtual Machine Specification</a>
    370     */
    371    short ICONST_1 = 4;
    372
    373    /**
    374     * Java VM opcode.
    375     *
    376     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    377     *      Java Virtual Machine Specification</a>
    378     */
    379    short ICONST_2 = 5;
    380
    381    /**
    382     * Java VM opcode.
    383     *
    384     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    385     *      Java Virtual Machine Specification</a>
    386     */
    387    short ICONST_3 = 6;
    388
    389    /**
    390     * Java VM opcode.
    391     *
    392     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    393     *      Java Virtual Machine Specification</a>
    394     */
    395    short ICONST_4 = 7;
    396
    397    /**
    398     * Java VM opcode.
    399     *
    400     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    401     *      Java Virtual Machine Specification</a>
    402     */
    403    short ICONST_5 = 8;
    404
    405    /**
    406     * Java VM opcode.
    407     *
    408     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    409     *      Java Virtual Machine Specification</a>
    410     */
    411    short LCONST_0 = 9;
    412
    413    /**
    414     * Java VM opcode.
    415     *
    416     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    417     *      Java Virtual Machine Specification</a>
    418     */
    419    short LCONST_1 = 10;
    420
    421    /**
    422     * Java VM opcode.
    423     *
    424     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    425     *      Java Virtual Machine Specification</a>
    426     */
    427    short FCONST_0 = 11;
    428
    429    /**
    430     * Java VM opcode.
    431     *
    432     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    433     *      Java Virtual Machine Specification</a>
    434     */
    435    short FCONST_1 = 12;
    436
    437    /**
    438     * Java VM opcode.
    439     *
    440     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    441     *      Java Virtual Machine Specification</a>
    442     */
    443    short FCONST_2 = 13;
    444
    445    /**
    446     * Java VM opcode.
    447     *
    448     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    449     *      Java Virtual Machine Specification</a>
    450     */
    451    short DCONST_0 = 14;
    452
    453    /**
    454     * Java VM opcode.
    455     *
    456     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    457     *      Java Virtual Machine Specification</a>
    458     */
    459    short DCONST_1 = 15;
    460
    461    /**
    462     * Java VM opcode.
    463     *
    464     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    465     *      Java Virtual Machine Specification</a>
    466     */
    467    short BIPUSH = 16;
    468
    469    /**
    470     * Java VM opcode.
    471     *
    472     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    473     *      Java Virtual Machine Specification</a>
    474     */
    475    short SIPUSH = 17;
    476
    477    /**
    478     * Java VM opcode.
    479     *
    480     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    481     *      Java Virtual Machine Specification</a>
    482     */
    483    short LDC = 18;
    484
    485    /**
    486     * Java VM opcode.
    487     *
    488     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    489     *      Java Virtual Machine Specification</a>
    490     */
    491    short LDC_W = 19;
    492
    493    /**
    494     * Java VM opcode.
    495     *
    496     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    497     *      Java Virtual Machine Specification</a>
    498     */
    499    short LDC2_W = 20;
    500
    501    /**
    502     * Java VM opcode.
    503     *
    504     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    505     *      Java Virtual Machine Specification</a>
    506     */
    507    short ILOAD = 21;
    508
    509    /**
    510     * Java VM opcode.
    511     *
    512     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    513     *      Java Virtual Machine Specification</a>
    514     */
    515    short LLOAD = 22;
    516
    517    /**
    518     * Java VM opcode.
    519     *
    520     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    521     *      Java Virtual Machine Specification</a>
    522     */
    523    short FLOAD = 23;
    524
    525    /**
    526     * Java VM opcode.
    527     *
    528     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    529     *      Java Virtual Machine Specification</a>
    530     */
    531    short DLOAD = 24;
    532
    533    /**
    534     * Java VM opcode.
    535     *
    536     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    537     *      Java Virtual Machine Specification</a>
    538     */
    539    short ALOAD = 25;
    540
    541    /**
    542     * Java VM opcode.
    543     *
    544     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    545     *      Java Virtual Machine Specification</a>
    546     */
    547    short ILOAD_0 = 26;
    548
    549    /**
    550     * Java VM opcode.
    551     *
    552     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    553     *      Java Virtual Machine Specification</a>
    554     */
    555    short ILOAD_1 = 27;
    556
    557    /**
    558     * Java VM opcode.
    559     *
    560     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    561     *      Java Virtual Machine Specification</a>
    562     */
    563    short ILOAD_2 = 28;
    564
    565    /**
    566     * Java VM opcode.
    567     *
    568     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    569     *      Java Virtual Machine Specification</a>
    570     */
    571    short ILOAD_3 = 29;
    572
    573    /**
    574     * Java VM opcode.
    575     *
    576     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    577     *      Java Virtual Machine Specification</a>
    578     */
    579    short LLOAD_0 = 30;
    580
    581    /**
    582     * Java VM opcode.
    583     *
    584     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    585     *      Java Virtual Machine Specification</a>
    586     */
    587    short LLOAD_1 = 31;
    588
    589    /**
    590     * Java VM opcode.
    591     *
    592     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    593     *      Java Virtual Machine Specification</a>
    594     */
    595    short LLOAD_2 = 32;
    596
    597    /**
    598     * Java VM opcode.
    599     *
    600     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    601     *      Java Virtual Machine Specification</a>
    602     */
    603    short LLOAD_3 = 33;
    604
    605    /**
    606     * Java VM opcode.
    607     *
    608     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    609     *      Java Virtual Machine Specification</a>
    610     */
    611    short FLOAD_0 = 34;
    612
    613    /**
    614     * Java VM opcode.
    615     *
    616     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    617     *      Java Virtual Machine Specification</a>
    618     */
    619    short FLOAD_1 = 35;
    620
    621    /**
    622     * Java VM opcode.
    623     *
    624     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    625     *      Java Virtual Machine Specification</a>
    626     */
    627    short FLOAD_2 = 36;
    628
    629    /**
    630     * Java VM opcode.
    631     *
    632     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    633     *      Java Virtual Machine Specification</a>
    634     */
    635    short FLOAD_3 = 37;
    636
    637    /**
    638     * Java VM opcode.
    639     *
    640     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    641     *      Java Virtual Machine Specification</a>
    642     */
    643    short DLOAD_0 = 38;
    644
    645    /**
    646     * Java VM opcode.
    647     *
    648     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    649     *      Java Virtual Machine Specification</a>
    650     */
    651    short DLOAD_1 = 39;
    652
    653    /**
    654     * Java VM opcode.
    655     *
    656     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    657     *      Java Virtual Machine Specification</a>
    658     */
    659    short DLOAD_2 = 40;
    660
    661    /**
    662     * Java VM opcode.
    663     *
    664     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    665     *      Java Virtual Machine Specification</a>
    666     */
    667    short DLOAD_3 = 41;
    668
    669    /**
    670     * Java VM opcode.
    671     *
    672     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    673     *      Java Virtual Machine Specification</a>
    674     */
    675    short ALOAD_0 = 42;
    676
    677    /**
    678     * Java VM opcode.
    679     *
    680     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    681     *      Java Virtual Machine Specification</a>
    682     */
    683    short ALOAD_1 = 43;
    684
    685    /**
    686     * Java VM opcode.
    687     *
    688     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    689     *      Java Virtual Machine Specification</a>
    690     */
    691    short ALOAD_2 = 44;
    692
    693    /**
    694     * Java VM opcode.
    695     *
    696     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    697     *      Java Virtual Machine Specification</a>
    698     */
    699    short ALOAD_3 = 45;
    700
    701    /**
    702     * Java VM opcode.
    703     *
    704     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    705     *      Java Virtual Machine Specification</a>
    706     */
    707    short IALOAD = 46;
    708
    709    /**
    710     * Java VM opcode.
    711     *
    712     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    713     *      Java Virtual Machine Specification</a>
    714     */
    715    short LALOAD = 47;
    716
    717    /**
    718     * Java VM opcode.
    719     *
    720     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    721     *      Java Virtual Machine Specification</a>
    722     */
    723    short FALOAD = 48;
    724
    725    /**
    726     * Java VM opcode.
    727     *
    728     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    729     *      Java Virtual Machine Specification</a>
    730     */
    731    short DALOAD = 49;
    732
    733    /**
    734     * Java VM opcode.
    735     *
    736     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    737     *      Java Virtual Machine Specification</a>
    738     */
    739    short AALOAD = 50;
    740
    741    /**
    742     * Java VM opcode.
    743     *
    744     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    745     *      Java Virtual Machine Specification</a>
    746     */
    747    short BALOAD = 51;
    748
    749    /**
    750     * Java VM opcode.
    751     *
    752     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    753     *      Java Virtual Machine Specification</a>
    754     */
    755    short CALOAD = 52;
    756
    757    /**
    758     * Java VM opcode.
    759     *
    760     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    761     *      Java Virtual Machine Specification</a>
    762     */
    763    short SALOAD = 53;
    764
    765    /**
    766     * Java VM opcode.
    767     *
    768     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    769     *      Java Virtual Machine Specification</a>
    770     */
    771    short ISTORE = 54;
    772
    773    /**
    774     * Java VM opcode.
    775     *
    776     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    777     *      Java Virtual Machine Specification</a>
    778     */
    779    short LSTORE = 55;
    780
    781    /**
    782     * Java VM opcode.
    783     *
    784     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    785     *      Java Virtual Machine Specification</a>
    786     */
    787    short FSTORE = 56;
    788
    789    /**
    790     * Java VM opcode.
    791     *
    792     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    793     *      Java Virtual Machine Specification</a>
    794     */
    795    short DSTORE = 57;
    796
    797    /**
    798     * Java VM opcode.
    799     *
    800     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    801     *      Java Virtual Machine Specification</a>
    802     */
    803    short ASTORE = 58;
    804
    805    /**
    806     * Java VM opcode.
    807     *
    808     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    809     *      Java Virtual Machine Specification</a>
    810     */
    811    short ISTORE_0 = 59;
    812
    813    /**
    814     * Java VM opcode.
    815     *
    816     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    817     *      Java Virtual Machine Specification</a>
    818     */
    819    short ISTORE_1 = 60;
    820
    821    /**
    822     * Java VM opcode.
    823     *
    824     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    825     *      Java Virtual Machine Specification</a>
    826     */
    827    short ISTORE_2 = 61;
    828
    829    /**
    830     * Java VM opcode.
    831     *
    832     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    833     *      Java Virtual Machine Specification</a>
    834     */
    835    short ISTORE_3 = 62;
    836
    837    /**
    838     * Java VM opcode.
    839     *
    840     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    841     *      Java Virtual Machine Specification</a>
    842     */
    843    short LSTORE_0 = 63;
    844
    845    /**
    846     * Java VM opcode.
    847     *
    848     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    849     *      Java Virtual Machine Specification</a>
    850     */
    851    short LSTORE_1 = 64;
    852
    853    /**
    854     * Java VM opcode.
    855     *
    856     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    857     *      Java Virtual Machine Specification</a>
    858     */
    859    short LSTORE_2 = 65;
    860
    861    /**
    862     * Java VM opcode.
    863     *
    864     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    865     *      Java Virtual Machine Specification</a>
    866     */
    867    short LSTORE_3 = 66;
    868
    869    /**
    870     * Java VM opcode.
    871     *
    872     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    873     *      Java Virtual Machine Specification</a>
    874     */
    875    short FSTORE_0 = 67;
    876
    877    /**
    878     * Java VM opcode.
    879     *
    880     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    881     *      Java Virtual Machine Specification</a>
    882     */
    883    short FSTORE_1 = 68;
    884
    885    /**
    886     * Java VM opcode.
    887     *
    888     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    889     *      Java Virtual Machine Specification</a>
    890     */
    891    short FSTORE_2 = 69;
    892
    893    /**
    894     * Java VM opcode.
    895     *
    896     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    897     *      Java Virtual Machine Specification</a>
    898     */
    899    short FSTORE_3 = 70;
    900
    901    /**
    902     * Java VM opcode.
    903     *
    904     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    905     *      Java Virtual Machine Specification</a>
    906     */
    907    short DSTORE_0 = 71;
    908
    909    /**
    910     * Java VM opcode.
    911     *
    912     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    913     *      Java Virtual Machine Specification</a>
    914     */
    915    short DSTORE_1 = 72;
    916
    917    /**
    918     * Java VM opcode.
    919     *
    920     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    921     *      Java Virtual Machine Specification</a>
    922     */
    923    short DSTORE_2 = 73;
    924
    925    /**
    926     * Java VM opcode.
    927     *
    928     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    929     *      Java Virtual Machine Specification</a>
    930     */
    931    short DSTORE_3 = 74;
    932
    933    /**
    934     * Java VM opcode.
    935     *
    936     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    937     *      Java Virtual Machine Specification</a>
    938     */
    939    short ASTORE_0 = 75;
    940
    941    /**
    942     * Java VM opcode.
    943     *
    944     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    945     *      Java Virtual Machine Specification</a>
    946     */
    947    short ASTORE_1 = 76;
    948
    949    /**
    950     * Java VM opcode.
    951     *
    952     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    953     *      Java Virtual Machine Specification</a>
    954     */
    955    short ASTORE_2 = 77;
    956
    957    /**
    958     * Java VM opcode.
    959     *
    960     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    961     *      Java Virtual Machine Specification</a>
    962     */
    963    short ASTORE_3 = 78;
    964
    965    /**
    966     * Java VM opcode.
    967     *
    968     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    969     *      Java Virtual Machine Specification</a>
    970     */
    971    short IASTORE = 79;
    972
    973    /**
    974     * Java VM opcode.
    975     *
    976     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    977     *      Java Virtual Machine Specification</a>
    978     */
    979    short LASTORE = 80;
    980
    981    /**
    982     * Java VM opcode.
    983     *
    984     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    985     *      Java Virtual Machine Specification</a>
    986     */
    987    short FASTORE = 81;
    988
    989    /**
    990     * Java VM opcode.
    991     *
    992     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    993     *      Java Virtual Machine Specification</a>
    994     */
    995    short DASTORE = 82;
    996
    997    /**
    998     * Java VM opcode.
    999     *
    1000     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1001     *      Java Virtual Machine Specification</a>
    1002     */
    1003    short AASTORE = 83;
    1004
    1005    /**
    1006     * Java VM opcode.
    1007     *
    1008     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1009     *      Java Virtual Machine Specification</a>
    1010     */
    1011    short BASTORE = 84;
    1012
    1013    /**
    1014     * Java VM opcode.
    1015     *
    1016     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1017     *      Java Virtual Machine Specification</a>
    1018     */
    1019    short CASTORE = 85;
    1020
    1021    /**
    1022     * Java VM opcode.
    1023     *
    1024     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1025     *      Java Virtual Machine Specification</a>
    1026     */
    1027    short SASTORE = 86;
    1028
    1029    /**
    1030     * Java VM opcode.
    1031     *
    1032     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1033     *      Java Virtual Machine Specification</a>
    1034     */
    1035    short POP = 87;
    1036
    1037    /**
    1038     * Java VM opcode.
    1039     *
    1040     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1041     *      Java Virtual Machine Specification</a>
    1042     */
    1043    short POP2 = 88;
    1044
    1045    /**
    1046     * Java VM opcode.
    1047     *
    1048     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1049     *      Java Virtual Machine Specification</a>
    1050     */
    1051    short DUP = 89;
    1052
    1053    /**
    1054     * Java VM opcode.
    1055     *
    1056     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1057     *      Java Virtual Machine Specification</a>
    1058     */
    1059    short DUP_X1 = 90;
    1060
    1061    /**
    1062     * Java VM opcode.
    1063     *
    1064     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1065     *      Java Virtual Machine Specification</a>
    1066     */
    1067    short DUP_X2 = 91;
    1068
    1069    /**
    1070     * Java VM opcode.
    1071     *
    1072     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1073     *      Java Virtual Machine Specification</a>
    1074     */
    1075    short DUP2 = 92;
    1076
    1077    /**
    1078     * Java VM opcode.
    1079     *
    1080     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1081     *      Java Virtual Machine Specification</a>
    1082     */
    1083    short DUP2_X1 = 93;
    1084
    1085    /**
    1086     * Java VM opcode.
    1087     *
    1088     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1089     *      Java Virtual Machine Specification</a>
    1090     */
    1091    short DUP2_X2 = 94;
    1092
    1093    /**
    1094     * Java VM opcode.
    1095     *
    1096     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1097     *      Java Virtual Machine Specification</a>
    1098     */
    1099    short SWAP = 95;
    1100
    1101    /**
    1102     * Java VM opcode.
    1103     *
    1104     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1105     *      Java Virtual Machine Specification</a>
    1106     */
    1107    short IADD = 96;
    1108
    1109    /**
    1110     * Java VM opcode.
    1111     *
    1112     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1113     *      Java Virtual Machine Specification</a>
    1114     */
    1115    short LADD = 97;
    1116
    1117    /**
    1118     * Java VM opcode.
    1119     *
    1120     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1121     *      Java Virtual Machine Specification</a>
    1122     */
    1123    short FADD = 98;
    1124
    1125    /**
    1126     * Java VM opcode.
    1127     *
    1128     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1129     *      Java Virtual Machine Specification</a>
    1130     */
    1131    short DADD = 99;
    1132
    1133    /**
    1134     * Java VM opcode.
    1135     *
    1136     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1137     *      Java Virtual Machine Specification</a>
    1138     */
    1139    short ISUB = 100;
    1140
    1141    /**
    1142     * Java VM opcode.
    1143     *
    1144     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1145     *      Java Virtual Machine Specification</a>
    1146     */
    1147    short LSUB = 101;
    1148
    1149    /**
    1150     * Java VM opcode.
    1151     *
    1152     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1153     *      Java Virtual Machine Specification</a>
    1154     */
    1155    short FSUB = 102;
    1156
    1157    /**
    1158     * Java VM opcode.
    1159     *
    1160     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1161     *      Java Virtual Machine Specification</a>
    1162     */
    1163    short DSUB = 103;
    1164
    1165    /**
    1166     * Java VM opcode.
    1167     *
    1168     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1169     *      Java Virtual Machine Specification</a>
    1170     */
    1171    short IMUL = 104;
    1172
    1173    /**
    1174     * Java VM opcode.
    1175     *
    1176     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1177     *      Java Virtual Machine Specification</a>
    1178     */
    1179    short LMUL = 105;
    1180
    1181    /**
    1182     * Java VM opcode.
    1183     *
    1184     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1185     *      Java Virtual Machine Specification</a>
    1186     */
    1187    short FMUL = 106;
    1188
    1189    /**
    1190     * Java VM opcode.
    1191     *
    1192     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1193     *      Java Virtual Machine Specification</a>
    1194     */
    1195    short DMUL = 107;
    1196
    1197    /**
    1198     * Java VM opcode.
    1199     *
    1200     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1201     *      Java Virtual Machine Specification</a>
    1202     */
    1203    short IDIV = 108;
    1204
    1205    /**
    1206     * Java VM opcode.
    1207     *
    1208     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1209     *      Java Virtual Machine Specification</a>
    1210     */
    1211    short LDIV = 109;
    1212
    1213    /**
    1214     * Java VM opcode.
    1215     *
    1216     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1217     *      Java Virtual Machine Specification</a>
    1218     */
    1219    short FDIV = 110;
    1220
    1221    /**
    1222     * Java VM opcode.
    1223     *
    1224     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1225     *      Java Virtual Machine Specification</a>
    1226     */
    1227    short DDIV = 111;
    1228
    1229    /**
    1230     * Java VM opcode.
    1231     *
    1232     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1233     *      Java Virtual Machine Specification</a>
    1234     */
    1235    short IREM = 112;
    1236
    1237    /**
    1238     * Java VM opcode.
    1239     *
    1240     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1241     *      Java Virtual Machine Specification</a>
    1242     */
    1243    short LREM = 113;
    1244
    1245    /**
    1246     * Java VM opcode.
    1247     *
    1248     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1249     *      Java Virtual Machine Specification</a>
    1250     */
    1251    short FREM = 114;
    1252
    1253    /**
    1254     * Java VM opcode.
    1255     *
    1256     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1257     *      Java Virtual Machine Specification</a>
    1258     */
    1259    short DREM = 115;
    1260
    1261    /**
    1262     * Java VM opcode.
    1263     *
    1264     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1265     *      Java Virtual Machine Specification</a>
    1266     */
    1267    short INEG = 116;
    1268
    1269    /**
    1270     * Java VM opcode.
    1271     *
    1272     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1273     *      Java Virtual Machine Specification</a>
    1274     */
    1275    short LNEG = 117;
    1276
    1277    /**
    1278     * Java VM opcode.
    1279     *
    1280     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1281     *      Java Virtual Machine Specification</a>
    1282     */
    1283    short FNEG = 118;
    1284
    1285    /**
    1286     * Java VM opcode.
    1287     *
    1288     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1289     *      Java Virtual Machine Specification</a>
    1290     */
    1291    short DNEG = 119;
    1292
    1293    /**
    1294     * Java VM opcode.
    1295     *
    1296     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1297     *      Java Virtual Machine Specification</a>
    1298     */
    1299    short ISHL = 120;
    1300
    1301    /**
    1302     * Java VM opcode.
    1303     *
    1304     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1305     *      Java Virtual Machine Specification</a>
    1306     */
    1307    short LSHL = 121;
    1308
    1309    /**
    1310     * Java VM opcode.
    1311     *
    1312     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1313     *      Java Virtual Machine Specification</a>
    1314     */
    1315    short ISHR = 122;
    1316
    1317    /**
    1318     * Java VM opcode.
    1319     *
    1320     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1321     *      Java Virtual Machine Specification</a>
    1322     */
    1323    short LSHR = 123;
    1324
    1325    /**
    1326     * Java VM opcode.
    1327     *
    1328     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1329     *      Java Virtual Machine Specification</a>
    1330     */
    1331    short IUSHR = 124;
    1332
    1333    /**
    1334     * Java VM opcode.
    1335     *
    1336     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1337     *      Java Virtual Machine Specification</a>
    1338     */
    1339    short LUSHR = 125;
    1340
    1341    /**
    1342     * Java VM opcode.
    1343     *
    1344     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1345     *      Java Virtual Machine Specification</a>
    1346     */
    1347    short IAND = 126;
    1348
    1349    /**
    1350     * Java VM opcode.
    1351     *
    1352     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1353     *      Java Virtual Machine Specification</a>
    1354     */
    1355    short LAND = 127;
    1356
    1357    /**
    1358     * Java VM opcode.
    1359     *
    1360     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1361     *      Java Virtual Machine Specification</a>
    1362     */
    1363    short IOR = 128;
    1364
    1365    /**
    1366     * Java VM opcode.
    1367     *
    1368     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1369     *      Java Virtual Machine Specification</a>
    1370     */
    1371    short LOR = 129;
    1372
    1373    /**
    1374     * Java VM opcode.
    1375     *
    1376     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1377     *      Java Virtual Machine Specification</a>
    1378     */
    1379    short IXOR = 130;
    1380
    1381    /**
    1382     * Java VM opcode.
    1383     *
    1384     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1385     *      Java Virtual Machine Specification</a>
    1386     */
    1387    short LXOR = 131;
    1388
    1389    /**
    1390     * Java VM opcode.
    1391     *
    1392     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1393     *      Java Virtual Machine Specification</a>
    1394     */
    1395    short IINC = 132;
    1396
    1397    /**
    1398     * Java VM opcode.
    1399     *
    1400     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1401     *      Java Virtual Machine Specification</a>
    1402     */
    1403    short I2L = 133;
    1404
    1405    /**
    1406     * Java VM opcode.
    1407     *
    1408     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1409     *      Java Virtual Machine Specification</a>
    1410     */
    1411    short I2F = 134;
    1412
    1413    /**
    1414     * Java VM opcode.
    1415     *
    1416     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1417     *      Java Virtual Machine Specification</a>
    1418     */
    1419    short I2D = 135;
    1420
    1421    /**
    1422     * Java VM opcode.
    1423     *
    1424     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1425     *      Java Virtual Machine Specification</a>
    1426     */
    1427    short L2I = 136;
    1428
    1429    /**
    1430     * Java VM opcode.
    1431     *
    1432     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1433     *      Java Virtual Machine Specification</a>
    1434     */
    1435    short L2F = 137;
    1436
    1437    /**
    1438     * Java VM opcode.
    1439     *
    1440     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1441     *      Java Virtual Machine Specification</a>
    1442     */
    1443    short L2D = 138;
    1444
    1445    /**
    1446     * Java VM opcode.
    1447     *
    1448     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1449     *      Java Virtual Machine Specification</a>
    1450     */
    1451    short F2I = 139;
    1452
    1453    /**
    1454     * Java VM opcode.
    1455     *
    1456     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1457     *      Java Virtual Machine Specification</a>
    1458     */
    1459    short F2L = 140;
    1460
    1461    /**
    1462     * Java VM opcode.
    1463     *
    1464     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1465     *      Java Virtual Machine Specification</a>
    1466     */
    1467    short F2D = 141;
    1468
    1469    /**
    1470     * Java VM opcode.
    1471     *
    1472     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1473     *      Java Virtual Machine Specification</a>
    1474     */
    1475    short D2I = 142;
    1476
    1477    /**
    1478     * Java VM opcode.
    1479     *
    1480     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1481     *      Java Virtual Machine Specification</a>
    1482     */
    1483    short D2L = 143;
    1484
    1485    /**
    1486     * Java VM opcode.
    1487     *
    1488     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1489     *      Java Virtual Machine Specification</a>
    1490     */
    1491    short D2F = 144;
    1492
    1493    /**
    1494     * Java VM opcode.
    1495     *
    1496     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1497     *      Java Virtual Machine Specification</a>
    1498     */
    1499    short I2B = 145;
    1500
    1501    /**
    1502     * Java VM opcode.
    1503     *
    1504     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1505     *      Java Virtual Machine Specification</a>
    1506     */
    1507    short INT2BYTE = 145; // Old notion
    1508
    1509    /**
    1510     * Java VM opcode.
    1511     *
    1512     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1513     *      Java Virtual Machine Specification</a>
    1514     */
    1515    short I2C = 146;
    1516
    1517    /**
    1518     * Java VM opcode.
    1519     *
    1520     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1521     *      Java Virtual Machine Specification</a>
    1522     */
    1523    short INT2CHAR = 146; // Old notion
    1524
    1525    /**
    1526     * Java VM opcode.
    1527     *
    1528     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1529     *      Java Virtual Machine Specification</a>
    1530     */
    1531    short I2S = 147;
    1532
    1533    /**
    1534     * Java VM opcode.
    1535     *
    1536     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1537     *      Java Virtual Machine Specification</a>
    1538     */
    1539    short INT2SHORT = 147; // Old notion
    1540
    1541    /**
    1542     * Java VM opcode.
    1543     *
    1544     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1545     *      Java Virtual Machine Specification</a>
    1546     */
    1547    short LCMP = 148;
    1548
    1549    /**
    1550     * Java VM opcode.
    1551     *
    1552     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1553     *      Java Virtual Machine Specification</a>
    1554     */
    1555    short FCMPL = 149;
    1556
    1557    /**
    1558     * Java VM opcode.
    1559     *
    1560     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1561     *      Java Virtual Machine Specification</a>
    1562     */
    1563    short FCMPG = 150;
    1564
    1565    /**
    1566     * Java VM opcode.
    1567     *
    1568     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1569     *      Java Virtual Machine Specification</a>
    1570     */
    1571    short DCMPL = 151;
    1572
    1573    /**
    1574     * Java VM opcode.
    1575     *
    1576     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1577     *      Java Virtual Machine Specification</a>
    1578     */
    1579    short DCMPG = 152;
    1580
    1581    /**
    1582     * Java VM opcode.
    1583     *
    1584     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1585     *      Java Virtual Machine Specification</a>
    1586     */
    1587    short IFEQ = 153;
    1588
    1589    /**
    1590     * Java VM opcode.
    1591     *
    1592     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1593     *      Java Virtual Machine Specification</a>
    1594     */
    1595    short IFNE = 154;
    1596
    1597    /**
    1598     * Java VM opcode.
    1599     *
    1600     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1601     *      Java Virtual Machine Specification</a>
    1602     */
    1603    short IFLT = 155;
    1604
    1605    /**
    1606     * Java VM opcode.
    1607     *
    1608     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1609     *      Java Virtual Machine Specification</a>
    1610     */
    1611    short IFGE = 156;
    1612
    1613    /**
    1614     * Java VM opcode.
    1615     *
    1616     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1617     *      Java Virtual Machine Specification</a>
    1618     */
    1619    short IFGT = 157;
    1620
    1621    /**
    1622     * Java VM opcode.
    1623     *
    1624     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1625     *      Java Virtual Machine Specification</a>
    1626     */
    1627    short IFLE = 158;
    1628
    1629    /**
    1630     * Java VM opcode.
    1631     *
    1632     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1633     *      Java Virtual Machine Specification</a>
    1634     */
    1635    short IF_ICMPEQ = 159;
    1636
    1637    /**
    1638     * Java VM opcode.
    1639     *
    1640     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1641     *      Java Virtual Machine Specification</a>
    1642     */
    1643    short IF_ICMPNE = 160;
    1644
    1645    /**
    1646     * Java VM opcode.
    1647     *
    1648     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1649     *      Java Virtual Machine Specification</a>
    1650     */
    1651    short IF_ICMPLT = 161;
    1652
    1653    /**
    1654     * Java VM opcode.
    1655     *
    1656     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1657     *      Java Virtual Machine Specification</a>
    1658     */
    1659    short IF_ICMPGE = 162;
    1660
    1661    /**
    1662     * Java VM opcode.
    1663     *
    1664     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1665     *      Java Virtual Machine Specification</a>
    1666     */
    1667    short IF_ICMPGT = 163;
    1668
    1669    /**
    1670     * Java VM opcode.
    1671     *
    1672     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1673     *      Java Virtual Machine Specification</a>
    1674     */
    1675    short IF_ICMPLE = 164;
    1676
    1677    /**
    1678     * Java VM opcode.
    1679     *
    1680     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1681     *      Java Virtual Machine Specification</a>
    1682     */
    1683    short IF_ACMPEQ = 165;
    1684
    1685    /**
    1686     * Java VM opcode.
    1687     *
    1688     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1689     *      Java Virtual Machine Specification</a>
    1690     */
    1691    short IF_ACMPNE = 166;
    1692
    1693    /**
    1694     * Java VM opcode.
    1695     *
    1696     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1697     *      Java Virtual Machine Specification</a>
    1698     */
    1699    short GOTO = 167;
    1700
    1701    /**
    1702     * Java VM opcode.
    1703     *
    1704     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1705     *      Java Virtual Machine Specification</a>
    1706     */
    1707    short JSR = 168;
    1708
    1709    /**
    1710     * Java VM opcode.
    1711     *
    1712     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1713     *      Java Virtual Machine Specification</a>
    1714     */
    1715    short RET = 169;
    1716
    1717    /**
    1718     * Java VM opcode.
    1719     *
    1720     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1721     *      Java Virtual Machine Specification</a>
    1722     */
    1723    short TABLESWITCH = 170;
    1724
    1725    /**
    1726     * Java VM opcode.
    1727     *
    1728     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1729     *      Java Virtual Machine Specification</a>
    1730     */
    1731    short LOOKUPSWITCH = 171;
    1732
    1733    /**
    1734     * Java VM opcode.
    1735     *
    1736     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1737     *      Java Virtual Machine Specification</a>
    1738     */
    1739    short IRETURN = 172;
    1740
    1741    /**
    1742     * Java VM opcode.
    1743     *
    1744     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1745     *      Java Virtual Machine Specification</a>
    1746     */
    1747    short LRETURN = 173;
    1748
    1749    /**
    1750     * Java VM opcode.
    1751     *
    1752     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1753     *      Java Virtual Machine Specification</a>
    1754     */
    1755    short FRETURN = 174;
    1756
    1757    /**
    1758     * Java VM opcode.
    1759     *
    1760     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1761     *      Java Virtual Machine Specification</a>
    1762     */
    1763    short DRETURN = 175;
    1764
    1765    /**
    1766     * Java VM opcode.
    1767     *
    1768     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1769     *      Java Virtual Machine Specification</a>
    1770     */
    1771    short ARETURN = 176;
    1772
    1773    /**
    1774     * Java VM opcode.
    1775     *
    1776     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1777     *      Java Virtual Machine Specification</a>
    1778     */
    1779    short RETURN = 177;
    1780
    1781    /**
    1782     * Java VM opcode.
    1783     *
    1784     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1785     *      Java Virtual Machine Specification</a>
    1786     */
    1787    short GETSTATIC = 178;
    1788
    1789    /**
    1790     * Java VM opcode.
    1791     *
    1792     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1793     *      Java Virtual Machine Specification</a>
    1794     */
    1795    short PUTSTATIC = 179;
    1796
    1797    /**
    1798     * Java VM opcode.
    1799     *
    1800     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1801     *      Java Virtual Machine Specification</a>
    1802     */
    1803    short GETFIELD = 180;
    1804
    1805    /**
    1806     * Java VM opcode.
    1807     *
    1808     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1809     *      Java Virtual Machine Specification</a>
    1810     */
    1811    short PUTFIELD = 181;
    1812
    1813    /**
    1814     * Java VM opcode.
    1815     *
    1816     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1817     *      Java Virtual Machine Specification</a>
    1818     */
    1819    short INVOKEVIRTUAL = 182;
    1820
    1821    /**
    1822     * Java VM opcode.
    1823     *
    1824     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1825     *      Java Virtual Machine Specification</a>
    1826     */
    1827    short INVOKESPECIAL = 183;
    1828
    1829    /**
    1830     * Java VM opcode.
    1831     *
    1832     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1833     *      Java Virtual Machine Specification</a>
    1834     */
    1835    short INVOKENONVIRTUAL = 183; // Old name in JDK 1.0
    1836
    1837    /**
    1838     * Java VM opcode.
    1839     *
    1840     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1841     *      Java Virtual Machine Specification</a>
    1842     */
    1843    short INVOKESTATIC = 184;
    1844
    1845    /**
    1846     * Java VM opcode.
    1847     *
    1848     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1849     *      Java Virtual Machine Specification</a>
    1850     */
    1851    short INVOKEINTERFACE = 185;
    1852
    1853    /**
    1854     * Java VM opcode.
    1855     *
    1856     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1857     *      Java Virtual Machine Specification</a>
    1858     */
    1859    short INVOKEDYNAMIC = 186;
    1860
    1861    /**
    1862     * Java VM opcode.
    1863     *
    1864     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1865     *      Java Virtual Machine Specification</a>
    1866     */
    1867    short NEW = 187;
    1868
    1869    /**
    1870     * Java VM opcode.
    1871     *
    1872     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1873     *      Java Virtual Machine Specification</a>
    1874     */
    1875    short NEWARRAY = 188;
    1876
    1877    /**
    1878     * Java VM opcode.
    1879     *
    1880     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1881     *      Java Virtual Machine Specification</a>
    1882     */
    1883    short ANEWARRAY = 189;
    1884
    1885    /**
    1886     * Java VM opcode.
    1887     *
    1888     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1889     *      Java Virtual Machine Specification</a>
    1890     */
    1891    short ARRAYLENGTH = 190;
    1892
    1893    /**
    1894     * Java VM opcode.
    1895     *
    1896     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1897     *      Java Virtual Machine Specification</a>
    1898     */
    1899    short ATHROW = 191;
    1900
    1901    /**
    1902     * Java VM opcode.
    1903     *
    1904     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1905     *      Java Virtual Machine Specification</a>
    1906     */
    1907    short CHECKCAST = 192;
    1908
    1909    /**
    1910     * Java VM opcode.
    1911     *
    1912     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1913     *      Java Virtual Machine Specification</a>
    1914     */
    1915    short INSTANCEOF = 193;
    1916
    1917    /**
    1918     * Java VM opcode.
    1919     *
    1920     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1921     *      Java Virtual Machine Specification</a>
    1922     */
    1923    short MONITORENTER = 194;
    1924
    1925    /**
    1926     * Java VM opcode.
    1927     *
    1928     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1929     *      Java Virtual Machine Specification</a>
    1930     */
    1931    short MONITOREXIT = 195;
    1932
    1933    /**
    1934     * Java VM opcode.
    1935     *
    1936     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1937     *      Java Virtual Machine Specification</a>
    1938     */
    1939    short WIDE = 196;
    1940
    1941    /**
    1942     * Java VM opcode.
    1943     *
    1944     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1945     *      Java Virtual Machine Specification</a>
    1946     */
    1947    short MULTIANEWARRAY = 197;
    1948
    1949    /**
    1950     * Java VM opcode.
    1951     *
    1952     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1953     *      Java Virtual Machine Specification</a>
    1954     */
    1955    short IFNULL = 198;
    1956
    1957    /**
    1958     * Java VM opcode.
    1959     *
    1960     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1961     *      Java Virtual Machine Specification</a>
    1962     */
    1963    short IFNONNULL = 199;
    1964
    1965    /**
    1966     * Java VM opcode.
    1967     *
    1968     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1969     *      Java Virtual Machine Specification</a>
    1970     */
    1971    short GOTO_W = 200;
    1972
    1973    /**
    1974     * Java VM opcode.
    1975     *
    1976     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
    1977     *      Java Virtual Machine Specification</a>
    1978     */
    1979    short JSR_W = 201;
    1980
    1981    /**
    1982     * JVM internal opcode.
    1983     *
    1984     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2"> Reserved opcodes in the Java
    1985     *      Virtual Machine Specification</a>
    1986     */
    1987    short BREAKPOINT = 202;
    1988
    1989    /**
    1990     * JVM internal opcode.
    1991     *
    1992     * @see <a href=
    1993     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    1994     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    1995     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    1996     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    1997     */
    1998    short LDC_QUICK = 203;
    1999
    2000    /**
    2001     * JVM internal opcode.
    2002     *
    2003     * @see <a href=
    2004     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2005     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2006     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2007     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2008     */
    2009    short LDC_W_QUICK = 204;
    2010
    2011    /**
    2012     * JVM internal opcode.
    2013     *
    2014     * @see <a href=
    2015     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2016     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2017     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2018     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2019     */
    2020    short LDC2_W_QUICK = 205;
    2021
    2022    /**
    2023     * JVM internal opcode.
    2024     *
    2025     * @see <a href=
    2026     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2027     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2028     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2029     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2030     */
    2031    short GETFIELD_QUICK = 206;
    2032
    2033    /**
    2034     * JVM internal opcode.
    2035     *
    2036     * @see <a href=
    2037     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2038     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2039     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2040     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2041     */
    2042    short PUTFIELD_QUICK = 207;
    2043
    2044    /**
    2045     * JVM internal opcode.
    2046     *
    2047     * @see <a href=
    2048     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2049     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2050     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2051     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2052     */
    2053    short GETFIELD2_QUICK = 208;
    2054
    2055    /**
    2056     * JVM internal opcode.
    2057     *
    2058     * @see <a href=
    2059     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2060     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2061     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2062     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2063     */
    2064    short PUTFIELD2_QUICK = 209;
    2065
    2066    /**
    2067     * JVM internal opcode.
    2068     *
    2069     * @see <a href=
    2070     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2071     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2072     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2073     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2074     */
    2075    short GETSTATIC_QUICK = 210;
    2076
    2077    /**
    2078     * JVM internal opcode.
    2079     *
    2080     * @see <a href=
    2081     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2082     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2083     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2084     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2085     */
    2086    short PUTSTATIC_QUICK = 211;
    2087
    2088    /**
    2089     * JVM internal opcode.
    2090     *
    2091     * @see <a href=
    2092     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2093     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2094     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2095     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2096     */
    2097    short GETSTATIC2_QUICK = 212;
    2098
    2099    /**
    2100     * JVM internal opcode.
    2101     *
    2102     * @see <a href=
    2103     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2104     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2105     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2106     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2107     */
    2108    short PUTSTATIC2_QUICK = 213;
    2109
    2110    /**
    2111     * JVM internal opcode.
    2112     *
    2113     * @see <a href=
    2114     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2115     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2116     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2117     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2118     */
    2119    short INVOKEVIRTUAL_QUICK = 214;
    2120
    2121    /**
    2122     * JVM internal opcode.
    2123     *
    2124     * @see <a href=
    2125     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2126     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2127     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2128     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2129     */
    2130    short INVOKENONVIRTUAL_QUICK = 215;
    2131
    2132    /**
    2133     * JVM internal opcode.
    2134     *
    2135     * @see <a href=
    2136     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2137     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2138     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2139     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2140     */
    2141    short INVOKESUPER_QUICK = 216;
    2142
    2143    /**
    2144     * JVM internal opcode.
    2145     *
    2146     * @see <a href=
    2147     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2148     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2149     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2150     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2151     */
    2152    short INVOKESTATIC_QUICK = 217;
    2153
    2154    /**
    2155     * JVM internal opcode.
    2156     *
    2157     * @see <a href=
    2158     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2159     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2160     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2161     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2162     */
    2163    short INVOKEINTERFACE_QUICK = 218;
    2164
    2165    /**
    2166     * JVM internal opcode.
    2167     *
    2168     * @see <a href=
    2169     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2170     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2171     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2172     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2173     */
    2174    short INVOKEVIRTUALOBJECT_QUICK = 219;
    2175
    2176    /**
    2177     * JVM internal opcode.
    2178     *
    2179     * @see <a href=
    2180     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2181     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2182     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2183     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2184     */
    2185    short NEW_QUICK = 221;
    2186
    2187    /**
    2188     * JVM internal opcode.
    2189     *
    2190     * @see <a href=
    2191     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2192     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2193     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2194     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2195     */
    2196    short ANEWARRAY_QUICK = 222;
    2197
    2198    /**
    2199     * JVM internal opcode.
    2200     *
    2201     * @see <a href=
    2202     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2203     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2204     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2205     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2206     */
    2207    short MULTIANEWARRAY_QUICK = 223;
    2208
    2209    /**
    2210     * JVM internal opcode.
    2211     *
    2212     * @see <a href=
    2213     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2214     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2215     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2216     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2217     */
    2218    short CHECKCAST_QUICK = 224;
    2219
    2220    /**
    2221     * JVM internal opcode.
    2222     *
    2223     * @see <a href=
    2224     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2225     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2226     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2227     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2228     */
    2229    short INSTANCEOF_QUICK = 225;
    2230
    2231    /**
    2232     * JVM internal opcode.
    2233     *
    2234     * @see <a href=
    2235     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2236     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2237     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2238     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2239     */
    2240    short INVOKEVIRTUAL_QUICK_W = 226;
    2241
    2242    /**
    2243     * JVM internal opcode.
    2244     *
    2245     * @see <a href=
    2246     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2247     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2248     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2249     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2250     */
    2251    short GETFIELD_QUICK_W = 227;
    2252
    2253    /**
    2254     * JVM internal opcode.
    2255     *
    2256     * @see <a href=
    2257     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
    2258     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
    2259     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
    2260     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
    2261     */
    2262    short PUTFIELD_QUICK_W = 228;
    2263
    2264    /**
    2265     * JVM internal opcode.
    2266     *
    2267     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2"> Reserved opcodes in the Java
    2268     *      Virtual Machine Specification</a>
    2269     */
    2270    short IMPDEP1 = 254;
    2271
    2272    /**
    2273     * JVM internal opcode.
    2274     *
    2275     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2"> Reserved opcodes in the Java
    2276     *      Virtual Machine Specification</a>
    2277     */
    2278    short IMPDEP2 = 255;
    2279
    2280    /**
    2281     * BCEL virtual instruction for pushing an arbitrary data type onto the stack. Will be converted to the appropriate JVM
    2282     * opcode when the class is dumped.
    2283     */
    2284    short PUSH = 4711;
    2285
    2286    /**
    2287     * BCEL virtual instruction for either LOOKUPSWITCH or TABLESWITCH. Will be converted to the appropriate JVM opcode when
    2288     * the class is dumped.
    2289     */
    2290    short SWITCH = 4712;
    2291
    2292    /** Illegal opcode. */
    2293    short UNDEFINED = -1;
    2294
    2295    /** Illegal opcode. */
    2296    short UNPREDICTABLE = -2;
    2297
    2298    /** Illegal opcode. */
    2299    short RESERVED = -3;
    2300
    2301    /** Mnemonic for an illegal opcode. */
    2302    String ILLEGAL_OPCODE = "<illegal opcode>";
    2303
    2304    /** Mnemonic for an illegal type. */
    2305    String ILLEGAL_TYPE = "<illegal type>";
    2306
    2307    /** Boolean data type. */
    2308    byte T_BOOLEAN = 4;
    2309
    2310    /** Char data type. */
    2311    byte T_CHAR = 5;
    2312
    2313    /** Float data type. */
    2314    byte T_FLOAT = 6;
    2315
    2316    /** Double data type. */
    2317    byte T_DOUBLE = 7;
    2318
    2319    /** Byte data type. */
    2320    byte T_BYTE = 8;
    2321
    2322    /** Short data type. */
    2323    byte T_SHORT = 9;
    2324
    2325    /** Int data type. */
    2326    byte T_INT = 10;
    2327
    2328    /** Long data type. */
    2329    byte T_LONG = 11;
    2330
    2331    /** Void data type (non-standard). */
    2332    byte T_VOID = 12; // Non-standard
    2333
    2334    /** Array data type. */
    2335    byte T_ARRAY = 13;
    2336
    2337    /** Object data type. */
    2338    byte T_OBJECT = 14;
    2339
    2340    /** Reference data type (deprecated). */
    2341    byte T_REFERENCE = 14; // Deprecated
    2342
    2343    /** Unknown data type. */
    2344    byte T_UNKNOWN = 15;
    2345
    2346    /** Address data type. */
    2347    byte T_ADDRESS = 16;
    2348
    2349    /**
    2350     * The primitive type names corresponding to the T_XX constants, e.g., TYPE_NAMES[T_INT] = "int"
    2351     */
    2352    String[] TYPE_NAMES = {ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, "boolean", "char", "float", "double", "byte", "short", "int", "long", "void",
    2353        "array", "object", "unknown", "address"};
    2354
    2355    /**
    2356     * The primitive class names corresponding to the T_XX constants, e.g., CLASS_TYPE_NAMES[T_INT] = "java.lang.Integer"
    2357     */
    2358    String[] CLASS_TYPE_NAMES = {ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, "java.lang.Boolean", "java.lang.Character", "java.lang.Float",
    2359        "java.lang.Double", "java.lang.Byte", "java.lang.Short", "java.lang.Integer", "java.lang.Long", "java.lang.Void", ILLEGAL_TYPE, ILLEGAL_TYPE,
    2360        ILLEGAL_TYPE, ILLEGAL_TYPE};
    2361
    2362    /**
    2363     * The signature characters corresponding to primitive types, e.g., SHORT_TYPE_NAMES[T_INT] = "I"
    2364     */
    2365    String[] SHORT_TYPE_NAMES = {ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, "Z", "C", "F", "D", "B", "S", "I", "J", "V", ILLEGAL_TYPE,
    2366        ILLEGAL_TYPE, ILLEGAL_TYPE};
    2367
    2368    /**
    2369     * Number of byte code operands for each opcode, i.e., number of bytes after the tag byte itself. Indexed by opcode, so
    2370     * NO_OF_OPERANDS[BIPUSH] = the number of operands for a bipush instruction.
    2371     */
    2372    short[] NO_OF_OPERANDS = {0/* nop */, 0/* aconst_null */, 0/* iconst_m1 */, 0/* iconst_0 */, 0/* iconst_1 */, 0/* iconst_2 */, 0/* iconst_3 */,
    2373        0/* iconst_4 */, 0/* iconst_5 */, 0/* lconst_0 */, 0/* lconst_1 */, 0/* fconst_0 */, 0/* fconst_1 */, 0/* fconst_2 */, 0/* dconst_0 */, 0/* dconst_1 */,
    2374        1/* bipush */, 2/* sipush */, 1/* ldc */, 2/* ldc_w */, 2/* ldc2_w */, 1/* iload */, 1/* lload */, 1/* fload */, 1/* dload */, 1/* aload */,
    2375        0/* iload_0 */, 0/* iload_1 */, 0/* iload_2 */, 0/* iload_3 */, 0/* lload_0 */, 0/* lload_1 */, 0/* lload_2 */, 0/* lload_3 */, 0/* fload_0 */,
    2376        0/* fload_1 */, 0/* fload_2 */, 0/* fload_3 */, 0/* dload_0 */, 0/* dload_1 */, 0/* dload_2 */, 0/* dload_3 */, 0/* aload_0 */, 0/* aload_1 */,
    2377        0/* aload_2 */, 0/* aload_3 */, 0/* iaload */, 0/* laload */, 0/* faload */, 0/* daload */, 0/* aaload */, 0/* baload */, 0/* caload */, 0/* saload */,
    2378        1/* istore */, 1/* lstore */, 1/* fstore */, 1/* dstore */, 1/* astore */, 0/* istore_0 */, 0/* istore_1 */, 0/* istore_2 */, 0/* istore_3 */,
    2379        0/* lstore_0 */, 0/* lstore_1 */, 0/* lstore_2 */, 0/* lstore_3 */, 0/* fstore_0 */, 0/* fstore_1 */, 0/* fstore_2 */, 0/* fstore_3 */, 0/* dstore_0 */,
    2380        0/* dstore_1 */, 0/* dstore_2 */, 0/* dstore_3 */, 0/* astore_0 */, 0/* astore_1 */, 0/* astore_2 */, 0/* astore_3 */, 0/* iastore */, 0/* lastore */,
    2381        0/* fastore */, 0/* dastore */, 0/* aastore */, 0/* bastore */, 0/* castore */, 0/* sastore */, 0/* pop */, 0/* pop2 */, 0/* dup */, 0/* dup_x1 */,
    2382        0/* dup_x2 */, 0/* dup2 */, 0/* dup2_x1 */, 0/* dup2_x2 */, 0/* swap */, 0/* iadd */, 0/* ladd */, 0/* fadd */, 0/* dadd */, 0/* isub */, 0/* lsub */,
    2383        0/* fsub */, 0/* dsub */, 0/* imul */, 0/* lmul */, 0/* fmul */, 0/* dmul */, 0/* idiv */, 0/* ldiv */, 0/* fdiv */, 0/* ddiv */, 0/* irem */,
    2384        0/* lrem */, 0/* frem */, 0/* drem */, 0/* ineg */, 0/* lneg */, 0/* fneg */, 0/* dneg */, 0/* ishl */, 0/* lshl */, 0/* ishr */, 0/* lshr */,
    2385        0/* iushr */, 0/* lushr */, 0/* iand */, 0/* land */, 0/* ior */, 0/* lor */, 0/* ixor */, 0/* lxor */, 2/* iinc */, 0/* i2l */, 0/* i2f */, 0/* i2d */,
    2386        0/* l2i */, 0/* l2f */, 0/* l2d */, 0/* f2i */, 0/* f2l */, 0/* f2d */, 0/* d2i */, 0/* d2l */, 0/* d2f */, 0/* i2b */, 0/* i2c */, 0/* i2s */,
    2387        0/* lcmp */, 0/* fcmpl */, 0/* fcmpg */, 0/* dcmpl */, 0/* dcmpg */, 2/* ifeq */, 2/* ifne */, 2/* iflt */, 2/* ifge */, 2/* ifgt */, 2/* ifle */,
    2388        2/* if_icmpeq */, 2/* if_icmpne */, 2/* if_icmplt */, 2/* if_icmpge */, 2/* if_icmpgt */, 2/* if_icmple */, 2/* if_acmpeq */, 2/* if_acmpne */,
    2389        2/* goto */, 2/* jsr */, 1/* ret */, UNPREDICTABLE/* tableswitch */, UNPREDICTABLE/* lookupswitch */, 0/* ireturn */, 0/* lreturn */, 0/* freturn */,
    2390        0/* dreturn */, 0/* areturn */, 0/* return */, 2/* getstatic */, 2/* putstatic */, 2/* getfield */, 2/* putfield */, 2/* invokevirtual */,
    2391        2/* invokespecial */, 2/* invokestatic */, 4/* invokeinterface */, 4/* invokedynamic */, 2/* new */, 1/* newarray */, 2/* anewarray */,
    2392        0/* arraylength */, 0/* athrow */, 2/* checkcast */, 2/* instanceof */, 0/* monitorenter */, 0/* monitorexit */, UNPREDICTABLE/* wide */,
    2393        3/* multianewarray */, 2/* ifnull */, 2/* ifnonnull */, 4/* goto_w */, 4/* jsr_w */, 0/* breakpoint */, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2394        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2395        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2396        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2397        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, RESERVED/* impdep1 */, RESERVED/* impdep2 */
    2398    };
    2399
    2400    /**
    2401     * How the byte code operands are to be interpreted for each opcode. Indexed by opcode. TYPE_OF_OPERANDS[ILOAD] = an
    2402     * array of shorts describing the data types for the instruction.
    2403     */
    2404    short[][] TYPE_OF_OPERANDS = {{}/* nop */, {}/* aconst_null */, {}/* iconst_m1 */, {}/* iconst_0 */, {}/* iconst_1 */, {}/* iconst_2 */, {}/* iconst_3 */,
    2405        {}/* iconst_4 */, {}/* iconst_5 */, {}/* lconst_0 */, {}/* lconst_1 */, {}/* fconst_0 */, {}/* fconst_1 */, {}/* fconst_2 */, {}/* dconst_0 */,
    2406        {}/* dconst_1 */, {T_BYTE}/* bipush */, {T_SHORT}/* sipush */, {T_BYTE}/* ldc */, {T_SHORT}/* ldc_w */, {T_SHORT}/* ldc2_w */, {T_BYTE}/* iload */,
    2407        {T_BYTE}/* lload */, {T_BYTE}/* fload */, {T_BYTE}/* dload */, {T_BYTE}/* aload */, {}/* iload_0 */, {}/* iload_1 */, {}/* iload_2 */, {}/* iload_3 */,
    2408        {}/* lload_0 */, {}/* lload_1 */, {}/* lload_2 */, {}/* lload_3 */, {}/* fload_0 */, {}/* fload_1 */, {}/* fload_2 */, {}/* fload_3 */, {}/* dload_0 */,
    2409        {}/* dload_1 */, {}/* dload_2 */, {}/* dload_3 */, {}/* aload_0 */, {}/* aload_1 */, {}/* aload_2 */, {}/* aload_3 */, {}/* iaload */, {}/* laload */,
    2410        {}/* faload */, {}/* daload */, {}/* aaload */, {}/* baload */, {}/* caload */, {}/* saload */, {T_BYTE}/* istore */, {T_BYTE}/* lstore */,
    2411        {T_BYTE}/* fstore */, {T_BYTE}/* dstore */, {T_BYTE}/* astore */, {}/* istore_0 */, {}/* istore_1 */, {}/* istore_2 */, {}/* istore_3 */,
    2412        {}/* lstore_0 */, {}/* lstore_1 */, {}/* lstore_2 */, {}/* lstore_3 */, {}/* fstore_0 */, {}/* fstore_1 */, {}/* fstore_2 */, {}/* fstore_3 */,
    2413        {}/* dstore_0 */, {}/* dstore_1 */, {}/* dstore_2 */, {}/* dstore_3 */, {}/* astore_0 */, {}/* astore_1 */, {}/* astore_2 */, {}/* astore_3 */,
    2414        {}/* iastore */, {}/* lastore */, {}/* fastore */, {}/* dastore */, {}/* aastore */, {}/* bastore */, {}/* castore */, {}/* sastore */, {}/* pop */,
    2415        {}/* pop2 */, {}/* dup */, {}/* dup_x1 */, {}/* dup_x2 */, {}/* dup2 */, {}/* dup2_x1 */, {}/* dup2_x2 */, {}/* swap */, {}/* iadd */, {}/* ladd */,
    2416        {}/* fadd */, {}/* dadd */, {}/* isub */, {}/* lsub */, {}/* fsub */, {}/* dsub */, {}/* imul */, {}/* lmul */, {}/* fmul */, {}/* dmul */,
    2417        {}/* idiv */, {}/* ldiv */, {}/* fdiv */, {}/* ddiv */, {}/* irem */, {}/* lrem */, {}/* frem */, {}/* drem */, {}/* ineg */, {}/* lneg */,
    2418        {}/* fneg */, {}/* dneg */, {}/* ishl */, {}/* lshl */, {}/* ishr */, {}/* lshr */, {}/* iushr */, {}/* lushr */, {}/* iand */, {}/* land */,
    2419        {}/* ior */, {}/* lor */, {}/* ixor */, {}/* lxor */, {T_BYTE, T_BYTE}/* iinc */, {}/* i2l */, {}/* i2f */, {}/* i2d */, {}/* l2i */, {}/* l2f */,
    2420        {}/* l2d */, {}/* f2i */, {}/* f2l */, {}/* f2d */, {}/* d2i */, {}/* d2l */, {}/* d2f */, {}/* i2b */, {}/* i2c */, {}/* i2s */, {}/* lcmp */,
    2421        {}/* fcmpl */, {}/* fcmpg */, {}/* dcmpl */, {}/* dcmpg */, {T_SHORT}/* ifeq */, {T_SHORT}/* ifne */, {T_SHORT}/* iflt */, {T_SHORT}/* ifge */,
    2422        {T_SHORT}/* ifgt */, {T_SHORT}/* ifle */, {T_SHORT}/* if_icmpeq */, {T_SHORT}/* if_icmpne */, {T_SHORT}/* if_icmplt */, {T_SHORT}/* if_icmpge */,
    2423        {T_SHORT}/* if_icmpgt */, {T_SHORT}/* if_icmple */, {T_SHORT}/* if_acmpeq */, {T_SHORT}/* if_acmpne */, {T_SHORT}/* goto */, {T_SHORT}/* jsr */,
    2424        {T_BYTE}/* ret */, {}/* tableswitch */, {}/* lookupswitch */, {}/* ireturn */, {}/* lreturn */, {}/* freturn */, {}/* dreturn */, {}/* areturn */,
    2425        {}/* return */, {T_SHORT}/* getstatic */, {T_SHORT}/* putstatic */, {T_SHORT}/* getfield */, {T_SHORT}/* putfield */, {T_SHORT}/* invokevirtual */,
    2426        {T_SHORT}/* invokespecial */, {T_SHORT}/* invokestatic */, {T_SHORT, T_BYTE, T_BYTE}/* invokeinterface */, {T_SHORT, T_BYTE, T_BYTE}/* invokedynamic */,
    2427        {T_SHORT}/* new */, {T_BYTE}/* newarray */, {T_SHORT}/* anewarray */, {}/* arraylength */, {}/* athrow */, {T_SHORT}/* checkcast */,
    2428        {T_SHORT}/* instanceof */, {}/* monitorenter */, {}/* monitorexit */, {T_BYTE}/* wide */, {T_SHORT, T_BYTE}/* multianewarray */, {T_SHORT}/* ifnull */,
    2429        {T_SHORT}/* ifnonnull */, {T_INT}/* goto_w */, {T_INT}/* jsr_w */, {}/* breakpoint */, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
    2430        {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
    2431        {}/* impdep1 */, {}/* impdep2 */
    2432    };
    2433
    2434    /**
    2435     * Names of opcodes. Indexed by opcode. OPCODE_NAMES[ALOAD] = "aload".
    2436     */
    2437    String[] OPCODE_NAMES = {"nop", "aconst_null", "iconst_m1", "iconst_0", "iconst_1", "iconst_2", "iconst_3", "iconst_4", "iconst_5", "lconst_0", "lconst_1",
    2438        "fconst_0", "fconst_1", "fconst_2", "dconst_0", "dconst_1", "bipush", "sipush", "ldc", "ldc_w", "ldc2_w", "iload", "lload", "fload", "dload", "aload",
    2439        "iload_0", "iload_1", "iload_2", "iload_3", "lload_0", "lload_1", "lload_2", "lload_3", "fload_0", "fload_1", "fload_2", "fload_3", "dload_0",
    2440        "dload_1", "dload_2", "dload_3", "aload_0", "aload_1", "aload_2", "aload_3", "iaload", "laload", "faload", "daload", "aaload", "baload", "caload",
    2441        "saload", "istore", "lstore", "fstore", "dstore", "astore", "istore_0", "istore_1", "istore_2", "istore_3", "lstore_0", "lstore_1", "lstore_2",
    2442        "lstore_3", "fstore_0", "fstore_1", "fstore_2", "fstore_3", "dstore_0", "dstore_1", "dstore_2", "dstore_3", "astore_0", "astore_1", "astore_2",
    2443        "astore_3", "iastore", "lastore", "fastore", "dastore", "aastore", "bastore", "castore", "sastore", "pop", "pop2", "dup", "dup_x1", "dup_x2", "dup2",
    2444        "dup2_x1", "dup2_x2", "swap", "iadd", "ladd", "fadd", "dadd", "isub", "lsub", "fsub", "dsub", "imul", "lmul", "fmul", "dmul", "idiv", "ldiv", "fdiv",
    2445        "ddiv", "irem", "lrem", "frem", "drem", "ineg", "lneg", "fneg", "dneg", "ishl", "lshl", "ishr", "lshr", "iushr", "lushr", "iand", "land", "ior", "lor",
    2446        "ixor", "lxor", "iinc", "i2l", "i2f", "i2d", "l2i", "l2f", "l2d", "f2i", "f2l", "f2d", "d2i", "d2l", "d2f", "i2b", "i2c", "i2s", "lcmp", "fcmpl",
    2447        "fcmpg", "dcmpl", "dcmpg", "ifeq", "ifne", "iflt", "ifge", "ifgt", "ifle", "if_icmpeq", "if_icmpne", "if_icmplt", "if_icmpge", "if_icmpgt", "if_icmple",
    2448        "if_acmpeq", "if_acmpne", "goto", "jsr", "ret", "tableswitch", "lookupswitch", "ireturn", "lreturn", "freturn", "dreturn", "areturn", "return",
    2449        "getstatic", "putstatic", "getfield", "putfield", "invokevirtual", "invokespecial", "invokestatic", "invokeinterface", "invokedynamic", "new",
    2450        "newarray", "anewarray", "arraylength", "athrow", "checkcast", "instanceof", "monitorenter", "monitorexit", "wide", "multianewarray", "ifnull",
    2451        "ifnonnull", "goto_w", "jsr_w", "breakpoint", ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
    2452        ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
    2453        ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
    2454        ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
    2455        ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
    2456        ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
    2457        "impdep1", "impdep2"};
    2458
    2459    /**
    2460     * Number of words consumed on operand stack by instructions. Indexed by opcode. CONSUME_STACK[FALOAD] = number of words
    2461     * consumed from the stack by a faload instruction.
    2462     */
    2463    int[] CONSUME_STACK = {0/* nop */, 0/* aconst_null */, 0/* iconst_m1 */, 0/* iconst_0 */, 0/* iconst_1 */, 0/* iconst_2 */, 0/* iconst_3 */,
    2464        0/* iconst_4 */, 0/* iconst_5 */, 0/* lconst_0 */, 0/* lconst_1 */, 0/* fconst_0 */, 0/* fconst_1 */, 0/* fconst_2 */, 0/* dconst_0 */, 0/* dconst_1 */,
    2465        0/* bipush */, 0/* sipush */, 0/* ldc */, 0/* ldc_w */, 0/* ldc2_w */, 0/* iload */, 0/* lload */, 0/* fload */, 0/* dload */, 0/* aload */,
    2466        0/* iload_0 */, 0/* iload_1 */, 0/* iload_2 */, 0/* iload_3 */, 0/* lload_0 */, 0/* lload_1 */, 0/* lload_2 */, 0/* lload_3 */, 0/* fload_0 */,
    2467        0/* fload_1 */, 0/* fload_2 */, 0/* fload_3 */, 0/* dload_0 */, 0/* dload_1 */, 0/* dload_2 */, 0/* dload_3 */, 0/* aload_0 */, 0/* aload_1 */,
    2468        0/* aload_2 */, 0/* aload_3 */, 2/* iaload */, 2/* laload */, 2/* faload */, 2/* daload */, 2/* aaload */, 2/* baload */, 2/* caload */, 2/* saload */,
    2469        1/* istore */, 2/* lstore */, 1/* fstore */, 2/* dstore */, 1/* astore */, 1/* istore_0 */, 1/* istore_1 */, 1/* istore_2 */, 1/* istore_3 */,
    2470        2/* lstore_0 */, 2/* lstore_1 */, 2/* lstore_2 */, 2/* lstore_3 */, 1/* fstore_0 */, 1/* fstore_1 */, 1/* fstore_2 */, 1/* fstore_3 */, 2/* dstore_0 */,
    2471        2/* dstore_1 */, 2/* dstore_2 */, 2/* dstore_3 */, 1/* astore_0 */, 1/* astore_1 */, 1/* astore_2 */, 1/* astore_3 */, 3/* iastore */, 4/* lastore */,
    2472        3/* fastore */, 4/* dastore */, 3/* aastore */, 3/* bastore */, 3/* castore */, 3/* sastore */, 1/* pop */, 2/* pop2 */, 1/* dup */, 2/* dup_x1 */,
    2473        3/* dup_x2 */, 2/* dup2 */, 3/* dup2_x1 */, 4/* dup2_x2 */, 2/* swap */, 2/* iadd */, 4/* ladd */, 2/* fadd */, 4/* dadd */, 2/* isub */, 4/* lsub */,
    2474        2/* fsub */, 4/* dsub */, 2/* imul */, 4/* lmul */, 2/* fmul */, 4/* dmul */, 2/* idiv */, 4/* ldiv */, 2/* fdiv */, 4/* ddiv */, 2/* irem */,
    2475        4/* lrem */, 2/* frem */, 4/* drem */, 1/* ineg */, 2/* lneg */, 1/* fneg */, 2/* dneg */, 2/* ishl */, 3/* lshl */, 2/* ishr */, 3/* lshr */,
    2476        2/* iushr */, 3/* lushr */, 2/* iand */, 4/* land */, 2/* ior */, 4/* lor */, 2/* ixor */, 4/* lxor */, 0/* iinc */, 1/* i2l */, 1/* i2f */, 1/* i2d */,
    2477        2/* l2i */, 2/* l2f */, 2/* l2d */, 1/* f2i */, 1/* f2l */, 1/* f2d */, 2/* d2i */, 2/* d2l */, 2/* d2f */, 1/* i2b */, 1/* i2c */, 1/* i2s */,
    2478        4/* lcmp */, 2/* fcmpl */, 2/* fcmpg */, 4/* dcmpl */, 4/* dcmpg */, 1/* ifeq */, 1/* ifne */, 1/* iflt */, 1/* ifge */, 1/* ifgt */, 1/* ifle */,
    2479        2/* if_icmpeq */, 2/* if_icmpne */, 2/* if_icmplt */, 2 /* if_icmpge */, 2/* if_icmpgt */, 2/* if_icmple */, 2/* if_acmpeq */, 2/* if_acmpne */,
    2480        0/* goto */, 0/* jsr */, 0/* ret */, 1/* tableswitch */, 1/* lookupswitch */, 1/* ireturn */, 2/* lreturn */, 1/* freturn */, 2/* dreturn */,
    2481        1/* areturn */, 0/* return */, 0/* getstatic */, UNPREDICTABLE/* putstatic */, 1/* getfield */, UNPREDICTABLE/* putfield */,
    2482        UNPREDICTABLE/* invokevirtual */, UNPREDICTABLE/* invokespecial */, UNPREDICTABLE/* invokestatic */, UNPREDICTABLE/* invokeinterface */,
    2483        UNPREDICTABLE/* invokedynamic */, 0/* new */, 1/* newarray */, 1/* anewarray */, 1/* arraylength */, 1/* athrow */, 1/* checkcast */, 1/* instanceof */,
    2484        1/* monitorenter */, 1/* monitorexit */, 0/* wide */, UNPREDICTABLE/* multianewarray */, 1/* ifnull */, 1/* ifnonnull */, 0/* goto_w */, 0/* jsr_w */,
    2485        0/* breakpoint */, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2486        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2487        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2488        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2489        UNPREDICTABLE/* impdep1 */, UNPREDICTABLE/* impdep2 */
    2490    };
    2491
    2492    /**
    2493     * Number of words produced onto operand stack by instructions. Indexed by opcode. CONSUME_STACK[DALOAD] = number of
    2494     * words consumed from the stack by a daload instruction.
    2495     */
    2496    int[] PRODUCE_STACK = {0/* nop */, 1/* aconst_null */, 1/* iconst_m1 */, 1/* iconst_0 */, 1/* iconst_1 */, 1/* iconst_2 */, 1/* iconst_3 */,
    2497        1/* iconst_4 */, 1/* iconst_5 */, 2/* lconst_0 */, 2/* lconst_1 */, 1/* fconst_0 */, 1/* fconst_1 */, 1/* fconst_2 */, 2/* dconst_0 */, 2/* dconst_1 */,
    2498        1/* bipush */, 1/* sipush */, 1/* ldc */, 1/* ldc_w */, 2/* ldc2_w */, 1/* iload */, 2/* lload */, 1/* fload */, 2/* dload */, 1/* aload */,
    2499        1/* iload_0 */, 1/* iload_1 */, 1/* iload_2 */, 1/* iload_3 */, 2/* lload_0 */, 2/* lload_1 */, 2/* lload_2 */, 2/* lload_3 */, 1/* fload_0 */,
    2500        1/* fload_1 */, 1/* fload_2 */, 1/* fload_3 */, 2/* dload_0 */, 2/* dload_1 */, 2/* dload_2 */, 2/* dload_3 */, 1/* aload_0 */, 1/* aload_1 */,
    2501        1/* aload_2 */, 1/* aload_3 */, 1/* iaload */, 2/* laload */, 1/* faload */, 2/* daload */, 1/* aaload */, 1/* baload */, 1/* caload */, 1/* saload */,
    2502        0/* istore */, 0/* lstore */, 0/* fstore */, 0/* dstore */, 0/* astore */, 0/* istore_0 */, 0/* istore_1 */, 0/* istore_2 */, 0/* istore_3 */,
    2503        0/* lstore_0 */, 0/* lstore_1 */, 0/* lstore_2 */, 0/* lstore_3 */, 0/* fstore_0 */, 0/* fstore_1 */, 0/* fstore_2 */, 0/* fstore_3 */, 0/* dstore_0 */,
    2504        0/* dstore_1 */, 0/* dstore_2 */, 0/* dstore_3 */, 0/* astore_0 */, 0/* astore_1 */, 0/* astore_2 */, 0/* astore_3 */, 0/* iastore */, 0/* lastore */,
    2505        0/* fastore */, 0/* dastore */, 0/* aastore */, 0/* bastore */, 0/* castore */, 0/* sastore */, 0/* pop */, 0/* pop2 */, 2/* dup */, 3/* dup_x1 */,
    2506        4/* dup_x2 */, 4/* dup2 */, 5/* dup2_x1 */, 6/* dup2_x2 */, 2/* swap */, 1/* iadd */, 2/* ladd */, 1/* fadd */, 2/* dadd */, 1/* isub */, 2/* lsub */,
    2507        1/* fsub */, 2/* dsub */, 1/* imul */, 2/* lmul */, 1/* fmul */, 2/* dmul */, 1/* idiv */, 2/* ldiv */, 1/* fdiv */, 2/* ddiv */, 1/* irem */,
    2508        2/* lrem */, 1/* frem */, 2/* drem */, 1/* ineg */, 2/* lneg */, 1/* fneg */, 2/* dneg */, 1/* ishl */, 2/* lshl */, 1/* ishr */, 2/* lshr */,
    2509        1/* iushr */, 2/* lushr */, 1/* iand */, 2/* land */, 1/* ior */, 2/* lor */, 1/* ixor */, 2/* lxor */, 0/* iinc */, 2/* i2l */, 1/* i2f */, 2/* i2d */,
    2510        1/* l2i */, 1/* l2f */, 2/* l2d */, 1/* f2i */, 2/* f2l */, 2/* f2d */, 1/* d2i */, 2/* d2l */, 1/* d2f */, 1/* i2b */, 1/* i2c */, 1/* i2s */,
    2511        1/* lcmp */, 1/* fcmpl */, 1/* fcmpg */, 1/* dcmpl */, 1/* dcmpg */, 0/* ifeq */, 0/* ifne */, 0/* iflt */, 0/* ifge */, 0/* ifgt */, 0/* ifle */,
    2512        0/* if_icmpeq */, 0/* if_icmpne */, 0/* if_icmplt */, 0/* if_icmpge */, 0/* if_icmpgt */, 0/* if_icmple */, 0/* if_acmpeq */, 0/* if_acmpne */,
    2513        0/* goto */, 1/* jsr */, 0/* ret */, 0/* tableswitch */, 0/* lookupswitch */, 0/* ireturn */, 0/* lreturn */, 0/* freturn */, 0/* dreturn */,
    2514        0/* areturn */, 0/* return */, UNPREDICTABLE/* getstatic */, 0/* putstatic */, UNPREDICTABLE/* getfield */, 0/* putfield */,
    2515        UNPREDICTABLE/* invokevirtual */, UNPREDICTABLE/* invokespecial */, UNPREDICTABLE/* invokestatic */, UNPREDICTABLE/* invokeinterface */,
    2516        UNPREDICTABLE/* invokedynamic */, 1/* new */, 1/* newarray */, 1/* anewarray */, 1/* arraylength */, 1/* athrow */, 1/* checkcast */, 1/* instanceof */,
    2517        0/* monitorenter */, 0/* monitorexit */, 0/* wide */, 1/* multianewarray */, 0/* ifnull */, 0/* ifnonnull */, 0/* goto_w */, 1/* jsr_w */,
    2518        0/* breakpoint */, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2519        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2520        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2521        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
    2522        UNPREDICTABLE/* impdep1 */, UNPREDICTABLE/* impdep2 */
    2523    };
    2524
    2525    /**
    2526     * Attributes and their corresponding names.
    2527     */
    2528    byte ATTR_UNKNOWN = -1;
    2529    byte ATTR_SOURCE_FILE = 0;
    2530    byte ATTR_CONSTANT_VALUE = 1;
    2531    byte ATTR_CODE = 2;
    2532    byte ATTR_EXCEPTIONS = 3;
    2533    byte ATTR_LINE_NUMBER_TABLE = 4;
    2534    byte ATTR_LOCAL_VARIABLE_TABLE = 5;
    2535    byte ATTR_INNER_CLASSES = 6;
    2536    byte ATTR_SYNTHETIC = 7;
    2537    byte ATTR_DEPRECATED = 8;
    2538    byte ATTR_PMG = 9;
    2539    byte ATTR_SIGNATURE = 10;
    2540    byte ATTR_STACK_MAP = 11;
    2541    byte ATTR_RUNTIMEVISIBLE_ANNOTATIONS = 12;
    2542    byte ATTR_RUNTIMEINVISIBLE_ANNOTATIONS = 13;
    2543    byte ATTR_RUNTIMEVISIBLE_PARAMETER_ANNOTATIONS = 14;
    2544    byte ATTR_RUNTIMEINVISIBLE_PARAMETER_ANNOTATIONS = 15;
    2545    byte ATTR_ANNOTATION_DEFAULT = 16;
    2546
    2547    short KNOWN_ATTRIBUTES = 12;// should be 17
    2548
    2549    // TODO: mutable public array!!
    2550    String[] ATTRIBUTE_NAMES = {"SourceFile", "ConstantValue", "Code", "Exceptions", "LineNumberTable", "LocalVariableTable", "InnerClasses", "Synthetic",
    2551        "Deprecated", "PMGClass", "Signature", "StackMap", "RuntimeVisibleAnnotations", "RuntimeInvisibleAnnotations", "RuntimeVisibleParameterAnnotations",
    2552        "RuntimeInvisibleParameterAnnotations", "AnnotationDefault"};
    2553
    2554    /**
    2555     * Constants used in the StackMap attribute.
    2556     */
    2557    byte ITEM_Bogus = 0;
    2558    byte ITEM_Integer = 1;
    2559    byte ITEM_Float = 2;
    2560    byte ITEM_Double = 3;
    2561    byte ITEM_Long = 4;
    2562    byte ITEM_Null = 5;
    2563    byte ITEM_InitObject = 6;
    2564    byte ITEM_Object = 7;
    2565    byte ITEM_NewObject = 8;
    2566
    2567    String[] ITEM_NAMES = {"Bogus", "Integer", "Float", "Double", "Long", "Null", "InitObject", "Object", "NewObject"};
    2568
    2569}