列挙型クラスClassFile.ShortJumpsOption

java.lang.Object
java.lang.Enum<ClassFile.ShortJumpsOption>
java.lang.classfile.ClassFile.ShortJumpsOption
すべての実装されたインタフェース:
Serializable, ClassFile.Option, Comparable<ClassFile.ShortJumpsOption>, Constable
含まれているインタフェース:
ClassFile

public static enum ClassFile.ShortJumpsOption extends Enum<ClassFile.ShortJumpsOption> implements ClassFile.Option
必要に応じて、短いジャンプを自動的に同等の指示に書き換えるかどうかを示すオプション。 デフォルトはFIX_SHORT_JUMPSで、自動的にリライトされます。

物理的な制限により、一部のタイプの命令では、このようなオフセットをエンコードするためにs2を使用するため、bciオフセットが -32768未満または32767を超える特定のジャンプ・ターゲットをエンコードできません。 (code配列の最大長は65535です。) これらのタイプの命令は、"ショート・ジャンプ"と呼ばれます。

リライトを無効にすると、生成された classファイルの物理的正確性が保証され、生成されたclassファイルが安定している場合、最初にオーバーフローしたフォワード・ジャンプの失敗によるオーバーヘッドを回避できます。

導入されたバージョン:
24
関連項目:
  • ネストされたクラスのサマリー

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

    Enum.EnumDesc<E>
    修飾子と型
    クラス
    説明
    static final class 
    Enum.EnumDesc<E extends Enum<E>>
    enum定数の「名目記述子」
  • 列挙型定数のサマリー

    列挙型定数
    列挙型定数
    説明
    短いジャンプ・オーバーフローの場合、IllegalArgumentExceptionで失敗します。
    必要に応じて、短いジャンプをlongに自動的に変換します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    指定された名前を持つこのクラスのenum定数を返します。
    この列挙クラスの定数を含む配列を宣言されている順序で 返します。

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

    clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
    修飾子と型
    メソッド
    説明
    protected final Object
    CloneNotSupportedExceptionをスローします。
    final int
    このenumと指定されたオブジェクトの順序を比較します。
    このインスタンスの列挙型記述子EnumDescを返します(作成可能な場合)。作成できない場合は空のOptionalを返します。
    final boolean
    equals(Object other)
    指定されたオブジェクトがこのenum定数と同じ場合は、trueを返します。
    protected final void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は削除のために非推奨になりました。
    このenum定数のenum型に対応するClassオブジェクトを返します。
    final int
    このenum定数のハッシュ・コードを返します。
    final String
    enum宣言で宣言されているとおりのenum定数の名前を返します。
    final int
    列挙定数の序数(列挙宣言での位置。初期定数はゼロの序数に割り当てられる)を返します。
    宣言に含まれるとおりのenum定数の名前を返します。
    static <T extends Enum<T>>
    T
    valueOf(Class<T> enumClass, String name)
    指定された名前の指定されたenumクラスのenum定数を返します。

    クラスオブジェクトで宣言されたメソッド

    getClass, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    final Class<?>
    このObjectの実行時クラスを返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • 列挙型定数の詳細

    • FIX_SHORT_JUMPS

      public static final ClassFile.ShortJumpsOption FIX_SHORT_JUMPS
      必要に応じて、短いジャンプをlongに自動的に変換します。

      無効な命令モデルの場合、CodeBuilderは、同じ効果を達成するために別の命令またはいくつかの他の命令を生成する場合があります。

    • FAIL_ON_SHORT_JUMPS

      public static final ClassFile.ShortJumpsOption FAIL_ON_SHORT_JUMPS
      短いジャンプ・オーバーフローの場合、IllegalArgumentExceptionで失敗します。

      これは、生成された classファイルの物理的正確性を確保し、フォワード・ジャンプのオーバーフローが失敗した最初の試行によるオーバーヘッドを回避するのに役立ちます。

  • メソッドの詳細

    • values

      public static ClassFile.ShortJumpsOption[] values()
      この列挙クラスの定数を含む配列を宣言されている順序で 返します。
      戻り値:
      この列挙クラスの定数を宣言されている順序で含む配列
    • valueOf

      public static ClassFile.ShortJumpsOption valueOf(String name)
      指定された名前を持つこのクラスのenum定数を返します。 文字列は、このクラスでenum定数を宣言するために使用される識別子と正確に一致する必要があります。 (不適切な空白文字は許可されません。)
      パラメータ:
      name - 返される列挙型定数の名前。
      戻り値:
      指定された名前を持つ列挙型定数
      スロー:
      IllegalArgumentException - この列挙型クラスに指定された名前の定数がない場合
      NullPointerException - 引数がnullの場合