diff options
Diffstat (limited to 'src/runtime/atomic_pointer.go')
| -rw-r--r-- | src/runtime/atomic_pointer.go | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/runtime/atomic_pointer.go b/src/runtime/atomic_pointer.go index f84afe0362..ec2ea8a338 100644 --- a/src/runtime/atomic_pointer.go +++ b/src/runtime/atomic_pointer.go @@ -10,7 +10,7 @@ import "unsafe" // because while ptr does not escape, new does. // If new is marked as not escaping, the compiler will make incorrect // escape analysis decisions about the pointer value being stored. -// Instead, these are wrappers around the actual atomics (xchgp1 and so on) +// Instead, these are wrappers around the actual atomics (casp1 and so on) // that use noescape to convey which arguments do not escape. // // Additionally, these functions must update the shadow heap for @@ -23,13 +23,6 @@ func atomicstorep(ptr unsafe.Pointer, new unsafe.Pointer) { } //go:nosplit -func xchgp(ptr unsafe.Pointer, new unsafe.Pointer) unsafe.Pointer { - old := xchgp1(noescape(ptr), new) - writebarrierptr_nostore((*uintptr)(ptr), uintptr(new)) - return old -} - -//go:nosplit func casp(ptr *unsafe.Pointer, old, new unsafe.Pointer) bool { if !casp1((*unsafe.Pointer)(noescape(unsafe.Pointer(ptr))), noescape(old), new) { return false |
