Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for SwapPointer (0.13 sec)

  1. src/runtime/atomic_pointer.go

    }
    
    //go:linkname sync_atomic_SwapUintptr sync/atomic.SwapUintptr
    func sync_atomic_SwapUintptr(ptr *uintptr, new uintptr) uintptr
    
    //go:linkname sync_atomic_SwapPointer sync/atomic.SwapPointer
    //go:nosplit
    func sync_atomic_SwapPointer(ptr *unsafe.Pointer, new unsafe.Pointer) unsafe.Pointer {
    	if writeBarrier.enabled {
    		atomicwb(ptr, new)
    	}
    	if goexperiment.CgoCheck2 {
    		cgoCheckPtrWrite(ptr, new)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 4K bytes
    - Viewed (0)
  2. src/sync/atomic/doc.go

    // Consider using the more ergonomic and less error-prone [Uintptr.Swap] instead.
    func SwapUintptr(addr *uintptr, new uintptr) (old uintptr)
    
    // SwapPointer atomically stores new into *addr and returns the previous *addr value.
    // Consider using the more ergonomic and less error-prone [Pointer.Swap] instead.
    func SwapPointer(addr *unsafe.Pointer, new unsafe.Pointer) (old unsafe.Pointer)
    
    // CompareAndSwapInt32 executes the compare-and-swap operation for an int32 value.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 21:14:51 UTC 2024
    - 11.7K bytes
    - Viewed (0)
  3. src/sync/atomic/type.go

    func (x *Pointer[T]) Store(val *T) { StorePointer(&x.v, unsafe.Pointer(val)) }
    
    // Swap atomically stores new into x and returns the previous value.
    func (x *Pointer[T]) Swap(new *T) (old *T) { return (*T)(SwapPointer(&x.v, unsafe.Pointer(new))) }
    
    // CompareAndSwap executes the compare-and-swap operation for x.
    func (x *Pointer[T]) CompareAndSwap(old, new *T) (swapped bool) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:37:29 UTC 2024
    - 8.5K bytes
    - Viewed (0)
  4. src/sync/atomic/atomic_test.go

    		after  uintptr
    	}
    	var m uint64 = magic64
    	magicptr := uintptr(m)
    	x.before = magicptr
    	x.after = magicptr
    	var j unsafe.Pointer
    
    	for _, p := range testPointers() {
    		k := SwapPointer(&x.i, p)
    		if x.i != p || k != j {
    			t.Fatalf("p=%p i=%p j=%p k=%p", p, x.i, j, k)
    		}
    		j = p
    	}
    	if x.before != magicptr || x.after != magicptr {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:37:29 UTC 2024
    - 71.4K bytes
    - Viewed (0)
Back to top