- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 27 for Xchg64 (0.12 sec)
-
src/internal/runtime/atomic/atomic_amd64.s
MOVL AX, ret+16(FP) RET // uint64 Xchg64(ptr *uint64, new uint64) // Atomically: // old := *ptr; // *ptr = new; // return old; TEXT ·Xchg64(SB), NOSPLIT, $0-24 MOVQ ptr+0(FP), BX MOVQ new+8(FP), AX XCHGQ AX, 0(BX) MOVQ AX, ret+16(FP) RET TEXT ·Xchgint32(SB), NOSPLIT, $0-20 JMP ·Xchg(SB) TEXT ·Xchgint64(SB), NOSPLIT, $0-24 JMP ·Xchg64(SB) TEXT ·Xchguintptr(SB), NOSPLIT, $0-24
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 5.2K bytes - Viewed (0) -
src/internal/runtime/atomic/atomic_mipsx.go
// license that can be found in the LICENSE file. //go:build mips || mipsle // Export some functions via linkname to assembly in sync/atomic. // //go:linkname Xadd64 //go:linkname Xchg64 //go:linkname Cas64 //go:linkname Load64 //go:linkname Store64 //go:linkname Or64 //go:linkname And64 package atomic import ( "internal/cpu" "unsafe" ) // TODO implement lock striping
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 20:08:37 UTC 2024 - 3.2K bytes - Viewed (0) -
src/internal/runtime/atomic/atomic_mips64x.s
MOVW new+8(FP), R5 SYNC MOVV R5, R3 LL (R2), R1 SC R3, (R2) BEQ R3, -3(PC) MOVW R1, ret+16(FP) SYNC RET // uint64 Xchg64(ptr *uint64, new uint64) // Atomically: // old := *ptr; // *ptr = new; // return old; TEXT ·Xchg64(SB), NOSPLIT, $0-24 MOVV ptr+0(FP), R2 MOVV new+8(FP), R5 SYNC MOVV R5, R3 LLV (R2), R1 SCV R3, (R2) BEQ R3, -3(PC)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Sat May 11 21:29:34 UTC 2024 - 7.2K bytes - Viewed (0) -
src/internal/runtime/atomic/atomic_s390x.s
MOVD ptr+0(FP), R4 MOVW new+8(FP), R3 MOVW (R4), R6 repeat: CS R6, R3, (R4) // if R6==(R4) then (R4)=R3 else R6=(R4) BNE repeat MOVW R6, ret+16(FP) RET // func Xchg64(ptr *uint64, new uint64) uint64 TEXT ·Xchg64(SB), NOSPLIT, $0-24 MOVD ptr+0(FP), R4 MOVD new+8(FP), R3 MOVD (R4), R6 repeat: CSG R6, R3, (R4) // if R6==(R4) then (R4)=R3 else R6=(R4) BNE repeat MOVD R6, ret+16(FP) RET
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 7.1K bytes - Viewed (0) -
src/internal/runtime/atomic/atomic_riscv64.s
// func Xchg(ptr *uint32, new uint32) uint32 TEXT ·Xchg(SB), NOSPLIT, $0-20 MOV ptr+0(FP), A0 MOVW new+8(FP), A1 AMOSWAPW A1, (A0), A1 MOVW A1, ret+16(FP) RET // func Xchg64(ptr *uint64, new uint64) uint64 TEXT ·Xchg64(SB), NOSPLIT, $0-24 MOV ptr+0(FP), A0 MOV new+8(FP), A1 AMOSWAPD A1, (A0), A1 MOV A1, ret+16(FP) RET // Atomically: // *val += delta; // return *val;
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 7K bytes - Viewed (0) -
src/internal/runtime/atomic/atomic_arm64.s
#ifndef GOARM64_LSE load_store_loop: LDAXRW (R0), R2 STLXRW R1, (R0), R3 CBNZ R3, load_store_loop MOVW R2, ret+16(FP) RET #endif // uint64 Xchg64(ptr *uint64, new uint64) // Atomically: // old := *ptr; // *ptr = new; // return old; TEXT ·Xchg64(SB), NOSPLIT, $0-24 MOVD ptr+0(FP), R0 MOVD new+8(FP), R1 #ifndef GOARM64_LSE MOVBU internal∕cpu·ARM64+const_offsetARM64HasATOMICS(SB), R4
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 9K bytes - Viewed (0) -
src/internal/runtime/atomic/atomic_ppc64x.s
MOVW new+8(FP), R5 LWSYNC LWAR (R4), R3 STWCCC R5, (R4) BNE -2(PC) ISYNC MOVW R3, ret+16(FP) RET // uint64 Xchg64(ptr *uint64, new uint64) // Atomically: // old := *ptr; // *ptr = new; // return old; TEXT ·Xchg64(SB), NOSPLIT, $0-24 MOVD ptr+0(FP), R4 MOVD new+8(FP), R5 LWSYNC LDAR (R4), R3 STDCCC R5, (R4) BNE -2(PC) ISYNC MOVD R3, ret+16(FP)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 7.5K bytes - Viewed (0) -
src/internal/runtime/atomic/atomic_wasm.go
//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 //go:linkname Cas //go:linkname Cas64 //go:linkname Casint32 //go:linkname Casint64 //go:linkname Casuintptr //go:linkname Store
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 15 19:57:43 UTC 2024 - 5.4K bytes - Viewed (0) -
src/internal/runtime/atomic/atomic_mips64x.go
//go:noescape func Xadd64(ptr *uint64, delta int64) uint64 //go:noescape func Xadduintptr(ptr *uintptr, delta uintptr) uintptr //go:noescape func Xchg(ptr *uint32, new uint32) uint32 //go:noescape func Xchg64(ptr *uint64, new uint64) uint64 //go:noescape func Xchguintptr(ptr *uintptr, new uintptr) uintptr //go:noescape func Load(ptr *uint32) uint32 //go:noescape func Load8(ptr *uint8) uint8
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Sat May 11 21:29:34 UTC 2024 - 2.1K bytes - Viewed (0) -
src/internal/runtime/atomic/atomic_386.go
//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 func Xchguintptr(ptr *uintptr, new uintptr) uintptr //go:noescape func Load64(ptr *uint64) uint64
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 15 19:57:43 UTC 2024 - 2.2K bytes - Viewed (0)