Интерфейс DiscontinuedInstruction.RetInstruction
- Все суперинтерфейсы:
-
ClassFileElement,CodeElement,DiscontinuedInstruction,Instruction
- Вложенный интерфейс:
DiscontinuedInstruction
public static sealed interface DiscontinuedInstruction.RetInstruction extends DiscontinuedInstruction
code атрибута Code с версии основных файлов класса 51 (JVMS 4.9.1). Соответствующие операционные коды имеют тип Opcode.Kind.DISCONTINUED_RET. Доставляется как CodeElement при обходе элементов CodeModel. Инструкция возврата из подпрограммы является составной:
RetInstruction(int slot)
slot должно быть в пределах [0, 65535]. Инструкции серии astore сохраняют значение returnAddress в слот локальной переменной, делая слот доступным для инструкции возврата из подпрограммы.
- Примечание API:
- Инструкции возврата из подпрограммы исключены для обеспечения проверки по типу (JVMS 4.10.1) с помощью атрибута
StackMapTable. - См. Спецификацию виртуальной машины Java:
- 6.5.ret ret
- С:
- 24
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в интерфейсе java.lang.classfile.instruction.DiscontinuedInstruction
DiscontinuedInstruction.JsrInstruction, DiscontinuedInstruction.RetInstruction
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static DiscontinuedInstruction.RetInstruction |
of |
Возвращает инструкцию возврата из подпрограммы. |
static DiscontinuedInstruction.RetInstruction |
of |
Возвращает инструкцию возврата из подпрограммы. |
int |
slot() |
Возвращает слот локальной переменной с адресом возврата. |
Методы, объявленные в интерфейсе java.lang.classfile.Instruction
opcode, sizeInBytes
Подробное описание методов
slot
int slot()
[0, 65535].- Возвращает:
- слот локальной переменной с адресом возврата
of
static DiscontinuedInstruction.RetInstruction of(Opcode op, int slot)
slot должно быть в закрытом диапазоне [0, 255] для ret, или в пределах [0, 65535] для wide ret.
- Примечание API:
- Явный аргумент
opпозволяет создавать инструкцииwide retсslotв диапазоне обычных инструкцийret. - Параметры:
-
op- операционный код для конкретного типа инструкции возврата из подпрограммы, который должен быть типаOpcode.Kind.DISCONTINUED_RET -
slot- слот локальной переменной для загрузки адреса возврата - Возвращает:
- инструкцию возврата из подпрограммы
- Исключения:
-
IllegalArgumentException- если тип операционного кода неOpcode.Kind.DISCONTINUED_RETили еслиslotвне диапазона
of
static DiscontinuedInstruction.RetInstruction of(int slot)
slot должно быть в пределах [0, 65535].
- Параметры:
-
slot- слот локальной переменной для загрузки адреса возврата - Возвращает:
- инструкцию возврата из подпрограммы
- Исключения:
-
IllegalArgumentException- если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/DiscontinuedInstruction.RetInstruction.html