On Fri, 26 Aug 2022 21:33:13 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:
>> If JVM TI GetLocalXXX/SetLocalXXX is called from a virtual thread with the >> thread parameter set to NULL (meaning current thread) then it should get/set >> the value of the locals in the virtual thread frames. Instead, it reads the >> carrier thread locals and/or crashes. >> >> The fix is that the relevant checking of the jthread parameter for NULL and >> adjusting it to current thread is added. >> It is done in new utility `function >> current_thread_obj_or_resolve_external_guard(jthread thread)`. For more >> convenient testing the same adjustment is done in the JVM TI extension >> function `GetCarrierThread()`. >> >> The test serviceability/jvmti/vthread/GetSetLocalTest is updated to add >> previously missed test coverage. >> >> The test serviceability/jvmti/vthread/VThreadTest has been updated to adopt >> to update behavior of the `GetCarrierThread`. >> >> The fix was verified with the >> test/hotspot/jtreg/serviceability/jvmti/vthread/ tests. >> >> The fix was also tested with the existing JVM TI and JDI tests to make sure >> no regressions are introduced. > > Serguei Spitsyn has updated the pull request incrementally with one > additional commit since the last revision: > > remove unneeded commented lines in test Thank you for review, Alan! ------------- PR: https://git.openjdk.org/jdk/pull/10051