static
field from classgetstatic | |
indexbyte1 | |
indexbyte2 |
Stack ..., ..., value.word1, value.word2
Description
The unsigned indexbyte1 and indexbyte2 are used to construct an index into the constant pool of the current class (§3.6), where the index is (indexbyte1 << 8) | indexbyte2. The constant pool item at the index must be a CONSTANT_Fieldref
(§4.4.2), a reference to a class name and a field name. If the field is protected
(§4.6), then it must be either a member of the current class or a member of a superclass of the current class.
The item is resolved (§5.2), determining both the class field and its width. The value of the class field is fetched and pushed onto the operand stack.
Linking Exceptions
During resolution of the CONSTANT_Fieldref
constant pool item, any of the exceptions documented in §5.2 can be thrown.
Otherwise, if the specified field exists but is not a static
(class) field, getstatic throws an IncompatibleClassChangeError
.
Notes The getstatic instruction operates on both one- and two-word wide fields.