sys

package standard library
go1.19beta1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2022 License: BSD-3-Clause Imports: 2 Imported by: 0

Documentation

Overview

package sys contains system- and configuration- and architecture-specific constants used by the runtime.

Index

Constants

View Source
const DefaultPhysPageSize = goarch.DefaultPhysPageSize

DefaultPhysPageSize is the default physical page size.

View Source
const Int64Align = goarch.PtrSize

Int64Align is the required alignment for a 64-bit integer (4 on 32-bit systems, 8 on 64-bit).

View Source
const MinFrameSize = goarch.MinFrameSize

MinFrameSize is the size of the system-reserved words at the bottom of a frame (just above the architectural stack pointer). It is zero on x86 and PtrSize on most non-x86 (LR-based) systems. On PowerPC it is larger, to cover three more reserved words: the compiler word, the link editor word, and the TOC save word.

View Source
const PCQuantum = goarch.PCQuantum

PCQuantum is the minimal unit for a program counter (1 on x86, 4 on most other systems). The various PC tables record PC deltas pre-divided by PCQuantum.

View Source
const StackAlign = goarch.StackAlign

StackAlign is the required alignment of the SP register. The stack must be at least word aligned, but some architectures require more.

View Source
const StackGuardMultiplier = StackGuardMultiplierDefault*(1-goos.IsAix) + 2*goos.IsAix

AIX requires a larger stack for syscalls.

Variables

This section is empty.

Functions

func Bswap32 added in go1.7

func Bswap32(x uint32) uint32

Bswap32 returns its input with byte order reversed 0x01020304 -> 0x04030201

func Bswap64 added in go1.7

func Bswap64(x uint64) uint64

Bswap64 returns its input with byte order reversed 0x0102030405060708 -> 0x0807060504030201

func Ctz32 added in go1.7

func Ctz32(x uint32) int

Ctz32 counts trailing (low-order) zeroes, and if all are zero, then 32.

func Ctz64 added in go1.7

func Ctz64(x uint64) int

Ctz64 counts trailing (low-order) zeroes, and if all are zero, then 64.

func Ctz8 added in go1.7

func Ctz8(x uint8) int

Ctz8 returns the number of trailing zero bits in x; the result is 8 for x == 0.

func LeadingZeros64 added in go1.14

func LeadingZeros64(x uint64) int

LeadingZeros64 returns the number of leading zero bits in x; the result is 64 for x == 0.

func LeadingZeros8 added in go1.14

func LeadingZeros8(x uint8) int

LeadingZeros8 returns the number of leading zero bits in x; the result is 8 for x == 0.

func Len64 added in go1.14

func Len64(x uint64) (n int)

len64 returns the minimum number of bits required to represent x; the result is 0 for x == 0.

func Len8 added in go1.14

func Len8(x uint8) int

Len8 returns the minimum number of bits required to represent x; the result is 0 for x == 0.

func OnesCount64 added in go1.14

func OnesCount64(x uint64) int

OnesCount64 returns the number of one bits ("population count") in x.

func Prefetch added in go1.18

func Prefetch(addr uintptr)

Prefetch prefetches data from memory addr to cache

AMD64: Produce PREFETCHT0 instruction

ARM64: Produce PRFM instruction with PLDL1KEEP option

func PrefetchStreamed added in go1.18

func PrefetchStreamed(addr uintptr)

PrefetchStreamed prefetches data from memory addr, with a hint that this data is being streamed. That is, it is likely to be accessed very soon, but only once. If possible, this will avoid polluting the cache.

AMD64: Produce PREFETCHNTA instruction

ARM64: Produce PRFM instruction with PLDL1STRM option

func TrailingZeros64 added in go1.14

func TrailingZeros64(x uint64) int

TrailingZeros64 returns the number of trailing zero bits in x; the result is 64 for x == 0.

func TrailingZeros8 added in go1.14

func TrailingZeros8(x uint8) int

TrailingZeros8 returns the number of trailing zero bits in x; the result is 8 for x == 0.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL