This sub-task captures updates and additions to the baseline monitor logging code. The updates and additions include: - The '-XX:+TraceMonitorInflation' option now maps to LogLevel::Trace instead of LogLevel::Debug. The existing 'monitorinflation' logging is about per-object ObjectMonitor inflation and deflation so it is way too verbose for LogLevel::Debug. - Add support for calling ObjectSynchronizer::audit_and_print_stats() at LogLevel::Info when the VM is exiting and at LogLevel::Debug when ObjectSynchronizer::finish_deflate_idle_monitors() is called at the end of that safepoint cleanup phase. - With 'info' level logging, you get output at the end of the VM's life. - With 'debug' level logging, you get output at each safepoint. - Add DeflateMonitorCounters::perThreadScavenged to track the number of monitors scavenged per-thread. - Add 'deflating global idle monitors' log output that includes deflated_count and how long it took; non-zero global deflation counts are reported at LogLevel::Info and zero global deflation counts are reported at LogLevel::Debug. Global deflations are much more rare than per-thread deflations. - Added 'deflating per-thread idle monitors' log output that's in the same style as the new 'deflating global idle monitors' log output. - Add per-thread deflation count output to the existing "safepoint+cleanup" logging; reporting times without counts seemed silly to me... - Add audit_and_print_stats() to verify the global monitor lists and the per-thread monitor lists. Also reports info about the various lists. I'm planning to add output for the monitor subsystem perf-counters, but I haven't gotten there yet. - Update runtime/logging/MonitorInflationTest.java to match the new '-Xlog:monitorinflation=' level ('trace' instead of 'debug'). I've also added a new diagnostic option for enabling extra output about in-use monitors: '-XX:+IncludeInUseMonitorDetailsInLogMsgs'. I did it this way to help debug an object pinning bug in my port of the prototype and I didn't want to be overwhelmed with output. However, adding another diagnostic option is not a good idea so this choice doesn't sit well with me (and I wrote it).