RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class (original) (raw)
Harold David Seigel harold.seigel at oracle.com
Mon Jul 16 12:42:39 UTC 2018
- Previous message (by thread): RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class
- Next message (by thread): RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Mandy,
The JVM changes look good. I like the improvement to the ICCE error messages.
Can you change the CLASSFILE_VERSION in ClassLambdaMetafactory.java from 52 to either 55 or JVM_CLASSFILE_MAJOR_VERSION ?
The ValueTypes attribute should be ignored in class file versions < 55.
Similar changes may also be needed here:
src/java.base/share/classes/jdk/experimental/value/MethodHandleBuilder.java
share/classes/java/lang/invoke/StringConcatFactory.java
share/classes/java/lang/reflect/ProxyGenerator.java
Thanks, Harold
On 7/13/2018 9:14 PM, mandy chung wrote:
VarHandleTest* and ValueConstructorRef tests fail with ICCE with ValueTypes consistency checking because lambda generated class is missing ValueTypes attribute whereas the target class has the value types locally declared in the attribute.
This patch updates InnerClassLambdaMetafactory to generate lambda classes with ValueTypes attribute. We will examine other class file generators in JDK separately (JDK-8207315). I also changed ICCE to include the relevant info which is helpful for troubleshooting. It may be useful to add a new method to return the list of declared value types but leave it for another day. Webrev: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.00 I ran jdkcore, jdkvalhalla, and hotspotvalhalla test groups. Mandy
- Previous message (by thread): RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class
- Next message (by thread): RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]