On Wed, 25 Feb 2026 23:17:51 GMT, Serguei Spitsyn <[email protected]> wrote:
>> src/hotspot/share/prims/jvmtiThreadState.hpp line 207:
>>
>>> 205: // Return true if any thread has entered interp_only_mode at any
>>> point during the JVMs execution.
>>> 206: static bool seen_interp_only_mode() {
>>> 207: return _seen_interp_only_mode.load_relaxed();
>>
>> Not sure `load_relaxed` is enough here.
>> I think we need `load_acquire`/`release_store`
>
> Okay, thanks. Replaced with `load_acquire`/`release_store`.
Well, I think that load_relaxed should be enough here.
The `_seen_interp_only_mode` and `_pending_interp_only_mode` are updated with
the JvmtiThreadState_lock and changes should be visible together after lock is
released.
So even `_seen_interp_only_mode` is relaxed load/store and might be reordered
with `_pending_interp_only_mode`, it is not possible that
`_pending_interp_only_mode` is true in the
`JvmtiThreadState::enter_interp_only_mode()`
while
`_seen_interp_only_mode`
is still false.
It might be possible that it becomes 'true' while the recompute enabled is
still in process, but it is ok.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29800#discussion_r2856121024