RFR: 8366671: Refactor Thread::SpinAcquire and Thread::SpinRelease [v6]
Anton Artemov
aartemov at openjdk.org
Mon Nov 17 11:59:29 UTC 2025
> 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.
>
> Additionally, `SpinSingleSection` class is added, which allows to execute a payload code inside of a lambda function by only one thread.
>
> Tested in tiers 1 - 5.
Anton Artemov has updated the pull request incrementally with one additional commit since the last revision:
8366671: Removed redundant include.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/28264/files
- new: https://git.openjdk.org/jdk/pull/28264/files/74cfcaea..e9866cdf
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=28264&range=05
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=28264&range=04-05
Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/28264.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28264/head:pull/28264
PR: https://git.openjdk.org/jdk/pull/28264
More information about the hotspot-dev
mailing list