On Tue, 20 Sep 2022 22:41:50 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:

>> src/hotspot/share/runtime/javaThread.cpp line 1174:
>> 
>>> 1172: #if INCLUDE_JVMTI
>>> 1173:   // Suspending a JavaThread in VTMS transition or disabling VTMS 
>>> transitions can cause deadlocks.
>>> 1174:   assert(!is_in_non_tmp_VTMS_transition(), "no suspend allowed in 
>>> VTMS transition");
>> 
>> IMHO, a non tmp VTMS transition should be considered a type of VTMS 
>> transition, so the assert check here does not really match the assert text. 
>> Also see my related comments below on naming and use of these flags and APIs.
>
> Thanks. Accepted.

Chris, I believe, this comment is resolved. Please, let me know if you disagree.

>> src/hotspot/share/runtime/javaThread.hpp line 650:
>> 
>>> 648:   void set_is_in_VTMS_transition(bool val);
>>> 649:   bool is_in_tmp_VTMS_transition() const         { return 
>>> _is_in_tmp_VTMS_transition; }
>>> 650:   void toggle_is_in_tmp_VTMS_transition()        { 
>>> _is_in_tmp_VTMS_transition = !_is_in_tmp_VTMS_transition; };
>> 
>> The naming of the flags does not match up with the naming of the APIs, which 
>> is confusing.  An API named  is_in_VTMS_transition() should return 
>> _is_in_VTMS_transition. I think part of problem is that 
>> _is_in_VTMS_transition is not a superset of _is_in_tmp_VTMS_transition. The 
>> flags are never both set true, although both can be false. Maybe this should 
>> be changed to make it an invariant that if _is_in_tmp_VTMS_transit is true, 
>> then _is_in_tmp_VTMS_transition is true.
>
> I agree, this naming is not good. However, I was reluctant to do required 
> renaming because it can potentially impact many spots and make review harder. 
> Let me think a little bit more on this.

I've simplified this naming but, probably, not in a way your were expecting. 
Please, see my comment below.

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

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

Reply via email to