RFA/RFA (M): 8231209: [REDO] JDK-8207266 ThreadMXBean::getThreadAllocatedBytes() can be quicker for self thread

Hohensee, Paul hohensee at amazon.com
Wed Sep 9 17:44:32 UTC 2020


Please review this backport to 8u. It was not clean, and requires a CSR. Please review the CSR as well. The patch has been backported to both 11u and Oracle 11u.

Original JBS issue: https://bugs.openjdk.java.net/browse/JDK-8231209
Original CSR: https://bugs.openjdk.java.net/browse/JDK-8231374
Original patch: https://hg.openjdk.java.net/jdk/jdk/rev/c29e49148be7

Backport JBS issue: https://bugs.openjdk.java.net/browse/JDK-8247811
Backport CSR: https://bugs.openjdk.java.net/browse/JDK-8247812
Backport jdk webrev: http://cr.openjdk.java.net/~phh/8231209/webrev.8u.jdk.00/
Backport hotspot webrev: http://cr.openjdk.java.net/~phh/8231209/webrev.8u.hotspot.00/

These webrevs depend on a pending backport for JDK-8185003, see https://mail.openjdk.java.net/pipermail/jdk8u-dev/2020-September/012613.html, and if both are approved will be pushed after that backport.

GetOneThreadAllocatedMemory, a new JMM interface method referenced in jmm.h, occupies the reserved2 jmmInterface slot rather than its original one, because otherwise the jmmInterface binary interface would not be compatible with 8u.

There are minor changes to jmm_GetOneThreadAllocatedMemory in management.cpp to conform to 8u’s internal interfaces.

HotspotThreadImpl.java doesn’t exist in 8u. It’s functionality (exposing c.s.m.ThreadMXBean protected methods as public) is replaced by simply declaring those methods public in ThreadImpl.java.

The nsk tests don’t exist in 8u, so the updates to BaseBehaviorTest.* and ServerThreadMXBeanNew.java are dropped.

A follow-on backport review request for https://bugs.openjdk.java.net/browse/JDK-8231968: getCurrentThreadAllocatedBytes default implementation s/b getThreadAllocatedBytes, will follow to fix a bug in the Original CSR.

Thanks,
Paul




More information about the jdk8u-dev mailing list