multianewarray_quick

Create new multidimensional array

Bytecode

Type Description
u1 multianewarray_quick opcode = 0xDF (223)
u2 index
u1 <n>

Stack ..., count1, [count2, ...] => ..., arrayref

Description
The <n> is an unsigned byte which must be greater than or equal to 1. It represents the number of dimensions of the array to be created. The operand stack must contain <n> words, which must be of type int and nonnegative, each representing the number of components in a dimension of the array to be created. The count1 is the desired length in the first dimension, count2 in the second, etc.

All of the count values are popped off the operand stack. The unsigned index is used to get access to class entry. The symbolic reference is resolved . The resulting entry must be an array class type of dimensionality greater than or equal to <n>.

A new multidimensional array of the array type is allocated from the garbage-collected heap. The components of the array of in the first dimension are initialized to subarrays of the type of the second dimension, and so on. The components of the first dimension of the array are initialized to the default initial value for the type of the components. A reference arrayref to the new array is pushed onto the operand stack.

Exceptions

NegativeArraySizeException - size is less than zero

Notes

The opcode of this instruction was originally multianewarray. The operands of the multianewarray instruction are not modified.