RFR: 8254029: ObjectMonitor cleanup/minor bug-fix changes extracted from JDK-8253064

Daniel D.Daugherty dcubed at openjdk.java.net
Wed Oct 14 22:04:19 UTC 2020


On Tue, 13 Oct 2020 21:25:13 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:

>> 8254029: ObjectMonitor cleanup/minor bug-fix changes extracted from JDK-8253064
>
> 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.
> 
> My personal fork includes the commit for:
> JDK-8254335: logging/logStream.hpp includes memory/resourceArea.hpp but d…
> because the project is currently based on jdk-16+19 and I pushed that commit for jdk-16+20.
> Please ignore that commit when reviewing this fix.

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().

-------------

PR: https://git.openjdk.java.net/jdk/pull/641


More information about the hotspot-runtime-dev mailing list