Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 7 of 7 for Or8 (0.1 sec)

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

    //go:noescape
    func LoadAcq64(ptr *uint64) uint64
    
    //go:noescape
    func LoadAcquintptr(ptr *uintptr) uintptr
    
    //go:noescape
    func And8(ptr *uint8, val uint8)
    
    //go:noescape
    func Or8(ptr *uint8, val uint8)
    
    // NOTE: Do not add atomicxor8 (XOR is not idempotent).
    
    //go:noescape
    func And(ptr *uint32, val uint32)
    
    //go:noescape
    func Or(ptr *uint32, val uint32)
    
    //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)
  2. src/internal/runtime/atomic/atomic_mipsx.s

    TEXT ·StorepNoWB(SB),NOSPLIT,$0-8
    	JMP	·Store(SB)
    
    TEXT ·StoreRel(SB),NOSPLIT,$0-8
    	JMP	·Store(SB)
    
    TEXT ·StoreReluintptr(SB),NOSPLIT,$0-8
    	JMP	·Store(SB)
    
    // void	Or8(byte volatile*, byte);
    TEXT ·Or8(SB),NOSPLIT,$0-5
    	MOVW	ptr+0(FP), R1
    	MOVBU	val+4(FP), R2
    	MOVW	$~3, R3	// Align ptr down to 4 bytes so we can use 32-bit load/store.
    	AND	R1, R3
    #ifdef GOARCH_mips
    	// Big endian.  ptr = ptr ^ 3
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 21:29:34 UTC 2024
    - 4.9K bytes
    - Viewed (0)
  3. src/internal/runtime/atomic/atomic_386.go

    //go:noescape
    func Load64(ptr *uint64) uint64
    
    //go:nosplit
    //go:noinline
    func Load8(ptr *uint8) uint8 {
    	return *ptr
    }
    
    //go:noescape
    func And8(ptr *uint8, val uint8)
    
    //go:noescape
    func Or8(ptr *uint8, val uint8)
    
    //go:noescape
    func And(ptr *uint32, val uint32)
    
    //go:noescape
    func Or(ptr *uint32, val uint32)
    
    //go:noescape
    func And32(ptr *uint32, val 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)
  4. src/internal/runtime/atomic/atomic_mipsx.go

    //go:noescape
    func LoadAcq(ptr *uint32) uint32
    
    //go:noescape
    func LoadAcquintptr(ptr *uintptr) uintptr
    
    //go:noescape
    func And8(ptr *uint8, val uint8)
    
    //go:noescape
    func Or8(ptr *uint8, val uint8)
    
    //go:noescape
    func And(ptr *uint32, val uint32)
    
    //go:noescape
    func Or(ptr *uint32, val uint32)
    
    //go:noescape
    func And32(ptr *uint32, val 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)
  5. src/internal/runtime/atomic/atomic_mips64x.s

    	SYNC
    	MOVB	R2, 0(R1)
    	SYNC
    	RET
    
    TEXT ·Store64(SB), NOSPLIT, $0-16
    	MOVV	ptr+0(FP), R1
    	MOVV	val+8(FP), R2
    	SYNC
    	MOVV	R2, 0(R1)
    	SYNC
    	RET
    
    // void	Or8(byte volatile*, byte);
    TEXT ·Or8(SB), NOSPLIT, $0-9
    	MOVV	ptr+0(FP), R1
    	MOVBU	val+8(FP), R2
    	// Align ptr down to 4 bytes so we can use 32-bit load/store.
    	MOVV	$~3, R3
    	AND	R1, R3
    	// Compute val shift.
    #ifdef GOARCH_mips64
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 21:29:34 UTC 2024
    - 7.2K bytes
    - Viewed (0)
  6. src/internal/runtime/atomic/atomic_wasm.go

    	old := *ptr
    	*ptr = new
    	return old
    }
    
    //go:nosplit
    //go:noinline
    func And8(ptr *uint8, val uint8) {
    	*ptr = *ptr & val
    }
    
    //go:nosplit
    //go:noinline
    func Or8(ptr *uint8, val uint8) {
    	*ptr = *ptr | val
    }
    
    // NOTE: Do not add atomicxor8 (XOR is not idempotent).
    
    //go:nosplit
    //go:noinline
    func And(ptr *uint32, val uint32) {
    	*ptr = *ptr & val
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 5.4K bytes
    - Viewed (0)
  7. src/internal/runtime/atomic/atomic_arm.go

    		*(*int)(nil) = 0 // crash on unaligned uint64
    	}
    	_ = *addr // if nil, fault before taking the lock
    	addrLock(addr).lock()
    	*addr = v
    	addrLock(addr).unlock()
    }
    
    //go:nosplit
    func Or8(addr *uint8, v uint8) {
    	// Align down to 4 bytes and use 32-bit CAS.
    	uaddr := uintptr(unsafe.Pointer(addr))
    	addr32 := (*uint32)(unsafe.Pointer(uaddr &^ 3))
    	word := uint32(v) << ((uaddr & 3) * 8) // little endian
    	for {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 4.8K bytes
    - Viewed (0)
Back to top