• Austin Clements's avatar
    runtime: document memory ordering for h_spans · eabdd058
    Austin Clements authored
    h_spans can be accessed concurrently without synchronization from
    other threads, which means it needs the appropriate memory barriers on
    weakly ordered machines. It happens to already have the necessary
    memory barriers because all accesses to h_spans are currently
    protected by the heap lock and the unlocks happen in exactly the
    places where release barriers are needed, but it's easy to imagine
    that this could change in the future. Document the fact that we're
    depending on the barrier implied by the unlock.
    
    Related to issue #9984.
    
    Change-Id: I1bc3c95cd73361b041c8c95cd4bb92daf8c1f94a
    Reviewed-on: https://go-review.googlesource.com/11361Reviewed-by: default avatarRick Hudson <rlh@golang.org>
    Reviewed-by: default avatarDmitry Vyukov <dvyukov@google.com>
    eabdd058
mheap.go 30.5 KB