aboutsummaryrefslogtreecommitdiff
path: root/src/database/sql/sql_test.go
diff options
context:
space:
mode:
authorCherry Zhang <cherryyz@google.com>2019-12-27 12:02:00 -0500
committerCherry Zhang <cherryyz@google.com>2020-01-02 21:41:13 +0000
commitffbc02761abb47106ce88e09290a31513b5f6c8a (patch)
tree92306ff4570a5f5b7553394dfa9578099b8f7590 /src/database/sql/sql_test.go
parenta4c579e8f7c8129b2c27779f206ebd2c9b393633 (diff)
downloadgo-ffbc02761abb47106ce88e09290a31513b5f6c8a.tar.xz
runtime: ensure memmove write pointer atomically on ARM64
If a pointer write is not atomic, if the GC is running concurrently, it may observe a partially updated pointer, which may point to unallocated or already dead memory. Most pointer writes, like the store instructions generated by the compiler, are already atomic. But we still need to be careful in places like memmove. In memmove, we don't know which bits are pointers (or too expensive to query), so we ensure that all aligned pointer-sized units are written atomically. Fixes #36101. Change-Id: I1b3ca24c6b1ac8a8aaf9ee470115e9a89ec1b00b Reviewed-on: https://go-review.googlesource.com/c/go/+/212626 Reviewed-by: Austin Clements <austin@google.com>
Diffstat (limited to 'src/database/sql/sql_test.go')
0 files changed, 0 insertions, 0 deletions