Contents | Prev | Next | Index

invokestatic

The operand stack must contain nargs words of arguments, where the number of words of arguments and the type and order of the values they represent must be consistent with the descriptor of the resolved method.

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.

Linking Exceptions
During resolution of the CONSTANT_Methodref constant pool item, any of the exceptions documented in §5.2 can be thrown.

Otherwise, if the specified method exists but is an instance method, the invokestatic instruction throws an IncompatibleClass-ChangeError.

Otherwise, if the specified method is native and the code that implements the method cannot be loaded or linked, invokestatic throws an UnsatisfiedLinkError.


Contents | Prev | Next | Index

Java Virtual Machine Specification (HTML generated by dkramer on February 25, 1997)
Copyright © 1996 Sun Microsystems, Inc. All rights reserved
Please send any comments or corrections to doug.kramer@sun.com