RFR: 8313081: MonitoringSupport_lock should be unconditionally initialized after 8304074 [v2]

David Holmes dholmes at openjdk.org
Thu Jul 27 07:14:56 UTC 2023


On Wed, 26 Jul 2023 15:19:02 GMT, Paul Hohensee <phh at openjdk.org> wrote:

>> MonitoringSupport_lock is initialized only when UseG1GC is true, but [JDK-8304074](https://bugs.openjdk.org/browse/JDK-8304074) uses it to implement getTotalThreadAllocatedBytes, which is available for all garbage collectors. While the current code sets UseG1GC regardless of which collector is specified, see FLAG_SET_ERGO_IF_DEFAULT(UseG1GC, true) in gcConfig.cpp, if G1 isn't included in the Hotspot build or Hotspot is not running on a server class machine (unlikely these days), the lock will not be initialized. The lock's initialization should be unconditional.
>> 
>> I updated ThreadAllocatedMemory.java to run the test using both G1 and Serial collectors.
>
> Paul Hohensee has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8313081: MonitoringSupport_lock should be unconditionally initialized after 8304074

src/hotspot/share/services/management.cpp line 2119:

> 2117: 
> 2118:     {
> 2119:       assert(MonitoringSupport_lock != nullptr, "Must be");

This was unnecessary. If you have this here you would have one before every single use of mutex that is expected to be non-null.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15028#discussion_r1275828276


More information about the serviceability-dev mailing list