Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 2 of 2 for goCas64 (0.23 sec)

  1. src/internal/runtime/atomic/atomic_arm.go

    //go:noescape
    func Store(addr *uint32, v uint32)
    
    //go:noescape
    func StoreRel(addr *uint32, v uint32)
    
    //go:noescape
    func StoreReluintptr(addr *uintptr, v uintptr)
    
    //go:nosplit
    func goCas64(addr *uint64, old, new uint64) bool {
    	if uintptr(unsafe.Pointer(addr))&7 != 0 {
    		*(*int)(nil) = 0 // crash on unaligned uint64
    	}
    	_ = *addr // if nil, fault before taking the lock
    	var ok bool
    	addrLock(addr).lock()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 4.8K bytes
    - Viewed (0)
  2. src/internal/runtime/atomic/atomic_arm.s

    TEXT ·Cas64(SB),NOSPLIT,$-4-21
    	NO_LOCAL_POINTERS
    	MOVW	addr+0(FP), R1
    	CHECK_ALIGN
    
    #ifndef GOARM_7
    	MOVB	internal∕cpu·ARM+const_offsetARMHasV7Atomics(SB), R11
    	CMP	$1, R11
    	BEQ	2(PC)
    	JMP	·goCas64(SB)
    #endif
    	JMP	armCas64<>(SB)
    
    TEXT ·Xadd64(SB),NOSPLIT,$-4-20
    	NO_LOCAL_POINTERS
    	MOVW	addr+0(FP), R1
    	CHECK_ALIGN
    
    #ifndef GOARM_7
    	MOVB	internal∕cpu·ARM+const_offsetARMHasV7Atomics(SB), R11
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 5.7K bytes
    - Viewed (0)
Back to top