RFR 8022259 MakeClasslist tool is buggy and its README is out of date.

harold seigel harold.seigel at oracle.com
Mon Aug 12 13:26:26 UTC 2013


Hi David and Alan,

Thank you for your comments.

The change to the MakeClasslist tool to use TraceClassLoadingPreorder 
was made prior to my changes.  The following code has been in 
MakeClasslist.java for a long time.  I was unable to determine who had 
made this change or why.

             // Understand only "Loading" from 
-XX:+TraceClassLoadingPreorder.
             // This ignores old "Loaded" from -verbose:class to force 
correct
             // classlist generation on Mustang.
             if (t.equals("Loading")) {
               t = tok.nextToken();
               t = t.replace('.', '/');

So, I don't know why TraceClassLoadingPreorder was chosen instead of 
-verbose:class or TraceClassLoading.

The purpose of my changes are to update the comments to accurately 
reflect what the code currently does and to fix a bug in 
MakeClasslist.java's 'for' loop where the wrong set of strings is used.

I plan to file a bug stating that the classlists need to be updated for 
JDK 8 and assign it to release engineering.

Thanks, Harold

On 8/12/2013 4:46 AM, Alan Bateman wrote:
> On 07/08/2013 20:51, harold seigel wrote:
>> Hi,
>>
>> Please review this small fix for bug 8022259.  This change fixes a 
>> bug in the MakeClasslist tool and updates its README.txt file.
>>
>> webrev: http://cr.openjdk.java.net/~hseigel/bug_8022259/ 
>> <http://cr.openjdk.java.net/%7Ehseigel/bug_8022259/>
>>
>> bug: http://bugs.sun.com/view_bug.do?bug_id=8022259
>>
>> JBS bug: https://jbs.oracle.com/bugs/browse/JDK-8022259
>>
>> I tested the change by creating a testlist using the modified 
>> MakeClasslist tool and following the information in the changed 
>> README.txt file.
>>
>> Thanks! Harold
> Can you explain it further as to why TraceClassLoadingPreorder traces 
> should be used rather than the TraceClassLoading traces? I ask because 
> we rarely see changes to the *.classlist files and to my knowledge, 
> all previous versions used the TraceClassLoading output.
>
> Also, are you planning to update the *.classlist files too? They 
> haven't been refreshed in a long time and would be good to get them 
> updated (it should also sort out a slew of warnings emitted in the 
> build about missing classes).
>
> -Alan.




More information about the core-libs-dev mailing list