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

David Holmes david.holmes at oracle.com
Tue Aug 13 05:47:16 UTC 2013

On 12/08/2013 11:26 PM, harold seigel wrote:
> 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.

Thanks for clarifying.

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

I'm pretty sure such a bug already exists. See JDK-8005688.


> 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