Spec-Zone.ru › OpenJDK 25

Interface LoadInstruction

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

A local variable load instruction is composite:

LoadInstruction(
    TypeKind typeKind,
    int slot
)
where TypeKind is computational, and slot is within [0, 65535].
Since:
24
See Also:
  • Opcode.Kind.LOAD
  • CodeBuilder::loadLocal

Method Summary

Modifier and Type Method Description
static LoadInstruction of(Opcode op, int slot)
Returns a local variable load instruction.
static LoadInstruction of(TypeKind kind, int slot)
Returns a local variable load instruction.
int slot()
Returns the local variable slot to load from.
TypeKind typeKind()
Returns the computational type of the value to be loaded.

Methods declared in interface Instruction

opcode, sizeInBytes

Method Details

slot

int slot()
Returns the local variable slot to load from. The value is within [0, 65535].
Returns:
the local variable slot to load from

typeKind

TypeKind typeKind()
Returns the computational type of the value to be loaded.
Returns:
the computational type of the value to be loaded

of

static LoadInstruction of(TypeKind kind, int slot)
Returns a local variable load instruction. kind is converted to its computational type. slot must be within [0, 65535].
Parameters:
kind - the type of the value to be loaded
slot - the local variable slot to load from
Returns:
a local variable load instruction
Throws:
IllegalArgumentException - if kind is void or slot is out of range

of

static LoadInstruction of(Opcode op, int slot)
Returns a local variable load instruction.

The range of slot is restricted by the op and its size:

  • If op has size 1, slot must be exactly the slot value implied by the opcode.
  • If op has size 2, slot must be within [0, 255].
  • If op has size 4, slot must be within [0, 65535].
API Note:
The explicit op argument allows creating wide or regular load instructions when the slot can be encoded with more optimized load instructions.
Parameters:
op - the opcode for the specific type of load instruction, which must be of kind Opcode.Kind.LOAD
slot - the local variable slot to load from
Returns:
a local variable load instruction
Throws:
IllegalArgumentException - if the opcode kind is not Opcode.Kind.LOAD or slot is out of range

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, 2025, 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.
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