Spec-Zone.ru › OpenJDK 24

Перечисление Класс 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 для автоматической переработки.

Из-за физических ограничений некоторые типы инструкций не могут закодировать определённые целевые переходы с смещениями bci меньше -32768 или больше 32767, так как они используют s2 для кодирования такого смещения. (Максимальная длина массива code составляет 65535.) Эти типы инструкций называются «короткими переходами».

Отключение переработки может гарантировать физическую точность сгенерированного файла class и избежать накладных расходов из-за неудачной первой попытки переполнения вперёд в некоторых случаях, если сгенерированный файл class стабилен.

С момента:
24
См. также:
  • BranchInstruction
  • DiscontinuedInstruction.JsrInstruction

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе java.lang.Enum

Enum.EnumDesc<E extends Enum<E>>

Краткое описание констант перечисления

Константа перечисления Описание
FAIL_ON_SHORT_JUMPS
Ошибка с IllegalArgumentException, если короткий переход переполняется.
FIX_SHORT_JUMPS
Автоматически преобразовать короткие переходы в длинные при необходимости.

Краткое описание методов

Модификатор и тип Метод Описание
static ClassFile.ShortJumpsOption valueOf(String name)
Возвращает константу перечисления этого класса с заданным именем.
static ClassFile.ShortJumpsOption[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

Методы, объявленные в классе java.lang.Enum

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

Методы, объявленные в классе java.lang.Object

getClass, notify, notifyAll, wait, wait, wait

Подробное описание констант перечисления

FIX_SHORT_JUMPS

public static final ClassFile.ShortJumpsOption FIX_SHORT_JUMPS
Автоматически преобразовать короткие переходы в длинные при необходимости.

Для неверной модели инструкции 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)
Возвращает константу перечисления этого класса с заданным именем. Строка должна точно соответствовать идентификатору, используемому для объявления константы перечисления в этом классе. (Не допускаются лишние пробелы.)
Параметры:
name - имя константы перечисления, которая должна быть возвращена.
Возвращает:
константа перечисления с заданным именем
Исключения:
IllegalArgumentException - если в этом классе перечисления нет константы с заданным именем
NullPointerException - если аргумент равен null

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/ClassFile.ShortJumpsOption.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API