<div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi all,</div><div><br></div><div>I noticed that excessive logging messages appear in JDK11 with -Xlog:ref*=debug, which is the <a href="https://docs.oracle.com/javase/9/tools/java.htm#GUID-BE93ABDC-999C-4CB5-A88B-1994AAAC74D5__CONVERTGCLOGGINGFLAGSTOXLOG-A5046BD1">documented replacement for -XX:+PrintReferenceGC</a>.</div><div>I have a fix for it. Could someone review it?<br></div><div dir="ltr">Webrev: <a href="http://cr.openjdk.java.net/~jcbeyler/8210562/webrev.00/">http://cr.openjdk.java.net/~jcbeyler/8210562/webrev.00/</a><br></div></div><div dir="ltr">Bug: <a href="https://bugs.openjdk.java.net/browse/JDK-8210562">https://bugs.openjdk.java.net/browse/JDK-8210562</a></div><div dir="ltr"><br></div><div dir="ltr"><div dir="ltr">It changed the log tag "ref" to "oops" in oopStorage.cpp, and improved and increased verbosity level. I find that "ref" is mainly used for logging about processing java.lang.ref.Reference, but oopStorage is for JNI handles. Currently "oops" tag seems unused in HotSpot.</div><div dir="ltr">The change uses debug level for messages about OopStorage::Block and unusual events, and trace level for the common alloc/release of individual oops.<br></div><div><br></div><div>Below are some test results in terms of lines of logging messages:</div><div>With varying levels of verbosity for oopstorage*:</div><div>$ java -Xlog:oopstorage*=<level> -Xms500m -Xmx500m -jar dacapo-9.12-bach.jar tradesoap</div><div dir="ltr"><table cellspacing="0" cellpadding="0" dir="ltr" border="1" style="table-layout:fixed;font-size:10pt;font-family:arial,sans,sans-serif;width:0px;border-collapse:collapse;border:none"><colgroup><col width="100"><col width="100"><col width="100"><col width="100"></colgroup><tbody><tr style="height:21px"><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)"></td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">info</td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">debug</td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">trace</td></tr><tr style="height:21px"><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">without patch</td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;text-align:right;border:1px solid rgb(204,204,204)">107934</td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;text-align:right;border:1px solid rgb(204,204,204)">112990</td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;text-align:right;border:1px solid rgb(204,204,204)">112701</td></tr><tr style="height:21px"><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">with patch</td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;text-align:right;border:1px solid rgb(204,204,204)">0</td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;text-align:right;border:1px solid rgb(204,204,204)">5425</td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;text-align:right;border:1px solid rgb(204,204,204)">112805</td></tr></tbody></table></div></div><div dir="ltr"><br></div><div>For -Xlog:ref*=debug:</div><div>$ java -Xlog:ref*=debug -Xms500m -Xmx500m -jar dacapo-9.12-bach.jar tradesoap  <br></div><div><table cellspacing="0" cellpadding="0" dir="ltr" border="1" style="table-layout:fixed;font-size:10pt;font-family:arial,sans,sans-serif;width:0px;border-collapse:collapse;border:none"><colgroup><col width="100"><col width="100"></colgroup><tbody><tr style="height:21px"><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">jdk10</td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;text-align:right;border:1px solid rgb(204,204,204)">1008</td></tr><tr style="height:21px"><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">tip without patch</td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;color:rgb(0,0,0);text-align:right;border:1px solid rgb(204,204,204)">108394</td></tr><tr style="height:21px"><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">tip with patch</td><td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;text-align:right;border:1px solid rgb(204,204,204)">1054</td></tr></tbody></table></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Alternative is to advise users to change PrintReferenceGC and -Xlog:ref*=debug to -Xlog:gc+ref*=debug, as Kim suggested in <a href="https://bugs.openjdk.java.net/browse/JDK-8210562">https://bugs.openjdk.java.net/browse/JDK-8210562</a>. However, that possibly involves changing the official flag mapping documentation in <a href="https://docs.oracle.com/javase/9/tools/java.htm#GUID-BE93ABDC-999C-4CB5-A88B-1994AAAC74D5__CONVERTGCLOGGINGFLAGSTOXLOG-A5046BD1">JDK9 </a>and <a href="https://docs.oracle.com/javase/10/tools/java.htm#GUID-BE93ABDC-999C-4CB5-A88B-1994AAAC74D5__CONVERTGCLOGGINGFLAGSTOXLOG-A5046BD1">JDK10</a>, and imposes extra work on users who have migrated old print flags to new UL flags from JDK8 to JDK9/JDK10 according to the official doc.</div><div dir="ltr"><br></div><div>Thanks,</div><div dir="ltr">Man</div></div></div>