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