RFR: 8253183: Fragile memory barrier selection for some weak memory model platforms
    Daniel D.Daugherty 
    dcubed at openjdk.java.net
       
    Tue Sep 29 17:36:20 UTC 2020
    
    
  
On Mon, 28 Sep 2020 21:11:04 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:
> Hi, I'd like to propose a fix after the discussion in https://bugs.openjdk.java.net/browse/JDK-8253183
> 
> Please especially review my new comments in the code. The authors of the surrounding code in objectMonitor.cpp and
> synchronizer.cpp may know better.
Thumbs up! Your call on whether to switch from 'iriw' to 'IRIW'
in the new function name.
src/hotspot/share/runtime/orderAccess.hpp line 250:
> 248:   // to enforce a globally consistent order of Independent Reads of
> 249:   // Independent Writes. Please use only for such patterns!
> 250:   static void     loadload_for_iriw() {
So why is this (lower case) 'iriw' when we almost always
talk about it as IRIW?
src/hotspot/share/runtime/objectMonitor.cpp line 495:
> 493:   // _contentions and dmw/header may get written by different threads.
> 494:   // Make sure to observe them in the same order when having several observers.
> 495:   OrderAccess::loadload_for_iriw();
The code we are replacing used 'IRIW' instead of 'iriw'.
src/hotspot/share/runtime/synchronizer.cpp line 1111:
> 1109:         // dmw/header and _contentions may get written by different threads.
> 1110:         // Make sure to observe them in the same order when having several observers.
> 1111:         OrderAccess::loadload_for_iriw();
The code we're replacing using 'IRIW' instead of 'iriw'.
-------------
PR: https://git.openjdk.java.net/jdk/pull/387
    
    
More information about the hotspot-dev
mailing list