On Wed, 18 Feb 2026 19:50:11 GMT, Serguei Spitsyn <[email protected]> wrote:

> The function `JvmtiThreadState::process_pending_interp_only()` should protect 
> the check with `state->is_pending_interp_only_mode()` and call to 
> `JvmtiEventController::enter_interp_only_mode(state)` with the 
> `JvmtiThreadState_lock`. Some level of optimization with a check of 
> `seen_interp_only_mode()` is used as the code path of the 
> `process_pending_interp_only()` is hot. Then the `seen_interp_only_mode()` 
> has to be set somewhat earlier when the `is_pending_interp_only_mode()` is 
> set.
> This issue was discovered when in the work on the PR update of 
> https://bugs.openjdk.org/browse/JDK-8373367 .
> 
> Testing:
>  - TBD: mach5 tiers 1-5

Changes requested by lmesnik (Reviewer).

src/hotspot/share/prims/jvmtiThreadState.hpp line 216:

> 214:   bool is_pending_interp_only_mode() { return _pending_interp_only_mode; 
> }
> 215:   void set_pending_interp_only_mode(bool val) {
> 216:     _seen_interp_only_mode = true;

_seen_interp_only_mode is read without and locking and should be atomic.

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

PR Review: https://git.openjdk.org/jdk/pull/29800#pullrequestreview-3835057915
PR Review Comment: https://git.openjdk.org/jdk/pull/29800#discussion_r2835842732

Reply via email to