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

Reply via email to