RFR: 8142506: Reimplement TraceClassUnloading with Unified Logging.

Max Ockner max.ockner at oracle.com
Thu Nov 12 19:05:18 UTC 2015


Thanks, Rachel.

I have addressed these concerns, rebuilt, and retested with jtreg 
runtime tests.
New webrev:  http://cr.openjdk.java.net/~mockner/classunload/

On 11/11/2015 3:40 PM, Rachel Protacio wrote:
> Hi,
>
> Looks good!
>
> I have a few mostly aesthetic comments:
> 1. Can you put the conditional part of the if statements in 
> parentheses for clarity throughout? e.g. 
> src/share/vm/code/nmethod.cpp:1322
> 2. src/share/vm/logging/logTag.hpp - It looks like there was an 
> incomplete merge
> 3. In the test, the comment parts around line 26 are oddly indented. 
> And if you can add a line for "@bug 8142506".
>
> Thanks,
> Rachel
>
> On 11/11/2015 3:23 PM, Max Ockner wrote:
>> Hello,
>> Please review my change.
>>
>> Bug:  https://bugs.openjdk.java.net/browse/JDK-8142506
>> Webrev:  http://cr.openjdk.java.net/~mockner/classunload/
>>
>> Testing:
>> Hotspot jtreg tests with and without "-Xlog:classunload=trace"
>> runthese tests with "-Xlog:classunload=trace"
>> new jtreg test for classunload output.
>>
>> Summary:
>>
>> There are two parts to this fix.
>>
>> (1) Existing logic for TraceClassUnloading has been replaced with 
>> commands from Unified Logging.
>>
>> (2) Logging Alias Table. "-XX:+TraceClassUnloading" is now mapped to 
>> "-Xlog:classunload=debug" in the new logging alias table in 
>> arguments.cpp. Arguments are checked in the beginning of 
>> parse_each_vm_init_arg and if an argument (such as 
>> -XX:+TraceClassUnloading") is found in the alias table, the 
>> optionString is substituted for the value found in the logging alias 
>> table.
>>
>> I had to make a few decisions along that might raise questions, so I 
>> will knock a few of them out now.
>>
>> Why didn't I use the existing alias table?
>> - Existing alias table only stores the flag name 
>> (TraceClassUnloading) and is meant for substituting one "-XX:" 
>> argument for another. This does not solve our problem.
>>
>> Why didn't I process the logging aliases later in 
>> parse_each_vm_init_arg, next to the rest of the "-XX:" argument 
>> processing?
>> - The main processing for "-XX:" options happens after processing of 
>> "-Xlog" options. If we want the unified logging alias to be handled, 
>> it needs to be substituted in before "-Xlog:" is handled.
>>
>> Why does "-XX:+TraceClassUnloading" get aliased to 
>> "-Xlog:classunload=debug" and not "-Xlog:classunload=trace"?
>> - logging statements that contained the develop-only flag 
>> "WizardMode" were converted to "-Xlog:classunload=trace". The logging 
>> statements that could have been previously been triggered in Product 
>> mode are all now accessed by "-Xlog:classunload=debug". (We are 
>> updating logging, but we are not updating the functionality of the 
>> old logging options. Old options such as TraceClassUnloading are 
>> being aliased so they may continue to work in *exactly* the way they 
>> did before.)
>>
>> Thanks,
>> Max
>>
>



More information about the hotspot-runtime-dev mailing list