On Mon, 1 Aug 2022 09:16:41 GMT, Alan Bateman <al...@openjdk.org> wrote:
> 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. This pull request has now been integrated. Changeset: 5963300c Author: Alan Bateman <al...@openjdk.org> URL: https://git.openjdk.org/jdk19/commit/5963300c0c9dfd34c6338fa8195ae18d7b41840c Stats: 99 lines in 2 files changed: 78 ins; 0 del; 21 mod 8290562: ThreadMXBean.getThread{Cpu,User}Time fails with -XX:-VMContinuations Reviewed-by: sspitsyn, kevinw, mchung ------------- PR: https://git.openjdk.org/jdk19/pull/157