RFR add lworld specific value type checks to classFileParser

harold seigel harold.seigel at oracle.com
Mon Mar 19 20:11:45 UTC 2018


Hi,

Please review the following webrev:

    http://cr.openjdk.java.net/~hseigel/valueTypes_lworld.cfp.Mar19/

The webrev adds checks to the JVM classFileParser.cpp source for the 
following:

  * A class with ACC_VALUE and ACC_INTERFACE or ACC_ABSTRACT or ACC_ENUM
    is invalid
  * java.lang.Object is the only valid super type for value types
  * A class with ACC_VALUE must be final
  * All instance fields in an ACC_VALUE class must be marked ACC_FINAL
  * A class with ACC_VALUE cannot have a method called <init>
  * A class with ACC_VALUE cannot have any synchronized instance methods
  * A field marked ACC_FLATTENABLE cannot be an array

Also, all ACC_FLATTENABLE fields are now pre-loaded and checked for 
circularity.

(Note that the change to test ValueOops.java is just to remove a <tab> 
character.)

The webrev was tested with hotspot/jtreg tests and many jdk/jtreg tests.

Thanks, Harold



More information about the valhalla-dev mailing list