Интерфейс StoreInstruction
- Все суперинтерфейсы:
ClassFileElement, CodeElement, Instruction
public sealed interface StoreInstruction extends Instruction
code атрибута Code. Соответствующие коды операций имеют тип Opcode.Kind.STORE. Передаётся как CodeElement при обходе элементов CodeModel. Инструкция сохранения локальной переменной является составной:
StoreInstruction(
TypeKind typeKind,
int slot
)
TypeKind является вычислительным типом, а slot находится в пределах [0, 65535]. astore последовательность инструкций или инструкции сохранения типа reference также могут работать с типом returnAddress из устаревших инструкций перехода к подпрограмме.
- Начиная с:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static StoreInstruction |
of |
Возвращает инструкцию сохранения локальной переменной. |
static StoreInstruction |
of |
Возвращает инструкцию сохранения локальной переменной. |
int |
slot() |
Возвращает слот локальной переменной, в который выполняется сохранение. |
TypeKind |
typeKind() |
Возвращает вычислительный тип сохраняемого значения. |
Методы, объявленные в интерфейсе Instruction
opcode, sizeInBytes
Подробное описание методов
slot
int slot()
[0, 65535].- Возвращает:
- слот локальной переменной, в который выполняется сохранение
typeKind
TypeKind typeKind()
reference также работают с типом returnAddress, в отличие от инструкций загрузки типа reference.- Возвращает:
- вычислительный тип сохраняемого значения
of
static StoreInstruction of(TypeKind kind, int slot)
kind преобразуется в свой вычислительный тип. slot должно находиться в пределах [0, 65535].- Параметры:
-
kind— тип сохраняемого значения -
slot— слот локальной переменной, в который выполняется сохранение - Возвращает:
- инструкцию сохранения локальной переменной
- Выбрасывает:
-
IllegalArgumentException— еслиkindимеет значениеvoidилиslotвыходит за допустимый диапазон
of
static StoreInstruction 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.STORE -
slot— слот локальной переменной, в который выполняется сохранение - Возвращает:
- инструкцию сохранения локальной переменной
- Выбрасывает:
-
IllegalArgumentException— если тип кода операции не являетсяOpcode.Kind.STOREили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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/instruction/StoreInstruction.html