RFR: 8296323: JVMTI can_support_virtual_threads not available for agents loaded into running VM [v4]
Serguei Spitsyn
sspitsyn at openjdk.org
Sun Nov 20 08:57:19 UTC 2022
On Sun, 20 Nov 2022 08:48:16 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:
>> The can_support_virtual_thread was initially implemented as an onload capability.
>> It is why this capability does not work for the agents loaded into running VM.
>> The fix is to move it from `onload` to `always`capabilities list.
>>
>> Testing:
>> New test is added: VirtualStartThreadTest.
>> TBD: mach5 jvmti, jdi and tier1-6 tests.
>
> Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:
>
> fixed a trailing white space issue
I've pushed an update to extend the test to cover more configurations:
- agent loaded at startup and into running VM
- with and without enabling JVMTI `can_support_virtual_classes` capability
One problem was discovered and fixed in the `jvmtiExport.cpp`.
The `ThreadStart` events that are posted on virtual thread when can_support_virtual_classes disabled provided carrier instead of virtual thread argument. The cause of it was that the `jvmtiThreadState` can be not set at the time the `ThreadStart` events are posted.
-------------
PR: https://git.openjdk.org/jdk/pull/11246
More information about the hotspot-dev
mailing list