Spec-Zone.ru › OpenJDK 24

Интерфейс LoadInstruction

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

Инструкция загрузки локальной переменной является составной:

LoadInstruction(
    TypeKind typeKind,
    int slot
)
где TypeKind является вычислительным, а slot находится в [0, 65535].
С момента:
24
См. также:
  • Opcode.Kind.LOAD
  • CodeBuilder::loadLocal

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

Модификатор и тип Метод Описание
static LoadInstruction of(Opcode op, int slot)
Возвращает инструкцию загрузки локальной переменной.
static LoadInstruction of(TypeKind kind, int slot)
Возвращает инструкцию загрузки локальной переменной.
int slot()
Возвращает слот локальной переменной для загрузки.
TypeKind typeKind()
Возвращает вычислительный тип значения, которое нужно загрузить.

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

opcode, sizeInBytes

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

slot

int slot()
Возвращает слот локальной переменной для загрузки. Значение находится в [0, 65535].
Возвращает:
слот локальной переменной для загрузки

typeKind

TypeKind typeKind()
Возвращает вычислительный тип значения, которое нужно загрузить.
Возвращает:
вычислительный тип значения, которое нужно загрузить

of

static LoadInstruction of(TypeKind kind, int slot)
Возвращает инструкцию загрузки локальной переменной. kind преобразуется в его вычислительный тип. slot должен быть в пределах [0, 65535].
Параметры:
kind - тип значения, которое нужно загрузить
slot - слот локальной переменной для загрузки
Возвращает:
инструкцию загрузки локальной переменной
Исключения:
IllegalArgumentException - если kind равен void или slot находится вне диапазона

of

static LoadInstruction of(Opcode op, int slot)
Возвращает инструкцию загрузки локальной переменной.

Диапазон slot ограничен op и его размером:

  • Если у op размер 1, slot должен быть ровно значением слота, подразумеваемым кодовым оператором.
  • Если у op размер 2, slot должен быть в пределах [0, 255].
  • Если у op размер 4, slot должен быть в пределах [0, 65535].
Примечание API:
Явный аргумент op позволяет создавать wide или обычные инструкции загрузки, когда slot можно закодировать с помощью более оптимизированных инструкций загрузки.
Параметры:
op - кодовый оператор для конкретного типа инструкции загрузки, который должен быть вида Opcode.Kind.LOAD
slot - слот локальной переменной для загрузки
Возвращает:
инструкцию загрузки локальной переменной
Исключения:
IllegalArgumentException - если вид кодового оператора не Opcode.Kind.LOAD или slot находится вне диапазона

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

Spec-Zone.ru

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