列挙型クラス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
関連項目:
  • 列挙型定数の詳細

    • 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の場合