On Mon, 25 Jan 2021 14:25:59 GMT, Hannes Wallnöfer <hann...@openjdk.org> wrote:

>> I have narrowed down the performance regression to the modularity check 
>> introduced in JDK-8240169. Since this check is not necessary if we know that 
>> the element list's modularity matches that of the library we can omit the 
>> modularity check when linking to platform libraries using our own element 
>> lists. 
>> 
>> Unfortunately, while recent element lists match the modular JDK libraries, 
>> the ones for JDK 9 and 10 do not. The patch therefore adds module tags to 
>> the lists for these two versions. For JDK 10, this is a relatively simple 
>> change because the packages were already ordered by module. For JDK 9 the 
>> change unfortunately requires changing the order of packages. I've written a 
>> small utility program to convert the list and have double-checked its 
>> content matches the old list.
>> 
>> Performance should be very close to where it was before the regression. I 
>> haven't run the benchmarks on the final version because I currently have 
>> some background tasks running, but I will do so eventually before 
>> integration.
>
> Hannes Wallnöfer has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Fix incorrect condition for JDK 9 and 10

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Extern.java
 line 531:

> 529:                         DocPath pkgPath = 
> DocPath.create(elemname.replace('.', '/'));
> 530:                         // Although being modular, JDKs 9 and 10 do not 
> use module names in javadoc URL paths.
> 531:                         if (moduleName != null && platformVersion != 9 
> && platformVersion != 10) {

I know first version was fine, blame it on a lack of coffee :)

-------------

PR: https://git.openjdk.java.net/jdk/pull/2221

Reply via email to