This sub-task is tracking ObjectMonitor cleanup/minor bug-fix changes
extracted from Erik's and Dan's work on JDK-8253064. This extraction
is done to ease the code review for the JDK-8253064 changes.
The changes covered by this bug are:
- Redo the "final" ObjectMonitor audit and print stats so that we no longer
race between the ServiceThread and a thread generating ObjectMonitors
until the end of time. The final audit is now done by the VMThread in the
very late stages of VM exit (after other threads have blocked). Because
we have two distinict VM exit code paths, we call the final audit hook
from both paths.
The race was introduced by the following:
JDK-8246476 remove AsyncDeflateIdleMonitors option and the safepoint based deflation mechanism
- Do some renaming that should have been done by JDK-8246476.
- Delete the SharedGlobals::stw_cycle that should have been deleted
by JDK-8246476.
- Do more "self" cleanup and use of as_Java_thread().