var Fadd64 …
var Fsub64 …
var Fmul64 …
var Fdiv64 …
var F64to32 …
var F32to64 …
var Fcmp64 …
var Fintto64 …
var F64toint …
var Entersyscall …
var Exitsyscall …
var LockedOSThread …
var Xadduintptr …
var ReadRandomFailed …
var Fastlog2 …
var Atoi …
var Atoi32 …
var ParseByteCount …
var Nanotime …
var NetpollBreak …
var Usleep …
var PhysPageSize …
var PhysHugePageSize …
var NetpollGenericInit …
var Memmove …
var MemclrNoHeapPointers …
var CgoCheckPointer …
const CrashStackImplemented …
const TracebackInnerFrames …
const TracebackOuterFrames …
var MapKeys …
var MapValues …
var LockPartialOrder …
type TimeTimer …
type LockRank …
func (l LockRank) String() string { … }
const PreemptMSupported …
type LFNode …
func LFStackPush(head *uint64, node *LFNode) { … }
func LFStackPop(head *uint64) *LFNode { … }
func LFNodeValidate(node *LFNode) { … }
func Netpoll(delta int64) { … }
func GCMask(x any) (ret []byte) { … }
func RunSchedLocalQueueTest() { … }
func RunSchedLocalQueueStealTest() { … }
func RunSchedLocalQueueEmptyTest(iters int) { … }
var StringHash …
var BytesHash …
var Int32Hash …
var Int64Hash …
var MemHash …
var MemHash32 …
var MemHash64 …
var EfaceHash …
var IfaceHash …
var UseAeshash …
func MemclrBytes(b []byte) { … }
const HashLoad …
func GostringW(w []uint16) (s string) { … }
var Open …
var Close …
var Read …
var Write …
func Envs() []string { … }
func SetEnvs(e []string) { … }
const PtrSize …
var ForceGCPeriod …
func SetTracebackEnv(level string) { … }
var ReadUnaligned32 …
var ReadUnaligned64 …
func CountPagesInUse() (pagesInUse, counted uintptr) { … }
func Fastrand() uint32 { … }
func Fastrand64() uint64 { … }
func Fastrandn(n uint32) uint32 { … }
type ProfBuf …
func NewProfBuf(hdrsize, bufwords, tags int) *ProfBuf { … }
func (p *ProfBuf) Write(tag *unsafe.Pointer, now int64, hdr []uint64, stk []uintptr) { … }
const ProfBufBlocking …
const ProfBufNonBlocking …
func (p *ProfBuf) Read(mode profBufReadMode) ([]uint64, []unsafe.Pointer, bool) { … }
func (p *ProfBuf) Close() { … }
type CPUStats …
func ReadCPUStats() CPUStats { … }
func ReadMetricsSlow(memStats *MemStats, samplesp unsafe.Pointer, len, cap int) { … }
var DoubleCheckReadMemStats …
func ReadMemStatsSlow() (base, slow MemStats) { … }
func ShrinkStackAndVerifyFramePointers() { … }
func BlockOnSystemStack() { … }
func blockOnSystemStackInternal() { … }
type RWMutex …
func (rw *RWMutex) Init() { … }
func (rw *RWMutex) RLock() { … }
func (rw *RWMutex) RUnlock() { … }
func (rw *RWMutex) Lock() { … }
func (rw *RWMutex) Unlock() { … }
func LockOSCounts() (external, internal uint32) { … }
func TracebackSystemstack(stk []uintptr, i int) int { … }
func KeepNArenaHints(n int) { … }
func MapNextArenaHint() (start, end uintptr, ok bool) { … }
func GetNextArenaHint() uintptr { … }
type G …
type Sudog …
func Getg() *G { … }
func Goid() uint64 { … }
func GIsWaitingOnMutex(gp *G) bool { … }
var CasGStatusAlwaysTrack …
func PanicForTesting(b []byte, i int) byte { … }
func unexportedPanicForTesting(b []byte, i int) byte { … }
func G0StackOverflow() { … }
func stackOverflow(x *byte) { … }
func RunGetgThreadSwitchTest() { … }
const PageSize …
const PallocChunkPages …
const PageAlloc64Bit …
const PallocSumBytes …
type PallocSum …
func PackPallocSum(start, max, end uint) PallocSum { … }
func (m PallocSum) Start() uint { … }
func (m PallocSum) Max() uint { … }
func (m PallocSum) End() uint { … }
type PallocBits …
func (b *PallocBits) Find(npages uintptr, searchIdx uint) (uint, uint) { … }
func (b *PallocBits) AllocRange(i, n uint) { … }
func (b *PallocBits) Free(i, n uint) { … }
func (b *PallocBits) Summarize() PallocSum { … }
func (b *PallocBits) PopcntRange(i, n uint) uint { … }
func SummarizeSlow(b *PallocBits) PallocSum { … }
func FindBitRange64(c uint64, n uint) uint { … }
func DiffPallocBits(a, b *PallocBits) []BitRange { … }
func StringifyPallocBits(b *PallocBits, r BitRange) string { … }
type PallocData …
func (d *PallocData) FindScavengeCandidate(searchIdx uint, min, max uintptr) (uint, uint) { … }
func (d *PallocData) AllocRange(i, n uint) { … }
func (d *PallocData) ScavengedSetRange(i, n uint) { … }
func (d *PallocData) PallocBits() *PallocBits { … }
func (d *PallocData) Scavenged() *PallocBits { … }
func FillAligned(x uint64, m uint) uint64 { … }
type PageCache …
const PageCachePages …
func NewPageCache(base uintptr, cache, scav uint64) PageCache { … }
func (c *PageCache) Empty() bool { … }
func (c *PageCache) Base() uintptr { … }
func (c *PageCache) Cache() uint64 { … }
func (c *PageCache) Scav() uint64 { … }
func (c *PageCache) Alloc(npages uintptr) (uintptr, uintptr) { … }
func (c *PageCache) Flush(s *PageAlloc) { … }
type ChunkIdx …
type PageAlloc …
func (p *PageAlloc) Alloc(npages uintptr) (uintptr, uintptr) { … }
func (p *PageAlloc) AllocToCache() PageCache { … }
func (p *PageAlloc) Free(base, npages uintptr) { … }
func (p *PageAlloc) Bounds() (ChunkIdx, ChunkIdx) { … }
func (p *PageAlloc) Scavenge(nbytes uintptr) (r uintptr) { … }
func (p *PageAlloc) InUse() []AddrRange { … }
func (p *PageAlloc) PallocData(i ChunkIdx) *PallocData { … }
type AddrRange …
func MakeAddrRange(base, limit uintptr) AddrRange { … }
func (a AddrRange) Base() uintptr { … }
func (a AddrRange) Limit() uintptr { … }
func (a AddrRange) Equals(b AddrRange) bool { … }
func (a AddrRange) Size() uintptr { … }
var testSysStat …
type AddrRanges …
func NewAddrRanges() AddrRanges { … }
func MakeAddrRanges(a ...AddrRange) AddrRanges { … }
func (a *AddrRanges) Ranges() []AddrRange { … }
func (a *AddrRanges) FindSucc(base uintptr) int { … }
func (a *AddrRanges) Add(r AddrRange) { … }
func (a *AddrRanges) TotalBytes() uintptr { … }
type BitRange …
func NewPageAlloc(chunks, scav map[ChunkIdx][]BitRange) *PageAlloc { … }
func FreePageAlloc(pp *PageAlloc) { … }
var BaseChunkIdx …
func PageBase(c ChunkIdx, pageIdx uint) uintptr { … }
type BitsMismatch …
func CheckScavengedBitsCleared(mismatches []BitsMismatch) (n int, ok bool) { … }
func PageCachePagesLeaked() (leaked uintptr) { … }
var ProcYield …
var OSYield …
type Mutex …
var Lock …
var Unlock …
var MutexContended …
func SemRootLock(addr *uint32) *mutex { … }
var Semacquire …
var Semrelease1 …
func SemNwait(addr *uint32) uint32 { … }
const SemTableSize …
type SemTable …
func (t *SemTable) Enqueue(addr *uint32) { … }
func (t *SemTable) Dequeue(addr *uint32) bool { … }
type MSpan …
func AllocMSpan() *MSpan { … }
func FreeMSpan(s *MSpan) { … }
func MSpanCountAlloc(ms *MSpan, bits []byte) int { … }
const TimeHistSubBucketBits …
const TimeHistNumSubBuckets …
const TimeHistNumBuckets …
const TimeHistMinBucketBits …
const TimeHistMaxBucketBits …
type TimeHistogram …
func (th *TimeHistogram) Count(bucket, subBucket int) (uint64, bool) { … }
func (th *TimeHistogram) Record(duration int64) { … }
var TimeHistogramMetricsBuckets …
func SetIntArgRegs(a int) int { … }
func FinalizerGAsleep() bool { … }
var GCTestMoveStackOnNextCall …
func GCTestIsReachable(ptrs ...unsafe.Pointer) (mask uint64) { … }
func GCTestPointerClass(p unsafe.Pointer) string { … }
const Raceenabled …
const GCBackgroundUtilization …
const GCGoalUtilization …
const DefaultHeapMinimum …
const MemoryLimitHeapGoalHeadroomPercent …
const MemoryLimitMinHeapGoalHeadroom …
type GCController …
func NewGCController(gcPercent int, memoryLimit int64) *GCController { … }
func (c *GCController) StartCycle(stackSize, globalsSize uint64, scannableFrac float64, gomaxprocs int) { … }
func (c *GCController) AssistWorkPerByte() float64 { … }
func (c *GCController) HeapGoal() uint64 { … }
func (c *GCController) HeapLive() uint64 { … }
func (c *GCController) HeapMarked() uint64 { … }
func (c *GCController) Triggered() uint64 { … }
type GCControllerReviseDelta …
func (c *GCController) Revise(d GCControllerReviseDelta) { … }
func (c *GCController) EndCycle(bytesMarked uint64, assistTime, elapsed int64, gomaxprocs int) { … }
func (c *GCController) AddIdleMarkWorker() bool { … }
func (c *GCController) NeedIdleMarkWorker() bool { … }
func (c *GCController) RemoveIdleMarkWorker() { … }
func (c *GCController) SetMaxIdleMarkWorkers(max int32) { … }
var alwaysFalse …
var escapeSink …
func Escape[T any](x T) T { … }
func Acquirem() { … }
func Releasem() { … }
var Timediv …
type PIController …
func NewPIController(kp, ti, tt, min, max float64) *PIController { … }
func (c *PIController) Next(input, setpoint, period float64) (float64, bool) { … }
const CapacityPerProc …
const GCCPULimiterUpdatePeriod …
type GCCPULimiter …
func NewGCCPULimiter(now int64, gomaxprocs int32) *GCCPULimiter { … }
func (l *GCCPULimiter) Fill() uint64 { … }
func (l *GCCPULimiter) Capacity() uint64 { … }
func (l *GCCPULimiter) Overflow() uint64 { … }
func (l *GCCPULimiter) Limiting() bool { … }
func (l *GCCPULimiter) NeedUpdate(now int64) bool { … }
func (l *GCCPULimiter) StartGCTransition(enableGC bool, now int64) { … }
func (l *GCCPULimiter) FinishGCTransition(now int64) { … }
func (l *GCCPULimiter) Update(now int64) { … }
func (l *GCCPULimiter) AddAssistTime(t int64) { … }
func (l *GCCPULimiter) ResetCapacity(now int64, nprocs int32) { … }
const ScavengePercent …
type Scavenger …
func (s *Scavenger) Start() { … }
func (s *Scavenger) BlockUntilParked(timeout int64) bool { … }
func (s *Scavenger) Released() uintptr { … }
func (s *Scavenger) Wake() { … }
func (s *Scavenger) Stop() { … }
type ScavengeIndex …
func NewScavengeIndex(min, max ChunkIdx) *ScavengeIndex { … }
func (s *ScavengeIndex) Find(force bool) (ChunkIdx, uint) { … }
func (s *ScavengeIndex) AllocRange(base, limit uintptr) { … }
func (s *ScavengeIndex) FreeRange(base, limit uintptr) { … }
func (s *ScavengeIndex) ResetSearchAddrs() { … }
func (s *ScavengeIndex) NextGen() { … }
func (s *ScavengeIndex) SetEmpty(ci ChunkIdx) { … }
func CheckPackScavChunkData(gen uint32, inUse, lastInUse uint16, flags uint8) bool { … }
const GTrackingPeriod …
var ZeroBase …
const UserArenaChunkBytes …
type UserArena …
func NewUserArena() *UserArena { … }
func (a *UserArena) New(out *any) { … }
func (a *UserArena) Slice(sl any, cap int) { … }
func (a *UserArena) Free() { … }
func GlobalWaitingArenaChunks() int { … }
func UserArenaClone[T any](s T) T { … }
var AlignUp …
func BlockUntilEmptyFinalizerQueue(timeout int64) bool { … }
func FrameStartLine(f *Frame) int { … }
func PersistentAlloc(n uintptr) unsafe.Pointer { … }
func FPCallers(pcBuf []uintptr) int { … }
const FramePointerEnabled …
var IsPinned …
var GetPinCounter …
func SetPinnerLeakPanic(f func()) { … }
func GetPinnerLeakPanic() func() { … }
var testUintptr …
func MyGenericFunc[T any]() { … }
func UnsafePoint(pc uintptr) bool { … }
type TraceMap …
func (m *TraceMap) PutString(s string) (uint64, bool) { … }
func (m *TraceMap) Reset() { … }