I've found the sentence in section (6.5 getfield) "The value, which must be of the referenced type, is popped from the operand stack." ambiguous.
While is understand the sentence, it's easy to read "the referenced type" as a type reference. What about: "The value, which must be of the referenced field type, is popped from the operand stack." also in the "Linking Exceptions" subsection, there is no sentence to allow a value capable class to access to the field of its corresponding value type, vwithfield has such wording and the Note at the end of the vwithfield description seem to imply that getfield should follow the same rule. Note that if getfield on a value type can not be done inside a value capable class, because a value type cn not have any code (yet), it means that there is no way to access to a private field of a value type. regards, Rémi