RFR: 8313081: MonitoringSupport_lock should be unconditionally initialized after 8304074

Paul Hohensee phh at openjdk.org
Wed Jul 26 15:01:51 UTC 2023


On Tue, 25 Jul 2023 21:48:24 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.

Aleksey, no, it doesn't break now because (1) we don't appear to test on non-server class machines, and (2) FLAG_SET_ERGO_IF_DEFAULT sets UseG1GC unconditionally regardless of which GC is specified on the command line because it (UseG1GC) hasn't also been specified on the command line. So, the assert will have no effect.

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

PR Comment: https://git.openjdk.org/jdk/pull/15028#issuecomment-1651986014


More information about the serviceability-dev mailing list