RFR: 8376126: G1: Convert remaining volatiles in G1ConcurrentMark to Atomic<T> [v4]
Thomas Schatzl
tschatzl at openjdk.org
Wed Jan 28 12:54:52 UTC 2026
> Hi all,
>
> please convert remaining volatile declarations in `G1ConcurrentMark` to use `Atomic<T>`. These volatiles are used to indicate concurrent phased access (like changing the variable in thread A, then reading the variable in thread B while A is dormant, or only ever updating it in one direction) where concurrency safety is provided by barriers between these phases. But there are also other cases)
>
> The exception is `G1ConcurrentMark::_finger` that has apparently been overlooked in an earlier changes.
>
> Testing: gha
>
> Thanks,
> Thomas
Thomas Schatzl has updated the pull request incrementally with one additional commit since the last revision:
* try to fix non-gcc build failures
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/29368/files
- new: https://git.openjdk.org/jdk/pull/29368/files/d10ecb18..99bd8cac
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=29368&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=29368&range=02-03
Stats: 2 lines in 1 file changed: 2 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/29368.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/29368/head:pull/29368
PR: https://git.openjdk.org/jdk/pull/29368
More information about the hotspot-gc-dev
mailing list