github.com/gidoBOSSftw5731/go/src@v0.0.0-20210226122457-d24b0edbf019/runtime/internal/atomic/stubs.go (about)

     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  //go:build !wasm
     6  // +build !wasm
     7  
     8  package atomic
     9  
    10  import "unsafe"
    11  
    12  //go:noescape
    13  func Cas(ptr *uint32, old, new uint32) bool
    14  
    15  // NO go:noescape annotation; see atomic_pointer.go.
    16  func Casp1(ptr *unsafe.Pointer, old, new unsafe.Pointer) bool
    17  
    18  //go:noescape
    19  func Casuintptr(ptr *uintptr, old, new uintptr) bool
    20  
    21  //go:noescape
    22  func Storeuintptr(ptr *uintptr, new uintptr)
    23  
    24  //go:noescape
    25  func Loaduintptr(ptr *uintptr) uintptr
    26  
    27  //go:noescape
    28  func Loaduint(ptr *uint) uint
    29  
    30  // TODO(matloob): Should these functions have the go:noescape annotation?
    31  
    32  //go:noescape
    33  func Loadint64(ptr *int64) int64
    34  
    35  //go:noescape
    36  func Xaddint64(ptr *int64, delta int64) int64