Spec-Zone.ru › OpenJDK 27

Interface IncrementInstruction

All Superinterfaces:
ClassFileElement, CodeElement, Instruction
public sealed interface IncrementInstruction extends Instruction
Models a local variable increment instruction in the code array of a Code attribute. Corresponding opcodes have a kind of Opcode.Kind.INCREMENT. Delivered as a CodeElement when traversing the elements of a CodeModel.

A local variable increment instruction is composite:

IncrementInstruction(
    int slot,
    int constant
)
where
  • slot must be u2.
  • constant must be within [-32768, 32767].
See Java Virtual Machine Specification:
6.5.iinc iinc
Since:
24
See Also:
  • Opcode.Kind.INCREMENT
  • CodeBuilder::iinc

Method Summary

Modifier and Type Method Description
int constant()
Returns the value to increment by.
static IncrementInstruction of(int slot, int constant)
Returns an increment instruction.
static IncrementInstruction of(Opcode op, int slot, int constant)
Returns an increment instruction.
int slot()
Returns the local variable slot to increment.

Methods declared in interface Instruction

opcode, sizeInBytes
Modifier and Type Method Description
Opcode opcode()
Returns the operation of this instruction.
int sizeInBytes()
Returns the size in bytes of this instruction.

Method Details

slot

int slot()
Returns the local variable slot to increment.
Returns:
the local variable slot to increment

constant

int constant()
Returns the value to increment by.
Returns:
the value to increment by

of

static IncrementInstruction of(int slot, int constant)
Returns an increment instruction.
  • slot must be u2.
  • constant must be within [-32768, 32767].
Parameters:
slot - the local variable slot to increment
constant - the value to increment by
Returns:
an increment instruction
Throws:
IllegalArgumentException - if slot or constant is out of range

of

static IncrementInstruction of(Opcode op, int slot, int constant)
Returns an increment instruction.

slot must be u1 and constant must be within [-128, 127] for iinc, or slot must be u2 and constant must be within [-32768, 32767] for wide iinc.

API Note:
The explicit op argument allows creating wide or regular increment instructions when slot and constant can be encoded with more optimized increment instructions.
Parameters:
op - the opcode for the specific type of increment instruction, which must be of kind Opcode.Kind.INCREMENT
slot - the local variable slot to increment
constant - the increment constant
Returns:
an increment instruction
Throws:
IllegalArgumentException - if the opcode kind is not Opcode.Kind.INCREMENT or slot or constant is out of range
Since:
27

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 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