RFR: 8308000: add PopFrame support for virtual threads

Serguei Spitsyn sspitsyn at openjdk.org
Wed May 17 08:10:46 UTC 2023


On Tue, 16 May 2023 22:52:41 GMT, Leonid Mesnik <lmesnik at openjdk.org> wrote:

>> This enhancement adds `PopFrame` support for virtual threads. The spec defines minimal support that the JVMTI `PopFrame` can be used for a virtual thread suspended an an event. 
>> Actually, the `PopFrame` can supports suspended and mounted virtual threads. 
>> 
>> CSR (approved): https://bugs.openjdk.org/browse/JDK-8308001: add PopFrame support for virtual threads
>> 
>> Testing:
>> New test was developed: `serviceability/vthread/PopFrameTest`.
>> Submitted mach5 tiers 1-6 are good.
>> TBD: rerun mach5 tiers 1-6 at the end of review again if necessary.
>
> test/hotspot/jtreg/serviceability/jvmti/vthread/PopFrameTest/libPopFrameTest.cpp line 49:
> 
>> 47:   LOG("Breakpoint: In method TestTask.B(): before sync section enter\n");
>> 48: 
>> 49:   err = jvmti->RawMonitorEnter(monitor);
> 
> You could use RawMonitorLocker instead:
> 
> {
> RawMonitorLocker rml(jvmti, jni, monitor);
> bp_sync_reached = true;
> rml.wait();
> }

Done.

> test/hotspot/jtreg/serviceability/jvmti/vthread/PopFrameTest/libPopFrameTest.cpp line 181:
> 
>> 179:   LOG("Main: notifyAtBreakpoint\n");
>> 180: 
>> 181:   err = jvmti->RawMonitorEnter(monitor);
> 
> You could use
> 
> RawMonitorLocker rml(jvmti, jni, monitor);
> rml.notify_all();

Good suggestion. I forgot we have this part of support in the test library.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/14002#discussion_r1196111055
PR Review Comment: https://git.openjdk.org/jdk/pull/14002#discussion_r1196110720


More information about the hotspot-dev mailing list