Home | History | Annotate | Download | only in atomic
      1 // Copyright 2015 The Go Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 package atomic
      6 
      7 import "unsafe"
      8 
      9 //go:noescape
     10 func Cas(ptr *uint32, old, new uint32) bool
     11 
     12 // NO go:noescape annotation; see atomic_pointer.go.
     13 func Casp1(ptr *unsafe.Pointer, old, new unsafe.Pointer) bool
     14 
     15 //go:noescape
     16 func Casuintptr(ptr *uintptr, old, new uintptr) bool
     17 
     18 //go:noescape
     19 func Storeuintptr(ptr *uintptr, new uintptr)
     20 
     21 //go:noescape
     22 func Loaduintptr(ptr *uintptr) uintptr
     23 
     24 //go:noescape
     25 func Loaduint(ptr *uint) uint
     26 
     27 // TODO(matloob): Should these functions have the go:noescape annotation?
     28 
     29 //go:noescape
     30 func Loadint64(ptr *int64) int64
     31 
     32 //go:noescape
     33 func Xaddint64(ptr *int64, delta int64) int64
     34