Review Request: JDK-8185148: [MVT] Class.java's isValueClass causes all non-MVT enabled JVM executions to have an InstanceKlass created for __Value reference

Mandy Chung mandy.chung at oracle.com
Fri Jul 28 04:56:45 UTC 2017


A class referencing java.lang.__Value would fail verification when value type is not enabled.  Class::isValueType and MinimalValueTypes_1_0::getValueType both references java.lang.__Value but they may be loaded when value type is not enabled.  VerifyError that Tobias has ran into [1] is related to this issue.

A simple fix is to refactor the reference to java.lang.__Value in a separate class that will only be loaded when -XX:+EnableMVT and —XX:+EnableValhalla is set.  We may look into a cleaner fix in the future.

Webrev:
  http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8185148/webrev.00/index.html

Mandy
[1] http://mail.openjdk.java.net/pipermail/valhalla-dev/2017-July/003007.html


More information about the valhalla-dev mailing list