...

Source file src/runtime/internal/atomic/atomic_mips64x.go

     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	// +build mips64 mips64le
     6	
     7	package atomic
     8	
     9	import "unsafe"
    10	
    11	//go:noescape
    12	func Xadd(ptr *uint32, delta int32) uint32
    13	
    14	//go:noescape
    15	func Xadd64(ptr *uint64, delta int64) uint64
    16	
    17	//go:noescape
    18	func Xadduintptr(ptr *uintptr, delta uintptr) uintptr
    19	
    20	//go:noescape
    21	func Xchg(ptr *uint32, new uint32) uint32
    22	
    23	//go:noescape
    24	func Xchg64(ptr *uint64, new uint64) uint64
    25	
    26	//go:noescape
    27	func Xchguintptr(ptr *uintptr, new uintptr) uintptr
    28	
    29	//go:noescape
    30	func Load(ptr *uint32) uint32
    31	
    32	//go:noescape
    33	func Load8(ptr *uint8) uint8
    34	
    35	//go:noescape
    36	func Load64(ptr *uint64) uint64
    37	
    38	// NO go:noescape annotation; *ptr escapes if result escapes (#31525)
    39	func Loadp(ptr unsafe.Pointer) unsafe.Pointer
    40	
    41	//go:noescape
    42	func LoadAcq(ptr *uint32) uint32
    43	
    44	//go:noescape
    45	func And8(ptr *uint8, val uint8)
    46	
    47	//go:noescape
    48	func Or8(ptr *uint8, val uint8)
    49	
    50	// NOTE: Do not add atomicxor8 (XOR is not idempotent).
    51	
    52	//go:noescape
    53	func Cas64(ptr *uint64, old, new uint64) bool
    54	
    55	//go:noescape
    56	func CasRel(ptr *uint32, old, new uint32) bool
    57	
    58	//go:noescape
    59	func Store(ptr *uint32, val uint32)
    60	
    61	//go:noescape
    62	func Store64(ptr *uint64, val uint64)
    63	
    64	// NO go:noescape annotation; see atomic_pointer.go.
    65	func StorepNoWB(ptr unsafe.Pointer, val unsafe.Pointer)
    66	
    67	//go:noescape
    68	func StoreRel(ptr *uint32, val uint32)
    69	

View as plain text