Does transition_and_fence really assume TSO?
    Andrew Haley 
    aph at redhat.com
       
    Wed Aug  3 00:04:22 UTC 2016
    
    
  
Here's an interesting comment:
  static inline void transition_and_fence(JavaThread *thread, JavaThreadState from, JavaThreadState to) {
    assert(thread->thread_state() == from, "coming from wrong thread state");
    assert((from & 1) == 0 && (to & 1) == 0, "odd numbers are transitions states");
    // Change to transition state (assumes total store ordering!  -Urs)
    thread->set_thread_state((JavaThreadState)(from + 1));
The "assumes total store ordering!" comment is rather alarming.  My
processor is not TSO.  But as far as I can see, all this really
requires is single-variable coherency.  Is that right?
Andrew.
    
    
More information about the hotspot-dev
mailing list