Spec-Zone.ru › OpenJDK 27

Интерфейс IncrementInstruction

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

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

IncrementInstruction(
    int slot,
    int constant
)
где
  • slot должно быть u2.
  • constant должно находиться в диапазоне [-32768, 32767].
См. Спецификацию виртуальной машины Java:
6.5.iinc iinc
Начиная с:
24
См. также:
  • Opcode.Kind.INCREMENT
  • CodeBuilder::iinc

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

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

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

opcode, sizeInBytes
Модификатор и тип Метод Описание
Opcode opcode()
Возвращает операцию этой инструкции.
int sizeInBytes()
Возвращает размер этой инструкции в байтах.

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

slot

int slot()
Возвращает слот локальной переменной, значение которой нужно увеличить.
Возвращает:
слот локальной переменной, значение которой нужно увеличить

constant

int constant()
Возвращает значение, на которое нужно увеличить.
Возвращает:
значение, на которое нужно увеличить

of

static IncrementInstruction of(int slot, int constant)
Возвращает инструкцию увеличения.
  • slot должно быть u2.
  • constant должно находиться в диапазоне [-32768, 32767].
Параметры:
slot — слот локальной переменной, значение которой нужно увеличить
constant — значение, на которое нужно увеличить
Возвращает:
инструкцию увеличения
Вызывает исключение:
IllegalArgumentException — если slot или constant выходит за пределы допустимого диапазона

of

static IncrementInstruction of(Opcode op, int slot, int constant)
Возвращает инструкцию увеличения.

slot должно быть u1, а constant должно находиться в диапазоне [-128, 127] для iinc; либо slot должно быть u2, а constant должно находиться в диапазоне [-32768, 32767] для wide iinc.

Примечание к API:
Явный аргумент op позволяет создавать wide или обычные инструкции увеличения, если slot и constant могут быть закодированы с помощью более оптимизированных инструкций увеличения.
Параметры:
op — код операции для конкретного типа инструкции увеличения; он должен иметь вид Opcode.Kind.INCREMENT
slot — слот локальной переменной, значение которой нужно увеличить
constant — константа увеличения
Возвращает:
инструкцию увеличения
Вызывает исключение:
IllegalArgumentException — если вид кода операции не равен Opcode.Kind.INCREMENT или slot или constant выходит за пределы допустимого диапазона
Начиная с:
27

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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