RFR: JDK-8218630: CreateSymbols includes class and module headers unnecessarily.

Jan Lahoda jan.lahoda at oracle.com
Thu Feb 7 17:15:36 UTC 2019


Hi,

Joe noted that the proposed historical data for JDK 12:
http://cr.openjdk.java.net/~jlahoda/8216263/webrev.00/
may contain unnecessary items, and it indeed is the case.

The main problems appear to be:
-when the class headers are being compared, the nestMembers for the 
current version may be null, and the nestMembers for the previous 
version may be an empty list. So, currently, such headers won't match 
and the header will be generated again to the historical record. 
listMatch can be used to consider null and empty list to be the same

-module header descriptions may refer to 
RequiresDescription/ProvidesDescription, which are missing 
hashCode/equals, which means that headers that have either requires or 
provides won't match any of the existing headers. The fix is to add 
hashCode and equals

I generated the ct.sym for the original JDK 12 historical data from
http://cr.openjdk.java.net/~jlahoda/8216263/webrev.00/

and the historical data generated by this patch, and the resulting 
content appears to be equivalent.

Proposed webrev: http://cr.openjdk.java.net/~jlahoda/8218630/webrev.00/
Bug: https://bugs.openjdk.java.net/browse/JDK-8218630

How does this look?

Thanks,
     Jan


More information about the build-dev mailing list