Spec-Zone.ru › OpenJDK 25

Перечисление 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

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

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

Enum.EnumDesc<E>

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

Константа перечисления Описание
FAIL_ON_SHORT_JUMPS
Выбрасывает исключение IllegalArgumentException, если происходит переполнение короткого перехода.
FIX_SHORT_JUMPS
При необходимости автоматически преобразует короткие переходы в длинные.

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

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

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

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

Методы, объявленные в классе 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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры основных понятий, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/ClassFile.ShortJumpsOption.html

Spec-Zone.ru

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