RFR: 8288387: GetLocalXXX/SetLocalXXX spec should require suspending target thread [v2]

Andrey Turbanov aturbanov at openjdk.org
Mon Oct 10 10:11:16 UTC 2022


On Thu, 6 Oct 2022 17:31:00 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:

>> The spec of JVM TI GetLocalXXX/SetLocalXXX functions is updated to require the target thread to be suspended. If not suspended then the JVMTI_ERROR_THREAD_NOT_SUSPENDED error code is returned by the implementation.
>> 
>> The CSR is: https://bugs.openjdk.org/browse/JDK-8294690
>> 
>> A few tests are impacted by this fix:
>> 
>>  test/hotspot/jtreg/serviceability/jvmti/vthread/GetSetLocalTest
>>  test/hotspot/jtreg/serviceability/jvmti/vthread/VThreadTest
>>  test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t011
>> 
>> 
>> The following test has been removed as non-relevant any more:
>> `  test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/GetLocalWithoutSuspendTest.java`
>>   
>> New negative test has been added instead:
>> `  test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/GetSetLocalUnsuspended.java`
>> 
>> All JVM TI and JPDA tests were used locally for verification.
>> They were also run in Loom repository with `JTREG_MAIN_WRAPPER=Virtual`. 
>> 
>> Mach5 test runs on all platforms are TBD.
>
> Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:
> 
>   addressed review comments about is_JavaThread_current and @enablePreview tag

test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/GetSetLocalUnsuspended.java line 39:

> 37:     static native void testUnsuspendedThread(Thread thread);
> 38: 
> 39:     static private volatile boolean doStop;

Let's use default modifiers order
Suggestion:

    private static volatile boolean doStop;

test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/GetSetLocalUnsuspended.java line 41:

> 39:     static private volatile boolean doStop;
> 40: 
> 41:     static private void sleep(long millis) {

Let's use default modifiers order
Suggestion:

    private static void sleep(long millis) {

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

PR: https://git.openjdk.org/jdk/pull/10586


More information about the hotspot-dev mailing list