列挙クラスOPコード

java.lang.Object
java.lang.Enum<Opcode>
java.lang.classfile.Opcode
すべての実装されたインタフェース:
Serializable, Comparable<Opcode>, Constable

public enum Opcode extends Enum<Opcode>
JVMS 6.5で説明されているように、JVM命令セットのopコードについて説明します。 これには、wideによって変更されたいくつかの擬似コードが含まれます。

opcodeは、命令の操作を示します。

APIのノート:
enum定数は、opcodesのニーモニックの後に大文字で名前が付けられます。 広範な擬似コードには、元のopコードのニーモニックと_Wサフィクスが付けられます。 ただし、ldc_wldc2_wgoto_w、およびjsr_wは、ワイド擬似コードではなく正当なopcodesです。
Java Virtual Machine仕様を参照してください:
6.5 手順
導入されたバージョン:
24
関連項目:
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static enum 
    opcodesの種類

    クラスjava.lang.Enumで宣言されたネストされたクラス/インタフェース

    Enum.EnumDesc<E extends Enum<E>>
  • 列挙型定数のサマリー

    列挙型定数
    列挙型定数
    説明
    配列からreferenceをロードします。
    reference配列に格納します。
    nullを押します。
    ローカル変数からreferenceをロードします。
    ローカル変数スロット0からreferenceをロードします。
    ローカル変数スロット1からreferenceをロードします。
    ローカル変数スロット2からreferenceをロードします。
    ローカル変数スロット3からreferenceをロードします。
    ローカル変数(ワイド・インデックス)からreferenceをロードします。
    referenceの新しい配列を作成します。
    メソッドからreferenceを返します。
    配列の長さを取得します。
    referenceをローカル変数に格納します。
    referenceをローカル変数スロット0に格納します。
    referenceをローカル変数スロット1に格納します。
    referenceをローカル変数スロット2に格納します。
    referenceをローカル変数スロット3に格納します。
    referenceをローカル変数(ワイド・インデックス)に格納します。
    例外またはエラーをスローします。
    配列からbyteまたはbooleanをロードします。
    byteまたはboolean配列に格納します。
    即時byte値の符号拡張からint値をプッシュします。
    配列からcharをロードします。
    char配列に格納します。
    オブジェクトが指定されたタイプかどうかを確認します。
    doublefloatに変換します。
    doubleintに変換します。
    doublelongに変換します。
    doubleを追加します。
    配列からdoubleをロードします。
    double配列に格納します。
    doubleを比較します。
    doubleを比較します。
    double定数0.0Dをプッシュします。
    double定数1.0Dをプッシュします。
    doubleを分割します。
    ローカル変数からdoubleをロードします。
    ローカル変数スロット0からdoubleをロードします。
    ローカル変数スロット1からdoubleをロードします。
    ローカル変数スロット2からdoubleをロードします。
    ローカル変数スロット3からdoubleをロードします。
    ローカル変数(ワイド・インデックス)からdoubleをロードします。
    doubleを乗算します。
    doubleを否定します。
    リマインダdouble
    メソッドからdoubleを返します。
    doubleをローカル変数に格納します。
    doubleをローカル変数スロット0に格納します。
    doubleをローカル変数スロット1に格納します。
    doubleをローカル変数スロット2に格納します。
    doubleをローカル変数スロット3に格納します。
    doubleをローカル変数(ワイド・インデックス)に格納します。
    doubleを減算します。
    上部のオペランド・スタック値を複製します。
    上部のオペランド・スタック値を複製し、下に2つの値を挿入します。
    上部のオペランド・スタック値を複製し、2つまたは3つの値を下に挿入します。
    上位1つまたは2つのオペランド・スタック値を複製します。
    上位1つまたは2つのオペランド・スタック値を複製し、2つまたは3つの値を下に挿入します。
    上位1つまたは2つのオペランド・スタック値を複製し、2、3または4つの値を下に挿入します。
    floatdoubleに変換します。
    floatintに変換します。
    floatlongに変換します。
    floatを追加します。
    配列からfloatをロードします。
    float配列に格納します。
    floatを比較します。
    floatを比較します。
    float定数0.0Fをプッシュします。
    float定数1.0Fをプッシュします。
    float定数2.0Fをプッシュします。
    floatを分割します。
    ローカル変数からfloatをロードします。
    ローカル変数スロット0からfloatをロードします。
    ローカル変数スロット1からfloatをロードします。
    ローカル変数スロット2からfloatをロードします。
    ローカル変数スロット3からfloatをロードします。
    ローカル変数(ワイド・インデックス)からfloatをロードします。
    floatを乗算します。
    floatを否定します。
    リマインダfloat
    メソッドからfloatを返します。
    floatをローカル変数に格納します。
    floatをローカル変数スロット0に格納します。
    floatをローカル変数スロット1に格納します。
    floatをローカル変数スロット2に格納します。
    floatをローカル変数スロット3に格納します。
    floatをローカル変数(ワイド・インデックス)に格納します。
    floatを減算します。
    オブジェクトからフィールドをフェッチします。
    クラスからstaticフィールドを取得します。
    常にブランチ。
    ブランチは常に(ワイド・インデックス)です。
    intbyteに変換します。
    intcharに変換します。
    intdoubleに変換します。
    intfloatに変換します。
    intlongに変換します。
    intshortに変換します。
    intを追加します。
    配列からintをロードします。
    ビット単位AND int
    int配列に格納します。
    int定数0をプッシュします。
    int定数1をプッシュします。
    int定数2をプッシュします。
    int定数3をプッシュします。
    int定数4をプッシュします。
    int定数5をプッシュします。
    int定数-1をプッシュします。
    intを分割します。
    reference比較operand1 == operand2が成功した場合に分岐します。
    reference比較operand1 != operand2が成功した場合に分岐します。
    int比較operand1 == operand2が成功した場合に分岐します。
    int比較operand1 >= operand2が成功した場合に分岐します。
    int比較operand1 > operand2が成功した場合に分岐します。
    int比較operand1 <= operand2が成功した場合に分岐します。
    int比較operand1 < operand2が成功した場合に分岐します。
    int比較operand1 != operand2が成功した場合に分岐します。
    int比較== 0が成功した場合に分岐します。
    int比較>= 0が成功した場合に分岐します。
    int比較> 0が成功した場合に分岐します。
    int比較<= 0が成功した場合に分岐します。
    int比較< 0が成功した場合に分岐します。
    int比較!= 0が成功した場合に分岐します。
    referencenullでない場合はブランチ。
    referencenullの場合はブランチ。
    intローカル変数を定数で増分します。
    ローカル変数を定数(ワイド・インデックス)で増分します。
    ローカル変数からintをロードします。
    ローカル変数スロット0からintをロードします。
    ローカル変数スロット1からintをロードします。
    ローカル変数スロット2からintをロードします。
    ローカル変数スロット3からintをロードします。
    ローカル変数(ワイド・インデックス)からintをロードします。
    intを乗算します。
    intを否定します。
    オブジェクトが指定されたタイプかどうかを確認します。
    動的に計算されたコール・サイトを起動します。
    インタフェース・メソッドを起動します。
    インスタンス・メソッドを起動します。現在のクラスとそのスーパータイプのインスタンス初期化メソッドおよびメソッドを直接呼び出します。
    (static)クラスのメソッドを起動します。
    インスタンス・メソッドを起動します。クラスに基づいてディスパッチします。
    ビット単位またはint
    リマインダint
    メソッドからintを返します。
    シフト左int
    算術シフト右int
    intをローカル変数に格納します。
    intをローカル変数スロット0に格納します。
    intをローカル変数スロット1に格納します。
    intをローカル変数スロット2に格納します。
    intをローカル変数スロット3に格納します。
    intをローカル変数(ワイド・インデックス)に格納します。
    intを減算します。
    論理シフト右int
    ビット単位のXOR int
    (中止)ジャンプ・サブルーチン。メジャー・バージョン50で最後に使用。
    (中止)ジャンプ・サブルーチン (ワイド・インデックス) ;メジャー・バージョン50で最後に使用。
    longdoubleに変換します。
    longfloatに変換します。
    longintに変換します。
    longを追加します。
    配列からlongをロードします。
    ビット単位AND long
    long配列に格納します。
    longを比較します。
    long定数0Lをプッシュします。
    long定数1Lをプッシュします。
    実行時定数プールから項目をプッシュします。
    実行時定数プール(ワイド・インデックス)から項目をプッシュします。
    longまたはdoubleを実行時定数プール(ワイド・インデックス)からプッシュします。
    longを分割します。
    ローカル変数からlongをロードします。
    ローカル変数スロット0からlongをロードします。
    ローカル変数スロット1からlongをロードします。
    ローカル変数スロット2からlongをロードします。
    ローカル変数スロット3からlongをロードします。
    ローカル変数(ワイド・インデックス)からlongをロードします。
    longを乗算します。
    longを否定します。
    キー・マッチとジャンプでジャンプ表にアクセスします。
    ビット単位またはlong
    リマインダlong
    メソッドからlongを返します。
    シフト左long
    算術シフト右long
    longをローカル変数に格納します。
    longをローカル変数スロット0に格納します。
    longをローカル変数スロット1に格納します。
    longをローカル変数スロット2に格納します。
    longをローカル変数スロット3に格納します。
    longをローカル変数(ワイド・インデックス)に格納します。
    longを減算します。
    論理シフト右long
    ビット単位のXOR long
    オブジェクトのモニターを入力します。
    オブジェクトのモニターを終了します。
    新しい多次元配列を作成します。
    新規オブジェクトの作成
    新しい配列を作成します。
    意味なし
    上部のオペランド・スタック値をポップします。
    上位1つまたは2つのオペランド・スタック値をポップします。
    オブジェクトにフィールドを設定します。
    クラスのstaticフィールドを設定します。
    (中止)サブルーチンから戻ります。メジャー・バージョン50で最後に使用されました。
    (中止)サブルーチン(ワイド・インデックス)から戻ります。メジャー・バージョン50で最後に使用されました。
    メソッドからvoidを返します。
    配列からshortをロードします。
    short配列に格納します。
    即時short値の符号拡張からint値をプッシュします。
    上位2つのオペランド・スタック値をスワップします。
    インデックスとジャンプによるジャンプ表へのアクセス。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    opcode値を返します。
    boolean
    これがワイドopcodeによって変更された擬似opcodeである場合、trueを返します。
    操作の種類を返します。
    int
    固定の場合は命令のサイズをバイト単位で、それ以外の場合は -1を返します。
    static Opcode
    指定された名前を持つこのクラスのenum定数を返します。
    static Opcode[]
    この列挙クラスの定数を含む配列を宣言されている順序で 返します。

    クラスjava.lang.Enumで宣言されたメソッド

    clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

    クラスjava.lang.Objectで宣言されたメソッド

    getClass, notify, notifyAll, wait, wait, wait