• Austin Clements's avatar
    [dev.power64] runtime: fix atomicor8 for power64x · 87b4149b
    Austin Clements authored
    Power64 servers do not currently support sub-word size atomic
    memory access, so atomicor8 uses word size atomic access.
    However, previously atomicor8 made no attempt to align this
    access, resulting in errors.  Fix this by aligning the pointer
    to a word boundary and shifting the value appropriately.
    Since atomicor8 is used in GC, add a test to runtime·check to
    make sure this doesn't break in the future.
    
    This also fixes an incorrect branch label, an incorrectly
    sized argument move, and adds argument names to help go vet.
    
    LGTM=rsc
    R=rsc, dave
    CC=golang-codereviews
    https://golang.org/cl/165820043
    87b4149b
runtime.c 8.41 KB