• Dmitriy Vyukov's avatar
    runtime/race: better handling of atomic operations · f1672978
    Dmitriy Vyukov authored
    This change fixes the last known false negative of the race detector --
    detection of races between mutating atomic operations and non-atomic operations.
    Race runtime already has functions for precise modelling of various atomic operations,
    so this change just forwards all atomic ops to race runtime
    instead of poor man modeling in sync/atomic package.
    Performance is also improved -- full sync/atomic tests run in 60s instead of 85s now.
    
    LGTM=khr
    R=golang-codereviews, khr
    CC=golang-codereviews, rsc
    https://golang.org/cl/111310044
    f1672978