Invoke a class (static) method
Bytecode
Type | Description |
u1 | invokestatic_quick opcode = 0x?9 (217) |
u2 | index |
Stack ..., [arg1, [arg2 ...]] => ...
The unsigned index points to a method entry. The constant pool entry representing the resolved method includes a direct reference to the code for the method, an unsigned byte nargs which may be zero, and the method's modifier information .
If the method is synchronized
, the monitor associated
with the current class is acquired.
If the method is not native
, the nargs words of
arguments are popped from the operand stack. A new stack frame is created for the method
being invoked, and the words of arguments are made the values of its first nargs
local variables, with arg1 in local variable 0, arg2 in local
variable 1, and so on. The new stack frame is then made current, and the Java
Virtual Machine pc
is set to the opcode of the first instruction of the
method to be invoked. Execution continues with the first instruction of the method.
If the method is native
, the nargs words of
arguments are popped from the operand stack; the code that implements the method is
invoked in an implementation-dependent manner.
The opcode of this instruction was originally invokestatic. The operands of the invokestatic instruction are not modified.