RFR: add verifier checks for when a reference can and cannot be a value type (original) (raw)

Karen Kinnear karen.kinnear at oracle.com
Thu May 31 21:35:58 UTC 2018


Harold,

Many thanks. The changes look great.

I was wrong about expecting changes to putstatic. From JVMS 2.4 *http://cr.openjdk.java.net/~fparain/L-world/L-World-JVMS-4d.pdf) A value class type defines a class for which all instances are identity-less and immutable. The class itself is not immutable.

thank you very much, Karen

On May 31, 2018, at 10:30 AM, Harold David Seigel <harold.seigel at oracle.com> wrote:

Hi, Please review this change to add checks to the verifier for the following: 1. Not allow the operand for a NEW or MONITOR* opcode be a value type. 2. Require that the reference operand for a WITHFIELD or DEFAULTVALUE opcode be a value type. 3. Not allow the field for a PUTFIELD opcode to be in a value type unless the current method is named "". Also, some of the existing test cases in verfierTests.jcod were modified to add the ValueTypes attribute. Webrev: http://cr.openjdk.java.net/~hseigel/vtverifierchecks/webrev/index.html The fix was tested with JCK Lang and VM tests, Hotspot JTReg tests, and with many JDK JTReg tests. Thanks, Harold



More information about the valhalla-dev mailing list