Documentation ¶
Overview ¶
package sys contains system- and configuration- and architecture-specific constants used by the runtime.
Index ¶
- Constants
- func Bswap32(x uint32) uint32
- func Bswap64(x uint64) uint64
- func Ctz32(x uint32) int
- func Ctz64(x uint64) int
- func Ctz8(x uint8) int
- func LeadingZeros64(x uint64) int
- func LeadingZeros8(x uint8) int
- func Len64(x uint64) (n int)
- func Len8(x uint8) int
- func OnesCount64(x uint64) int
- func TrailingZeros64(x uint64) int
- func TrailingZeros8(x uint8) int
- type ArchFamilyType
Constants ¶
const BigEndian = GoarchArmbe|GoarchArm64be|GoarchMips|GoarchMips64|GoarchPpc|GoarchPpc64|GoarchS390|GoarchS390x|GoarchSparc|GoarchSparc64 == 1
BigEndian reports whether the architecture is big-endian.
const DefaultPhysPageSize = _DefaultPhysPageSize
DefaultPhysPageSize is the default physical page size.
const GOARCH = `amd64`
const GOOS = `linux`
const Goarch386 = 0
const GoarchAmd64 = 1
const GoarchAmd64p32 = 0
const GoarchArm = 0
const GoarchArm64 = 0
const GoarchArm64be = 0
const GoarchArmbe = 0
const GoarchLoong64 = 0
const GoarchMips = 0
const GoarchMips64 = 0
const GoarchMips64le = 0
const GoarchMips64p32 = 0
const GoarchMips64p32le = 0
const GoarchMipsle = 0
const GoarchPpc = 0
const GoarchPpc64 = 0
const GoarchPpc64le = 0
const GoarchRiscv = 0
const GoarchRiscv64 = 0
const GoarchS390 = 0
const GoarchS390x = 0
const GoarchSparc = 0
const GoarchSparc64 = 0
const GoarchWasm = 0
const GoosAix = 0
const GoosAndroid = 0
const GoosDarwin = 0
const GoosDragonfly = 0
const GoosFreebsd = 0
const GoosHurd = 0
const GoosIllumos = 0
const GoosIos = 0
const GoosJs = 0
const GoosLinux = 1
const GoosNacl = 0
const GoosNetbsd = 0
const GoosOpenbsd = 0
const GoosPlan9 = 0
const GoosSolaris = 0
const GoosWindows = 0
const GoosZos = 0
const Int64Align = PtrSize
Int64Align is the required alignment for a 64-bit integer (4 on 32-bit systems, 8 on 64-bit).
const MinFrameSize = _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.
const PCQuantum = _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.
const PtrSize = 4 << (^uintptr(0) >> 63)
PtrSize is the size of a pointer in bytes - unsafe.Sizeof(uintptr(0)) but as an ideal constant. It is also the size of the machine's native word size (that is, 4 on 32-bit systems, 8 on 64-bit).
const StackAlign = _StackAlign
StackAlign is the required alignment of the SP register. The stack must be at least word aligned, but some architectures require more.
const StackGuardMultiplier = StackGuardMultiplierDefault*(1-GoosAix) + 2*GoosAix
AIX requires a larger stack for syscalls.
Variables ¶
This section is empty.
Functions ¶
func Bswap32 ¶ added in go1.7
Bswap32 returns its input with byte order reversed 0x01020304 -> 0x04030201
func Bswap64 ¶ added in go1.7
Bswap64 returns its input with byte order reversed 0x0102030405060708 -> 0x0807060504030201
func Ctz8 ¶ added in go1.7
Ctz8 returns the number of trailing zero bits in x; the result is 8 for x == 0.
func LeadingZeros64 ¶ added in go1.14
LeadingZeros64 returns the number of leading zero bits in x; the result is 64 for x == 0.
func LeadingZeros8 ¶ added in go1.14
LeadingZeros8 returns the number of leading zero bits in x; the result is 8 for x == 0.
func Len64 ¶ added in go1.14
len64 returns the minimum number of bits required to represent x; the result is 0 for x == 0.
func Len8 ¶ added in go1.14
Len8 returns the minimum number of bits required to represent x; the result is 0 for x == 0.
func OnesCount64 ¶ added in go1.14
OnesCount64 returns the number of one bits ("population count") in x.
func TrailingZeros64 ¶ added in go1.14
TrailingZeros64 returns the number of trailing zero bits in x; the result is 64 for x == 0.
func TrailingZeros8 ¶ added in go1.14
TrailingZeros8 returns the number of trailing zero bits in x; the result is 8 for x == 0.
Types ¶
type ArchFamilyType ¶ added in go1.7
type ArchFamilyType int
const ( AMD64 ArchFamilyType = iota ARM ARM64 I386 MIPS MIPS64 PPC64 RISCV64 S390X WASM )
const ArchFamily ArchFamilyType = _ArchFamily
ArchFamily is the architecture family (AMD64, ARM, ...)