RFR: JDK-8245544: com/sun/tools/javac/platform/JDKPlatformProvider.java does not support ct.sym with platform versions 16+

Jan Lahoda jan.lahoda at oracle.com
Thu May 21 14:54:43 UTC 2020


Hi,

Release versions are encoded as single characters inside the ct.sym. To 
encode versions >= 16, the radix 36 (Character.MAX_RADIX) is used while 
encoding the version. But, inside JDKPlatformProvider, the code that 
parses the versions uses radix 16, and so cannot work with ct.sym that 
contains data of JDK >=16.

The proposal is to fix JDKPlatformProvider to parse the versions 
correctly, by using Character.MAX_RADIX.

I was looking at possibilities to test this, and it would be possible - 
but difficult. And once we have support for JDK 16 in ct.sym, the 
existing tests will be verifying that the ct.sym handling works 
correctly. So I incline to not have specific tests for this (with 
noreg-hard).

Webrev: http://cr.openjdk.java.net/~jlahoda/8245544/webrev.00/
JBS: https://bugs.openjdk.java.net/browse/JDK-8245544

What do you think?

Thanks,
     Jan


More information about the compiler-dev mailing list