diff options
Diffstat (limited to 'pkg/atomicbitops')
-rw-r--r-- | pkg/atomicbitops/aligned_32bit_unsafe.go | 6 | ||||
-rw-r--r-- | pkg/atomicbitops/aligned_64bit.go | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/pkg/atomicbitops/aligned_32bit_unsafe.go b/pkg/atomicbitops/aligned_32bit_unsafe.go index 1d71a0641..a5c762f67 100644 --- a/pkg/atomicbitops/aligned_32bit_unsafe.go +++ b/pkg/atomicbitops/aligned_32bit_unsafe.go @@ -38,14 +38,17 @@ func (aa *AlignedAtomicInt64) ptr() *int64 { return (*int64)(unsafe.Pointer((uintptr(unsafe.Pointer(&aa.value)) + 7) &^ 7)) } +// Load is analagous to atomic.LoadInt64. func (aa *AlignedAtomicInt64) Load() int64 { return atomic.LoadInt64(aa.ptr()) } +// Store is analagous to atomic.StoreInt64. func (aa *AlignedAtomicInt64) Store(v int64) { atomic.StoreInt64(aa.ptr(), v) } +// Add is analagous to atomic.AddInt64. func (aa *AlignedAtomicInt64) Add(v int64) int64 { return atomic.AddInt64(aa.ptr(), v) } @@ -67,14 +70,17 @@ func (aa *AlignedAtomicUint64) ptr() *uint64 { return (*uint64)(unsafe.Pointer((uintptr(unsafe.Pointer(&aa.value)) + 7) &^ 7)) } +// Load is analagous to atomic.LoadUint64. func (aa *AlignedAtomicUint64) Load() uint64 { return atomic.LoadUint64(aa.ptr()) } +// Store is analagous to atomic.StoreUint64. func (aa *AlignedAtomicUint64) Store(v uint64) { atomic.StoreUint64(aa.ptr(), v) } +// Add is analagous to atomic.AddUint64. func (aa *AlignedAtomicUint64) Add(v uint64) uint64 { return atomic.AddUint64(aa.ptr(), v) } diff --git a/pkg/atomicbitops/aligned_64bit.go b/pkg/atomicbitops/aligned_64bit.go index 21043c53d..5898653d8 100644 --- a/pkg/atomicbitops/aligned_64bit.go +++ b/pkg/atomicbitops/aligned_64bit.go @@ -27,14 +27,17 @@ type AlignedAtomicInt64 struct { value int64 } +// Load is analagous to atomic.LoadInt64. func (aa *AlignedAtomicInt64) Load() int64 { return atomic.LoadInt64(&aa.value) } +// Store is analagous to atomic.StoreInt64. func (aa *AlignedAtomicInt64) Store(v int64) { atomic.StoreInt64(&aa.value, v) } +// Add is analagous to atomic.AddInt64. func (aa *AlignedAtomicInt64) Add(v int64) int64 { return atomic.AddInt64(&aa.value, v) } @@ -48,14 +51,17 @@ type AlignedAtomicUint64 struct { value uint64 } +// Load is analagous to atomic.LoadUint64. func (aa *AlignedAtomicUint64) Load() uint64 { return atomic.LoadUint64(&aa.value) } +// Store is analagous to atomic.StoreUint64. func (aa *AlignedAtomicUint64) Store(v uint64) { atomic.StoreUint64(&aa.value, v) } +// Add is analagous to atomic.AddUint64. func (aa *AlignedAtomicUint64) Add(v uint64) uint64 { return atomic.AddUint64(&aa.value, v) } |