RFR: 8142506: Reimplement TraceClassUnloading with Unified Logging.
Ioi Lam
ioi.lam at oracle.com
Sun Nov 29 11:02:34 UTC 2015
Not a full review, but I think the "[" and "]" should be removed from
the output, such as
1322 if (log_is_enabled(Trace, classunload)) {
1323 outputStream* log = LogHandle(classunload)::trace_stream();
1324 log->print_cr("[Class unloading: Making nmethod " INTPTR_FORMAT
1325 " unloadable], Method*(" INTPTR_FORMAT
1326 "), cause(" INTPTR_FORMAT ")",
The "[" and "]" were used as markers for grouping related output, but UL
already provides a new way for group the information (per line with the
logTag). That's why I have removed the "[" and "]" in my class loading
log UL fix:
http://cr.openjdk.java.net/~iklam/8079408-improve-class-load-log/
"Class unloading: " and other similar strings should also be removed.
Thanks
- Ioi
On 11/11/15 12: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