RFR: 8366671: Refactor Thread::SpinAcquire and Thread::SpinRelease [v9]
Axel Boldt-Christmas
aboldtch at openjdk.org
Tue Nov 25 08:16:32 UTC 2025
On Fri, 21 Nov 2025 09:25:27 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: Addressed reviewer's comments.
I think this looks good, but we should add a `NoSafepointVerifier` to this `SpinCriticalSection` RAII object. Polling for a safepoint inside a SpinLock should never be allowed.
-------------
PR Review: https://git.openjdk.org/jdk/pull/28264#pullrequestreview-3503741606
More information about the hotspot-dev
mailing list