On Thu, 9 Mar 2023 18:55:06 GMT, Patricio Chilano Mateo 
<pchilanom...@openjdk.org> wrote:

> Please review this small fix. A suspender is a JvmtiVTMSTransitionDisabler 
> monopolist, meaning VTMS_transition_disable_for_all() should not return while 
> there is any active jvmtiVTMSTransitionDisabler. The code though is checking 
> for active "all-disablers" but it's missing the check for active "single 
> disablers".
> I attached a simple reproducer to the bug which I used to test the patch. Not 
> sure if it was worth adding a test so the patch contains just the fix.
> 
> Thanks,
> Patricio

src/hotspot/share/prims/jvmtiThreadState.cpp line 372:

> 370:   java_lang_Thread::dec_VTMS_transition_disable_count(vth());
> 371:   Atomic::dec(&_VTMS_transition_disable_for_one_count);
> 372:   if (_VTMS_transition_disable_for_one_count == 0 || _is_SR) {

Sorry I don't understand why this `_is_SR` check was removed.  I admit I can't 
really figure out what this field means anyway, but there is nothing in the 
issue description that suggests this also needs changing - and it is now 
different to `VTMS_transition_enable_for_all`.

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

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

Reply via email to