- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 148 for zeroing (0.2 sec)
-
src/runtime/HACKING.md
before they become visible as GC roots. Otherwise, the GC may observe stale heap pointers. See "Zero-initialization versus zeroing". Zero-initialization versus zeroing ================================== There are two types of zeroing in the runtime, depending on whether the memory is already initialized to a type-safe state. If memory is not in a type-safe state, meaning it potentially contains
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 13.9K bytes - Viewed (0) -
src/runtime/slice.go
var to unsafe.Pointer if !et.Pointers() { to = mallocgc(tomem, nil, false) if copymem < tomem { memclrNoHeapPointers(add(to, copymem), tomem-copymem) } } else { // Note: can't use rawmem (which avoids zeroing of memory), because then GC can scan uninitialized memory. to = mallocgc(tomem, et, true) if copymem > 0 && writeBarrier.enabled { // Only shade the pointers in old.array since we know the destination slice to
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 16:25:21 UTC 2024 - 12.2K bytes - Viewed (0) -
src/runtime/mbarrier.go
if goexperiment.CgoCheck2 { cgoCheckMemmove2(typ, dst, src, 0, typ.Size_) } } // wbZero performs the write barrier operations necessary before // zeroing a region of memory at address dst of type typ. // Does not actually do the zeroing. // //go:nowritebarrierrec //go:nosplit func wbZero(typ *_type, dst unsafe.Pointer) { // This always copies a full value of type typ so it's safe
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 17:58:53 UTC 2024 - 15.7K bytes - Viewed (0) -
src/cmd/compile/internal/walk/assign.go
} else { n.(*ir.AssignStmt).X = left } as := n.(*ir.AssignStmt) if oaslit(as, init) { return ir.NewBlockStmt(as.Pos(), nil) } if as.Y == nil { // TODO(austin): Check all "implicit zeroing" return as } if !base.Flag.Cfg.Instrumenting && ir.IsZero(as.Y) { return as } switch as.Y.Op() { default: as.Y = walkExpr(as.Y, init) case ir.ORECV:
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 08 17:09:06 UTC 2024 - 20.3K bytes - Viewed (0) -
src/cmd/compile/internal/ssagen/pgen.go
// Sort pointer-typed before non-pointer types. // Keeps the stack's GC bitmap compact. ap := a.Type().HasPointers() bp := b.Type().HasPointers() if ap != bp { return ap } // Group variables that need zeroing, so we can efficiently zero // them altogether. ap = a.Needzero() bp = b.Needzero() if ap != bp { return ap } // Sort variables in descending alignment order, so we can optimally
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 15 15:44:14 UTC 2024 - 13.1K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/_gen/RISCV64.rules
(MOVDstore ptr (MOVDconst [0]) mem)))) // Medium 8-aligned zeroing uses a Duff's device // 8 and 128 are magic constants, see runtime/mkduff.go (Zero [s] {t} ptr mem) && s%8 == 0 && s <= 8*128 && t.Alignment()%8 == 0 && !config.noDuffDevice => (DUFFZERO [8 * (128 - s/8)] ptr mem) // Generic zeroing uses a loop (Zero [s] {t} ptr mem) => (LoweredZero [t.Alignment()] ptr
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Mar 07 14:57:07 UTC 2024 - 40.3K bytes - Viewed (0) -
src/runtime/arena.go
// not Linux decides to back this memory with transparent huge // pages. There's latency involved in this zeroing, but the hugepage // gains are almost always worth it. Note: it's important that we // clear even if it's freshly mapped and we know there's no point // to zeroing as *that* is the critical signal to use huge pages. memclrNoHeapPointers(unsafe.Pointer(s.base()), s.elemsize) s.needzero = 0
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 08 17:44:56 UTC 2024 - 37.9K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/block.go
b.Kind = kind b.ResetControls() b.Aux = nil b.AuxInt = 0 b.Controls[0] = v b.Controls[1] = w v.Uses++ w.Uses++ } // truncateValues truncates b.Values at the ith element, zeroing subsequent elements. // The values in b.Values after i must already have had their args reset, // to maintain correct value uses counts. func (b *Block) truncateValues(i int) { tail := b.Values[i:]
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 15 15:44:14 UTC 2024 - 12.2K bytes - Viewed (0) -
android/guava/src/com/google/common/primitives/UnsignedBytes.java
* corresponds to the least significant nonzero byte in lw ^ rw, since lw and rw are * little-endian. Long.numberOfTrailingZeros(diff) tells us the least significant * nonzero bit, and zeroing out the first three bits of L.nTZ gives us the shift to get * that least significant nonzero byte. */ int n = Long.numberOfTrailingZeros(lw ^ rw) & ~0x7;
Registered: Wed Jun 12 16:38:11 UTC 2024 - Last Modified: Fri Jun 07 22:25:23 UTC 2024 - 18.3K bytes - Viewed (0) -
guava/src/com/google/common/primitives/UnsignedBytes.java
* corresponds to the least significant nonzero byte in lw ^ rw, since lw and rw are * little-endian. Long.numberOfTrailingZeros(diff) tells us the least significant * nonzero bit, and zeroing out the first three bits of L.nTZ gives us the shift to get * that least significant nonzero byte. */ int n = Long.numberOfTrailingZeros(lw ^ rw) & ~0x7;
Registered: Wed Jun 12 16:38:11 UTC 2024 - Last Modified: Fri Jun 07 22:25:23 UTC 2024 - 18.3K bytes - Viewed (0)