Skip to content

Commit

Permalink
fix uintptr conversion
Browse files Browse the repository at this point in the history
  • Loading branch information
mauri870 committed Oct 28, 2024
1 parent e6105c3 commit dd9a39a
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions src/internal/runtime/atomic/atomic_arm.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,8 @@ func Xchg8(addr *uint8, v uint8) uint8
//go:nosplit
func goXchg8(addr *uint8, v uint8) uint8 {
// Align down to 4 bytes and use 32-bit CAS.
uaddr := uintptr(unsafe.Pointer(addr))
addr32 := (*uint32)(unsafe.Pointer(uaddr &^ 3))
shift := (uaddr & 3) * 8 // little endian
addr32 := (*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(addr)) &^ 3))
shift := (uintptr(unsafe.Pointer(addr)) & 3) * 8 // little endian
word := uint32(v) << shift
mask := uint32(0xFF) << shift

Expand Down

0 comments on commit dd9a39a

Please sign in to comment.