RFR: 8293613: need to properly handle and hide tmp VTMS transitions [v3]
Serguei Spitsyn
sspitsyn at openjdk.org
Tue Sep 20 22:38:47 UTC 2022
On Mon, 19 Sep 2022 20:22:54 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:
>> Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:
>>
>> fixed typo in VirtualThread.c
>
> src/hotspot/share/prims/jvmtiExport.cpp line 1055:
>
>> 1053: if (JavaThread::current()->is_in_tmp_VTMS_transition()) {
>> 1054: return false;
>> 1055: }
>
> You mentioned this in the PR description. However, it's not clear to me why this is ok. Also, it should be commented.
>
> Same thing for changes in JvmtiExport::post_class_load() and JvmtiExport::post_class_prepare().
I initially wanted to consult on this with Alan. It feels like it'd be better if I did it before posting this PR.
We have just two possible approaches here. The best approach is to move any class loading out of the temporary transition code path. Then we already have the relevant asserts in place. However, this is not that easy to solve. Alan already suggested a couple of patches which I've tested but new places with class loads were discovered. Another approach is to skip all ClassLoad, ClassPrepare and CFLH events in context of temporary transitions. It is hard to estimate how acceptable it is. At least, I've not found any failing tests because of it which means it most likely does not impact the debugger. My current suggestion is to file a bug and try to address it later as Alan may need more time for analysis.
-------------
PR: https://git.openjdk.org/jdk/pull/10321
More information about the hotspot-dev
mailing list