[jdk19] RFR: 8290562: ThreadMXBean.getThread{Cpu, User}Time fails with -XX:-VMContinuations
Alan Bateman
alanb at openjdk.org
Mon Aug 1 12:45:28 UTC 2022
ThreadMXBean.getThread{Cpu,User}Time is specified to return -1L when invoked with the id of a virtual thread. This isn't so when running with -XX:-VMContinuations (or ports without support for continuations in the VM) as it returns the cpu/user time of the OS thread that that the virtual thread is bound. A small oversight with JDK-8287496, and missed because our unit test only exercises these methods with the id of the "current virtual thread". The code path when the called with the id that is not the current thread is a different code path.
The change is limited to jmm_GetThreadCpuTimeWithKind. I didn't change jmm_GetThreadCpuTimesWithKind because it seems to be unused/dead code. I'll create a separate issue to look at that (it doesn't need to be removed/changed for JDK 19).
The test case for this API is expanded to cover more cases where the current thread is special cased in the implementation.
JDK 19 is in RDP2 so this change will require additional approval.
-------------
Commit messages:
- Initial commit
Changes: https://git.openjdk.org/jdk19/pull/157/files
Webrev: https://webrevs.openjdk.org/?repo=jdk19&pr=157&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8290562
Stats: 99 lines in 2 files changed: 78 ins; 0 del; 21 mod
Patch: https://git.openjdk.org/jdk19/pull/157.diff
Fetch: git fetch https://git.openjdk.org/jdk19 pull/157/head:pull/157
PR: https://git.openjdk.org/jdk19/pull/157
More information about the serviceability-dev
mailing list