- Sort Score
- Result 10 results
- Languages All
Results 1 - 2 of 2 for goXchg64 (0.21 sec)
-
src/internal/runtime/atomic/atomic_arm.go
} _ = *addr // if nil, fault before taking the lock var r uint64 addrLock(addr).lock() r = *addr + uint64(delta) *addr = r addrLock(addr).unlock() return r } //go:nosplit func goXchg64(addr *uint64, v uint64) uint64 { if uintptr(unsafe.Pointer(addr))&7 != 0 { *(*int)(nil) = 0 // crash on unaligned uint64 } _ = *addr // if nil, fault before taking the lock var r uint64 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) -
src/internal/runtime/atomic/atomic_arm.s
TEXT ·Xchg64(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 CMP $1, R11 BEQ 2(PC) JMP ·goXchg64(SB) #endif JMP armXchg64<>(SB) TEXT ·Load64(SB),NOSPLIT,$-4-12 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)