RFR: 8355627: Don't use ThreadCritical for EventLog list [v2]

Zhengyu Gu zgu at openjdk.org
Mon May 5 13:14:56 UTC 2025


On Mon, 5 May 2025 12:52:48 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

>> The version you merged has `memory_order_conservative` order on CAS, so you don't need reader side barrier.
>
> Looks like a Release-Consume pattern: https://en.cppreference.com/w/cpp/atomic/memory_order#Release-Consume_ordering
> I think it is very likely that it works as it is. Not sure if Atomic::load is 100% safe for this.

`memory_order_conservative` is [Strong two-way memory barrier](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/runtime/atomic.hpp#L47), that means all reads and writes *cannot* float pass the barrier.

If `Atomic::load()` observes a store by conservative order, then precedent reads and writes of the store must have completed.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24954#discussion_r2073424418


More information about the hotspot-dev mailing list