RFR: 8374233: Overloaded constructor MountUnmountDisabler(jthread thread) is missed

Serguei Spitsyn sspitsyn at openjdk.org
Wed Dec 24 08:50:04 UTC 2025


On Wed, 24 Dec 2025 06:41:51 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> Please, review a simple fix for a jdk 26 regression: [JDK-8364343](https://bugs.openjdk.org/browse/JDK-8364343). It will be pushed to 27 first and then back ported to 26.
>> This issue impacts JVM TI scalability. The  [JDK-8364343](https://bugs.openjdk.org/browse/JDK-8364343) replaced the overloaded ctor `MountUnmountDisabler(jthread thread)` with `MountUnmountDisabler(oop thread_oop)`. This caused the most common JVM TI pattern `MountUnmountDisabler disabler(thread)` (where thread is a jthread) to be resolved to `MountUnmountDisabler(bool exclusive)`.  It makes the instantiated `MountUnmountDisabler` to disable `mount/unmount` transitions for all virtual thread instead of the specific one. This problem was identified with a minor tracing.
>> 
>> The fix restores the original ctor `MountUnmountDisabler(jthread thread)`.
>> 
>> Testing:
>>  - TBD: run mach5 tiers 1-6
>
> src/hotspot/share/runtime/mountUnmountDisabler.hpp line 59:
> 
>> 57: 
>> 58:  public:
>> 59:   MountUnmountDisabler(bool exlusive = false);
> 
> In passing, exlusive -> exclusive

Sorry, I've already integrated this PR and missed chance to correct line 59.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28965#discussion_r2645158235


More information about the serviceability-dev mailing list