// Copyright 2009 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package atomicimport// Export some functions via linkname to assembly in sync/atomic.////go:linkname Load//go:linkname Loadp//go:linkname Load64//go:nosplit//go:noinlinefunc ( *uint32) uint32 {return *}//go:nosplit//go:noinlinefunc ( unsafe.Pointer) unsafe.Pointer {return *(*unsafe.Pointer)()}//go:nosplit//go:noinlinefunc ( *uint64) uint64 {return *}//go:nosplit//go:noinlinefunc ( *uint32) uint32 {return *}//go:nosplit//go:noinlinefunc ( *uint64) uint64 {return *}//go:nosplit//go:noinlinefunc ( *uintptr) uintptr {return *}//go:noescapefunc ( *uint32, int32) uint32//go:noescapefunc ( *uint64, int64) uint64//go:noescapefunc ( *uintptr, uintptr) uintptr//go:noescapefunc ( *uint32, uint32) uint32//go:noescapefunc ( *uint64, uint64) uint64//go:noescapefunc ( *uintptr, uintptr) uintptr//go:nosplit//go:noinlinefunc ( *uint8) uint8 {return *}//go:noescapefunc ( *uint8, uint8)//go:noescapefunc ( *uint8, uint8)//go:noescapefunc ( *uint32, uint32)//go:noescapefunc ( *uint32, uint32)// NOTE: Do not add atomicxor8 (XOR is not idempotent).//go:noescapefunc ( *uint64, , uint64) bool//go:noescapefunc ( *uint32, , uint32) bool//go:noescapefunc ( *uint32, uint32)//go:noescapefunc ( *uint8, uint8)//go:noescapefunc ( *uint64, uint64)//go:noescapefunc ( *uint32, uint32)//go:noescapefunc ( *uint64, uint64)//go:noescapefunc ( *uintptr, uintptr)// StorepNoWB performs *ptr = val atomically and without a write// barrier.//// NO go:noescape annotation; see atomic_pointer.go.func ( unsafe.Pointer, unsafe.Pointer)
The pages are generated with Goldsv0.6.7. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds.