RFR: 8371923: Update LockFreeStack for Atomic<T> [v2]

Kim Barrett kbarrett at openjdk.org
Tue Nov 18 10:48:57 UTC 2025


> Please review this change to the `LockFreeStack` utility to allow clients to
> use `Atomic<T>` as the type of the "next" member used in the linked-list
> representation of the stack. It also continues to allow clients to use the old
> (pre-`Atomic<T>`) form where the "next" member is volatile. This allows
> clients to be updated incrementally after this change, rather than requiring
> all clients to be updated in conjunction with the update of this class. Once
> all clients have been updated, support for the old form can be removed.
> 
> The associated gtests have been updated to use `Atomic<T>`, with testing of
> the old form is no longer being done. The non-updated uses provide some
> testing, and that's all expected to go away soon. So parameterizing the gtests
> for both forms seems like a bunch of work that will just be deleted soon, with
> very little benefit.
> 
> Testing: mach5 tier1

Kim Barrett has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - Merge branch 'master' into lock-free-stack-allows-new-atomic
 - rename next_access to next_accessor
 - LockFreeStack supports Atomic<T>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/28329/files
  - new: https://git.openjdk.org/jdk/pull/28329/files/28b4d2a2..58c4ee09

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=28329&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28329&range=00-01

  Stats: 11620 lines in 216 files changed: 8511 ins; 1590 del; 1519 mod
  Patch: https://git.openjdk.org/jdk/pull/28329.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28329/head:pull/28329

PR: https://git.openjdk.org/jdk/pull/28329


More information about the hotspot-dev mailing list