• Cherry Zhang's avatar
    runtime/internal/atomic: improve ARM atomics · 14f929af
    Cherry Zhang authored
    This is a follow-up of CL 93637. There, when we redirect sync/atomic
    to runtime/internal/atomic, a few good implementations of ARM atomics
    were lost. This CL brings most of them back, with some improvements.
    
    - Change atomic Store to a plain store with memory barrier, as we
      already changed atomic Load to plain load with memory barrier.
    
    - Use native 64-bit atomics on ARMv7, jump to Go implementations
      on older machines. But drop the kernel helper. In particular,
      for Load64, just do loads, not using Cas on the address being
      load from, so it works also for read-only memory (since we have
      already fixed 32-bit Load).
    
    Change-Id: I725cd65cf945ae5200db81a35be3f251c9f7af14
    Reviewed-on: https://go-review.googlesource.com/111315
    Run-TryBot: Cherry Zhang <cherryyz@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarAustin Clements <austin@google.com>
    14f929af
Name
Last commit
Last update
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...