Contents Prev Next Up


A.4 Manipulating Object Fields (_quick variants)

putfield_quick

Set field in object
 
putfield_quick
offset
unused

Stack: ..., objectref, value => ...

objectref must be a reference to an object. value must be a value of a type appropriate for the specified field. offset is the offset for the field in that object. value is written at offset into the object. Both objectref and value are popped from the stack.

If objectref is null, a NullPointerException is generated.

putfield2_quick

Set long integer or double float field in object
 
putfield2_quick
offset
unused

Stack: ..., objectref, value-word1, value-word2=> ...

objectref must be a reference to an object. value must be a value of a type appropriate for the specified field. offset is the offset for the field in that object. value is written at offset into the object . Both objectref and value are popped from the stack.

If objectref is null, a NullPointerException is generated.

getfield_quick

Fetch field from object
 
getfield_quick
offset
unused

Stack: ..., objectref => ..., value 

objectref must be a handle to an object. The value at offset into the object referenced by objectref replaces objectref on the top of the stack.

If objectref is null, a NullPointerException is generated.

getfield2_quick

Fetch field from object
 
getfield2_quick
offset
unused

Stack: ..., objectref => ..., value-word1, value-word2

objectref must be a handle to an object. The value at offset into the object referenced by objectref replaces objectref on the top of the stack.

If objectref is null, a NullPointerException is generated.

putstatic_quick

Set static field in class
 
putstatic_quick
indexbyte1
indexbyte2

Stack: ..., value => ...

indexbyte1 and indexbyte2 are used to construct an index into the constant pool of the current class. The constant pool item will be a field reference to a static field of a class. value must be the type appropriate to that field. That field will be set to have the value value.

putstatic2_quick

Set static field in class
 
putstatic2_quick
indexbyte1
indexbyte2

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

indexbyte1 and indexbyte2 are used to construct an index into the constant pool of the current class. The constant pool item will be a field reference to a static field of a class. That field must either be a long integer or a double precision floating point number. value must be the type appropriate to that field. That field will be set to have the value value.

getstatic_quick

Get static field from class
 
getstatic_quick
indexbyte1
indexbyte2

Stack: ..., => ..., value 

indexbyte1 and indexbyte2 are used to construct an index into the constant pool of the current class. The constant pool item will be a field reference to a static field of a class. The value of that field will replace handle on the stack.

getstatic2_quick

Get static field from class
 
getstatic2_quick
indexbyte1
indexbyte2

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

indexbyte1 and indexbyte2 are used to construct an index into the constant pool of the current class. The constant pool item will be a field reference to a static field of a class. The field must be a long integer or a double precision floating point number. The value of that field will replace handle on the stack


Contents Prev Next Up