Spec-Zone.ru › OpenJDK 24

Интерфейс BranchInstruction

Все суперинтерфейсы:
ClassFileElement, CodeElement, Instruction
public sealed interface BranchInstruction extends Instruction
Моделирует инструкцию ветвления (условного или безусловного) в массиве code атрибута Code. Соответствующие кодовые операции имеют вид Opcode.Kind.BRANCH. Доставляется как CodeElement при обходе элементов CodeModel.

Инструкция ветвления является составной:

BranchInstruction(
    Opcode opcode,
    Label target
)

Из-за физических ограничений некоторые типы инструкций не могут закодировать метки, находящиеся слишком далеко в списке элементов кода. В таких случаях ClassFile.ShortJumpsOption управляет тем, как модель некорректной инструкции ветвления записывается CodeBuilder.

С тех пор:
24
См. также:
  • Opcode.Kind.BRANCH
  • CodeBuilder::branch
  • ClassFile.ShortJumpsOption

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

Модификатор и тип Метод Описание
static BranchInstruction of(Opcode op, Label target)
Возвращает инструкцию ветвления.
Label target()
Возвращает целевую точку ветвления этой инструкции.

Методы, объявленные в интерфейсе java.lang.classfile.Instruction

opcode, sizeInBytes

Подробное описание методов

target

Label target()
Возвращает целевую точку ветвления этой инструкции.
Возвращает:
целевую точку ветвления этой инструкции

of

static BranchInstruction of(Opcode op, Label target)
Возвращает инструкцию ветвления.
Параметры:
op - код операции для конкретного типа инструкции ветвления, который должен быть типа Opcode.Kind.BRANCH
target - целевая точка ветвления
Возвращает:
инструкцию ветвления
Исключения:
IllegalArgumentException - если вид кода операции не Opcode.Kind.BRANCH

© 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/instruction/BranchInstruction.html

Spec-Zone.ru

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