- Sort Score
- Result 10 results
- Languages All
Results 31 - 40 of 55 for notinheap (0.15 sec)
-
src/runtime/mcentral.go
package runtime import ( "internal/runtime/atomic" "runtime/internal/sys" ) // Central list of free objects of a given size. type mcentral struct { _ sys.NotInHeap spanclass spanClass // partial and full contain two mspan sets: one of swept in-use // spans, and one of unswept in-use spans. These two trade // roles on each GC cycle. The unswept set is drained either by
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 8.1K bytes - Viewed (0) -
src/runtime/netpoll.go
const ( pdNil uintptr = 0 pdReady uintptr = 1 pdWait uintptr = 2 ) const pollBlockSize = 4 * 1024 // Network poller descriptor. // // No heap pointers. type pollDesc struct { _ sys.NotInHeap link *pollDesc // in pollcache, protected by pollcache.lock fd uintptr // constant for pollDesc usage lifetime fdseq atomic.Uintptr // protects against stale pollDesc
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 15 19:57:43 UTC 2024 - 20.7K bytes - Viewed (0) -
src/runtime/mcache.go
// No locking needed because it is per-thread (per-P). // // mcaches are allocated from non-GC'd memory, so any heap pointers // must be specially handled. type mcache struct { _ sys.NotInHeap // The following members are accessed on every malloc, // so they are grouped here for better caching. nextSample uintptr // trigger heap sample after allocating this many bytes
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 10K bytes - Viewed (0) -
src/runtime/mspanset.go
return ht } // reset clears the headTailIndex to (0, 0). func (h *atomicHeadTailIndex) reset() { h.u.Store(0) } // atomicMSpanPointer is an atomic.Pointer[mspan]. Can't use generics because it's NotInHeap. type atomicMSpanPointer struct { p atomic.UnsafePointer } // Load returns the *mspan. func (p *atomicMSpanPointer) Load() *mspan { return (*mspan)(p.p.Load()) } // Store stores an *mspan.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 13.1K bytes - Viewed (0) -
src/runtime/mgcwork.go
// avoid contending on the global work buffer lists. type workbufhdr struct { node lfnode // must be first nobj int } type workbuf struct { _ sys.NotInHeap workbufhdr // account for the above fields obj [(_WorkbufSize - unsafe.Sizeof(workbufhdr{})) / goarch.PtrSize]uintptr } // workbuf factory routines. These funcs are used to manage the // workbufs.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 12.9K bytes - Viewed (0) -
src/go/internal/gccgoimporter/parser.go
obj := scope.Lookup(name) if obj != nil && obj.Type() == nil { p.errorf("%v has nil type", obj) } if p.tok == scanner.Ident && p.lit == "notinheap" { p.next() // The go/types package has no way of recording that // this type is marked notinheap. Presumably no user // of this package actually cares. } // type alias if p.tok == '=' { p.next()
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Feb 02 23:14:07 UTC 2024 - 31.2K bytes - Viewed (0) -
src/runtime/HACKING.md
reused by the same fixalloc pool, so it can only be reused for objects of the same type. In general, types that are allocated using any of these should be marked as not in heap by embedding `runtime/internal/sys.NotInHeap`. Objects that are allocated in unmanaged memory **must not** contain heap pointers unless the following rules are also obeyed: 1. Any pointers from unmanaged memory to the heap must be garbage
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/mfinal.go
// must be specially handled. GC currently assumes that the finalizer // queue does not grow during marking (but it can shrink). type finblock struct { _ sys.NotInHeap alllink *finblock next *finblock cnt uint32 _ int32 fin [(_FinBlockSize - 2*goarch.PtrSize - 2*4) / unsafe.Sizeof(finalizer{})]finalizer } var fingStatus atomic.Uint32
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 01:56:56 UTC 2024 - 19K bytes - Viewed (0) -
src/cmd/compile/internal/walk/assign.go
r := recv.X // the channel return mkcall1(chanfn("chanrecv1", 2, r.Type()), nil, init, r, n1) case ir.OAPPEND: // x = append(...) call := as.Y.(*ir.CallExpr) if call.Type().Elem().NotInHeap() { base.Errorf("%v can't be allocated in Go; it is incomplete (or unallocatable)", call.Type().Elem()) } var r ir.Node switch { case isAppendOfMake(call): // x = append(y, make([]T, y)...)
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/typecheck/func.go
if n.X.Type() == nil || n.Y.Type() == nil { n.SetType(nil) return n } t := n.X.Type() if !t.IsPtr() { base.Errorf("first argument to unsafe.Slice must be pointer; have %L", t) } else if t.Elem().NotInHeap() { // TODO(mdempsky): This can be relaxed, but should only affect the // Go runtime itself. End users should only see not-in-heap // types due to incomplete C structs in cgo, and those types don't
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Mar 06 15:23:18 UTC 2024 - 21.1K bytes - Viewed (0)