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

Reply via email to