RFR: 8366671: Refactor Thread::SpinAcquire and Thread::SpinRelease [v12]

Patricio Chilano Mateo pchilanomate at openjdk.org
Wed Dec 3 21:07:08 UTC 2025


On Wed, 3 Dec 2025 14:04:28 GMT, Anton Artemov <aartemov at openjdk.org> wrote:

>> Hi, 
>> 
>> please consider the following changes:
>> 
>> In this PR `Thread::SpinAcquire()` and `Thread::SpinRelease()` methods are refactored into a utility class `SpinCriticalSection`. The motivation is to make it easier for developers to use this lightweight synchronization mechanism in the codebase. The two aforementioned methods were used in JFR to create short critical sections with a helper class, but that was not the case for the object monitor code. 
>> 
>> Tested in tiers 1 - 5.
>
> Anton Artemov has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8366671: Added NoSafepointVerifier

Looks good to me.

src/hotspot/share/runtime/objectMonitor.cpp line 2056:

> 2054:       // there is nothing to do.
> 2055:       if (old_state == java_lang_VirtualThread::WAIT ||
> 2056:         old_state == java_lang_VirtualThread::TIMED_WAIT) {

The original alignment was correct.

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

PR Review: https://git.openjdk.org/jdk/pull/28264#pullrequestreview-3536920406
PR Review Comment: https://git.openjdk.org/jdk/pull/28264#discussion_r2586603053


More information about the hotspot-dev mailing list