[jdk8u-dev] RFR: 8304074: [JMX] Add an approximation of total bytes allocated on the Java heap by the JVM
Paul Hohensee
phh at openjdk.org
Tue Nov 28 23:14:31 UTC 2023
On Sun, 26 Nov 2023 19:54:02 GMT, Paul Hohensee <phh at openjdk.org> wrote:
> I'd like to backport the definition and implementation of com.sun.management.ThreadMXBean.getTotalThreadAllocatedBytes to 8u. The backport CSR is [JDK-8320375](https://bugs.openjdk.org/browse/JDK-8320375). A follow-up bugfix backport of [JDK-8313081](https://bugs.openjdk.org/browse/JDK-8313081) will be done following this backport. The combined backports have been in production at Amazon for two months with no issues. The backport uses the reserved1 slot in jmm.h in order to preserve binary compatibility with 8u. Per current policy, there is no update to JMM_VERSION in jmm.h and the new method is marked
>
> @since 8u412
>
> Aside from file relocation and context differences, relative to the 11u backport the MonitoringSupport_lock definition macro changes, and the reserved1 rather than reserved6 jmm slot is used. SMR doesn't exist in 8u, so jmm_GetTotalThreadAllocated bytes attempts to lock Threads_lock instead, and if the Threads_lock is already locked, the previous return value is returned. HotSpotThreadImpl.java doesn't exist in 8u, so the hunk associated with it is dropped.
Thanks for the quick review, Volker! Re your comments:
Yes, there are two jmm.h files with identical changes. I missed pointing that out.
HotSpotThreadImpl.java was mentioned in the PR comment.
Yes, there is no jdk/make/mapfiles/libmanagement/mapfile-vers in jdk11u and later. I missed pointing that out too.
Lack of SMR was mentioned in the PR comment.
-------------
PR Comment: https://git.openjdk.org/jdk8u-dev/pull/392#issuecomment-1830904535
More information about the jdk8u-dev
mailing list