Skip to content
  • Ben Gamari's avatar
    rts/stm: Strengthen orderings to SEQ_CST instead of volatile · 8894b402
    Ben Gamari authored
    Previously the `current_value`, `first_watch_queue_entry`, and
    `num_updates` fields of `StgTVar` were marked as `volatile` in an
    attempt to provide strong ordering. Of course, this isn't sufficient.
    
    We now use proper atomic operations. In most of these cases I strengthen
    the ordering all the way to SEQ_CST although it's possible that some
    could be weakened with some thought.
    8894b402