Spec-Zone.ru › OpenJDK 25

Интерфейс 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()
Возвращает вычислительный тип загружаемого значения.

Методы, объявленные в интерфейсе 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 находится вне допустимого диапазона

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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/instruction/LoadInstruction.html

Spec-Zone.ru

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