-
Bug
-
Resolution: Fixed
-
P4
-
repo-valhalla
There are certain situations, when verifying a hidden class, when the verifier tries to load the hidden class when doing an assignability check. The load fails because the hidden class is not in the system dictionary and an unexpected exception gets thrown.
One situation where this occurs is when verifying a getfield instruction and the type of the object on the stack is the hidden class but the type of the class containing the field is a different class. The verifier will try to load the hidden class to check that it is assignable to the type of the class containing the field.
(Note that the type of the class containing the field is pointed to by the field's FieldRef in the constant pool.)
One situation where this occurs is when verifying a getfield instruction and the type of the object on the stack is the hidden class but the type of the class containing the field is a different class. The verifier will try to load the hidden class to check that it is assignable to the type of the class containing the field.
(Note that the type of the class containing the field is pointed to by the field's FieldRef in the constant pool.)