Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 595 for Xadd (0.05 sec)

  1. src/internal/runtime/atomic/atomic_mipsx.s

    	MOVW	R1, ret+4(FP)
    	RET
    
    TEXT ·Load8(SB),NOSPLIT,$0-5
    	MOVW	ptr+0(FP), R1
    	SYNC
    	MOVB	0(R1), R1
    	SYNC
    	MOVB	R1, ret+4(FP)
    	RET
    
    // uint32 Xadd(uint32 volatile *val, int32 delta)
    // Atomically:
    //	*val += delta;
    //	return *val;
    TEXT ·Xadd(SB),NOSPLIT,$0-12
    	MOVW	ptr+0(FP), R2
    	MOVW	delta+4(FP), R3
    	SYNC
    try_xadd:
    	LL	(R2), R1	// R1 = *R2
    	ADDU	R1, R3, R4
    	MOVW	R4, R1
    	SC	R4, (R2)	// *R2 = R4
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 21:29:34 UTC 2024
    - 4.9K bytes
    - Viewed (0)
  2. src/internal/runtime/atomic/atomic_mips64x.s

    	JMP	·Load64(SB)
    
    TEXT ·Xaddint32(SB), NOSPLIT, $0-20
    	JMP	·Xadd(SB)
    
    TEXT ·Xaddint64(SB), NOSPLIT, $0-24
    	JMP	·Xadd64(SB)
    
    // bool casp(void **val, void *old, void *new)
    // Atomically:
    //	if(*val == old){
    //		*val = new;
    //		return 1;
    //	} else
    //		return 0;
    TEXT ·Casp1(SB), NOSPLIT, $0-25
    	JMP ·Cas64(SB)
    
    // uint32 xadd(uint32 volatile *ptr, int32 delta)
    // Atomically:
    //	*val += delta;
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 21:29:34 UTC 2024
    - 7.2K bytes
    - Viewed (0)
  3. src/internal/runtime/atomic/atomic_wasm.go

    //
    //go:linkname Load
    //go:linkname Loadp
    //go:linkname Load64
    //go:linkname Loadint32
    //go:linkname Loadint64
    //go:linkname Loaduintptr
    //go:linkname LoadAcquintptr
    //go:linkname Xadd
    //go:linkname Xaddint32
    //go:linkname Xaddint64
    //go:linkname Xadd64
    //go:linkname Xadduintptr
    //go:linkname Xchg
    //go:linkname Xchg64
    //go:linkname Xchgint32
    //go:linkname Xchgint64
    //go:linkname Xchguintptr
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 5.4K bytes
    - Viewed (0)
  4. src/internal/runtime/atomic/atomic_arm.go

    }
    
    func addrLock(addr *uint64) *spinlock {
    	return &locktab[(uintptr(unsafe.Pointer(addr))>>3)%uintptr(len(locktab))].l
    }
    
    // Atomic add and return new value.
    //
    //go:nosplit
    func Xadd(val *uint32, delta int32) uint32 {
    	for {
    		oval := *val
    		nval := oval + uint32(delta)
    		if Cas(val, oval, nval) {
    			return nval
    		}
    	}
    }
    
    //go:noescape
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 4.8K bytes
    - Viewed (0)
  5. src/internal/runtime/atomic/atomic_386.go

    func LoadAcquintptr(ptr *uintptr) uintptr {
    	return *ptr
    }
    
    //go:noescape
    func Xadd64(ptr *uint64, delta int64) uint64
    
    //go:noescape
    func Xadduintptr(ptr *uintptr, delta uintptr) uintptr
    
    //go:noescape
    func Xadd(ptr *uint32, delta int32) uint32
    
    //go:noescape
    func Xchg64(ptr *uint64, new uint64) uint64
    
    //go:noescape
    func Xchg(ptr *uint32, new uint32) uint32
    
    //go:noescape
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 2.2K bytes
    - Viewed (0)
  6. src/internal/runtime/atomic/atomic_mips64x.go

    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    //go:build mips64 || mips64le
    
    package atomic
    
    import "unsafe"
    
    //go:noescape
    func Xadd(ptr *uint32, delta int32) uint32
    
    //go:noescape
    func Xadd64(ptr *uint64, delta int64) uint64
    
    //go:noescape
    func Xadduintptr(ptr *uintptr, delta uintptr) uintptr
    
    //go:noescape
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 21:29:34 UTC 2024
    - 2.1K bytes
    - Viewed (0)
  7. src/internal/runtime/atomic/atomic_mipsx.go

    		}
    	}
    }
    
    //go:nosplit
    func And64(addr *uint64, val uint64) (old uint64) {
    	for {
    		old = *addr
    		if Cas64(addr, old, old&val) {
    			return old
    		}
    	}
    }
    
    //go:noescape
    func Xadd(ptr *uint32, delta int32) uint32
    
    //go:noescape
    func Xadduintptr(ptr *uintptr, delta uintptr) uintptr
    
    //go:noescape
    func Xchg(ptr *uint32, new uint32) uint32
    
    //go:noescape
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 20:08:37 UTC 2024
    - 3.2K bytes
    - Viewed (0)
  8. src/cmd/link/internal/ld/data.go

    			// pass through to the external linker.
    			rr.Xadd = 0
    			if target.IsElf() {
    				rr.Xadd -= int64(siz)
    			}
    			rr.Xsym = rs
    			break
    		}
    		if rs != 0 && (ldr.SymSect(rs) != ldr.SymSect(s) || rt == objabi.R_GOTPCREL) {
    			// set up addend for eventual relocation via outer symbol.
    			rs := rs
    			rs, off := FoldSubSymbolOffset(ldr, rs)
    			rr.Xadd = r.Add() + off
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jun 12 15:10:50 UTC 2024
    - 100.5K bytes
    - Viewed (0)
  9. src/runtime/sema.go

    		if t0 == 0 {
    			t0 = cputicks()
    		}
    		s.acquiretime = t0
    	}
    	for {
    		lockWithRank(&root.lock, lockRankRoot)
    		// Add ourselves to nwait to disable "easy case" in semrelease.
    		root.nwait.Add(1)
    		// Check cansemacquire to avoid missed wakeup.
    		if cansemacquire(addr) {
    			root.nwait.Add(-1)
    			unlock(&root.lock)
    			break
    		}
    		// Any semrelease after the cansemacquire knows we're waiting
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 19K bytes
    - Viewed (0)
  10. src/runtime/mgcmark.go

    				job := atomic.Xadd(&work.markrootNext, +1) - 1
    				if job < work.markrootJobs {
    					workFlushed += markroot(gcw, job, false)
    					continue
    				}
    			}
    			// No heap or root jobs.
    			break
    		}
    
    		scanobject(b, gcw)
    
    		// Flush background scan work credit.
    		if gcw.heapScanWork >= gcCreditSlack {
    			gcController.heapScanWork.Add(gcw.heapScanWork)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 18 21:25:11 UTC 2024
    - 52.5K bytes
    - Viewed (0)
Back to top