Contents Prev Next Up

## The Virtual Machine Instruction Set

# Loading Local Variables Onto the Stack

iload
iload_<n>
lload
lload_<n>
fload
fload_<n>
dload
dload_<n>
aload
aload_<n>

### iload

Load integer from local variable

    ... => ..., value

Local variable vindex in the current Java frame should contain an integer. The value of that variable is pushed onto the operand stack.

### iload_<n>

Load integer from local variable

    ... => ..., value

Forms: iload_0 = 27, iload_1 = 27, iload_2 = 28, iload_3 = 29

Local variable <n>in the current Java frame should contain an integer. The value of that variable is pushed onto the operand stack.

This instruction is the same as iload with a vindex of <n>, except that the operand <n> is implicit.

### lload

Load long integer from local variable

    ... => ..., value-word1, value-word2

Local variables vindex and vindex+1 in the current Java frame should together contain a long integer. The value of contained in those variables is pushed onto the operand stack.

### lload_<n>

Load long integer from local variable

    ... => ..., value-word1, value-word2

Forms: lload_0 = 30, lload_1 = 31, lload_2 = 32, lload_3 = 33

Local variables <n> and <n>+1 in the current Java frame should together contain a long integer. The value contained in those variables is pushed onto the operand stack.

This opcode is the same as lload with a vindex of <n>, except that the operand <n> is implicit.

### fload

Load single float from local variable

    ... => ..., value

Local variable vindex in the current Java frame should contain a single precision floating point number. The value of that variable is pushed onto the operand stack.

### fload_<n>

Load single float from local variable

    ... => ..., value

Forms: fload_0 = 34, fload_1 = 35, fload_2 = 36, fload_3 = 37

Local variable <n> in the current Java frame should contain a single precision floating point number. The value of that variable is pushed onto the operand stack.

This opcode is the same as fload with a vindex of <n>, except that the operand <n> is implicit.

### dload

Load double float from local variable

    ... => ..., value-word1, value-word2

Local variables vindex and vindex+1 in the current Java frame should together contain a double precision float point number. The value contained in those variables is pushed onto the operand stack.

### dload_<n>

Load double float from local variable

    ... => ..., value-word1, value-word2

Forms: dload_0 = 38, dload_1 = 39, dload_2 = 40, dload_3 = 41

Local variables <n> and <n>+1 in the current Java frame should together contain a double precision floating point number. The value contained in those variables is pushed onto the operand stack.

This opcode is the same as dload with a vindex of <n>, except that the operand <n> is implicit.

### aload

Load local object variable

    ... => ..., value

Local variable vindex in the current Java frame should contain a handle to an object or to an array. The value of that variable is pushed onto the operand stack.

### aload_<n>

Load object reference from local variable

    ... => ..., value

Forms: aload_0 = 42, aload_1 = 43, aload_2 = 44, aload_3 = 45

Local variable n in the current Java frame should contain a handle to an object or to an array. The value of that variable is pushed onto the operand stack.

This opcode is the same as aload with a vindex of <n>, except that the operand <n> is implicit.

Contents Prev Next Up

Generated with CERN WebMaker