Search Options

Results per page
Sort
Preferred Languages
Advance

Results 21 - 30 of 52 for Or8 (0.07 sec)

  1. 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)
  2. src/cmd/compile/internal/ssa/_gen/generic.rules

    (Or16 (Or16 i:(Const16 <t>) z) x) && (z.Op != OpConst16 && x.Op != OpConst16) => (Or16 i (Or16 <t> z x))
    (Or8  (Or8  i:(Const8  <t>) z) x) && (z.Op != OpConst8  && x.Op != OpConst8)  => (Or8  i (Or8  <t> z x))
    
    // x ^ (C ^ z) -> C ^ (x ^ z)
    (Xor64 (Xor64 i:(Const64 <t>) z) x) && (z.Op != OpConst64 && x.Op != OpConst64) => (Xor64 i (Xor64 <t> z x))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 16 22:21:05 UTC 2024
    - 135.3K bytes
    - Viewed (0)
  3. 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)
  4. src/internal/runtime/atomic/atomic_arm64.s

    #endif
    	MVN 	R1, R2
    	LDCLRALB	R2, (R0), R3
    	RET
    #ifndef GOARM64_LSE
    load_store_loop:
    	LDAXRB	(R0), R2
    	AND	R1, R2
    	STLXRB	R2, (R0), R3
    	CBNZ	R3, load_store_loop
    	RET
    #endif
    
    TEXT ·Or8(SB), NOSPLIT, $0-9
    	MOVD	ptr+0(FP), R0
    	MOVB	val+8(FP), R1
    #ifndef GOARM64_LSE
    	MOVBU	internal∕cpu·ARM64+const_offsetARM64HasATOMICS(SB), R4
    	CBZ 	R4, load_store_loop
    #endif
    	LDORALB	R1, (R0), R2
    	RET
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 9K bytes
    - Viewed (0)
  5. src/runtime/mwbbuf.go

    		if mbits.isMarked() {
    			continue
    		}
    		mbits.setMarked()
    
    		// Mark span.
    		arena, pageIdx, pageMask := pageIndexOf(span.base())
    		if arena.pageMarks[pageIdx]&pageMask == 0 {
    			atomic.Or8(&arena.pageMarks[pageIdx], pageMask)
    		}
    
    		if span.spanclass.noscan() {
    			gcw.bytesMarked += uint64(span.elemsize)
    			continue
    		}
    		ptrs[pos] = obj
    		pos++
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 8.1K bytes
    - Viewed (0)
  6. src/runtime/pinner.go

    // sets/unsets the multipin bit instead.
    func (v *pinState) set(val bool, multipin bool) {
    	mask := v.mask
    	if multipin {
    		mask <<= 1
    	}
    	if val {
    		atomic.Or8(v.bytep, mask)
    	} else {
    		atomic.And8(v.bytep, ^mask)
    	}
    }
    
    // pinnerBits is the same type as gcBits but has different methods.
    type pinnerBits gcBits
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 04 14:29:45 UTC 2024
    - 11K bytes
    - Viewed (0)
  7. src/runtime/runtime1.go

    		throw("cas4")
    	}
    
    	z = 0xffffffff
    	if !atomic.Cas(&z, 0xffffffff, 0xfffffffe) {
    		throw("cas5")
    	}
    	if z != 0xfffffffe {
    		throw("cas6")
    	}
    
    	m = [4]byte{1, 1, 1, 1}
    	atomic.Or8(&m[1], 0xf0)
    	if m[0] != 1 || m[1] != 0xf1 || m[2] != 1 || m[3] != 1 {
    		throw("atomicor8")
    	}
    
    	m = [4]byte{0xff, 0xff, 0xff, 0xff}
    	atomic.And8(&m[1], 0x1)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:52:17 UTC 2024
    - 19.3K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/_gen/Wasm.rules

    (Rsh8x64 [c] x y)  => (Rsh64x64 [c] (SignExt8to64 x) y)
    (Rsh8x(32|16|8) [c] x y)  => (Rsh64x64 [c] (SignExt8to64 x) (ZeroExt(32|16|8)to64 y))
    
    // Lowering rotates
    (RotateLeft8 <t> x (I64Const [c])) => (Or8 (Lsh8x64 <t> x (I64Const [c&7])) (Rsh8Ux64 <t> x (I64Const [-c&7])))
    (RotateLeft16 <t> x (I64Const [c])) => (Or16 (Lsh16x64 <t> x (I64Const [c&15])) (Rsh16Ux64 <t> x (I64Const [-c&15])))
    (RotateLeft32 ...) => (I32Rotl ...)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Feb 17 03:56:57 UTC 2023
    - 16.9K bytes
    - Viewed (0)
  9. src/internal/runtime/atomic/types.go

    // Or takes value and performs a bit-wise
    // "or" operation with the value of u, storing
    // the result into u.
    //
    // The full process is performed atomically.
    //
    //go:nosplit
    func (u *Uint8) Or(value uint8) {
    	Or8(&u.value, value)
    }
    
    // Bool is an atomically accessed bool value.
    //
    // A Bool must not be copied.
    type Bool struct {
    	// Inherits noCopy from Uint8.
    	u Uint8
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 14.2K bytes
    - Viewed (0)
  10. src/runtime/mgcmark.go

    		if mbits.isMarked() {
    			return
    		}
    		mbits.setMarked()
    
    		// Mark span.
    		arena, pageIdx, pageMask := pageIndexOf(span.base())
    		if arena.pageMarks[pageIdx]&pageMask == 0 {
    			atomic.Or8(&arena.pageMarks[pageIdx], pageMask)
    		}
    
    		// If this is a noscan object, fast-track it to black
    		// instead of greying it.
    		if span.spanclass.noscan() {
    			gcw.bytesMarked += uint64(span.elemsize)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 18 21:25:11 UTC 2024
    - 52.5K bytes
    - Viewed (0)
Back to top