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:20 UTC 2020


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

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

Mach5 Tier[1-3],4,5,6,7 testing looks good; there are four test
failures associated with unrelated, known bugs; there are four
other test failures on a machine with bad hardware so those are
invalid.

Update: Tier8 testing is still in process, but so far the results
look good.

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

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


More information about the hotspot-runtime-dev mailing list