On this page
Package sys
Overview ▹
Overview ▾
package sys contains system- and configuration- and architecture-specific constants used by the runtime.
Index ▹
Index ▾
Package files
arch.go arch_amd64.go intrinsics.go intrinsics_common.go stubs.go sys.go zgoarch_amd64.go zgoos_linux.go
Constants
const (
ArchFamily = AMD64
BigEndian = false
DefaultPhysPageSize = 4096
PCQuantum = 1
Int64Align = 8
MinFrameSize = 0
)
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 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 PtrSize = 4 << (^uintptr(0) >> 63) // unsafe.Sizeof(uintptr(0)) but an ideal const
const RegSize = 4 << (^Uintreg(0) >> 63) // unsafe.Sizeof(uintreg(0)) but an ideal const
const SpAlign = 1*(1-GoarchArm64) + 16*GoarchArm64 // SP alignment: 1 normally, 16 for ARM64
AIX requires a larger stack for syscalls.
const StackGuardMultiplier = StackGuardMultiplierDefault*(1-GoosAix) + 2*GoosAix
Variables
var DefaultGoroot string // set at link time
func Bswap32
func Bswap32(x uint32) uint32
Bswap32 returns its input with byte order reversed 0x01020304 -> 0x04030201
func Bswap64
func Bswap64(x uint64) uint64
Bswap64 returns its input with byte order reversed 0x0102030405060708 -> 0x0807060504030201
func Ctz32
func Ctz32(x uint32) int
Ctz32 counts trailing (low-order) zeroes, and if all are zero, then 32.
func Ctz64
func Ctz64(x uint64) int
Ctz64 counts trailing (low-order) zeroes, and if all are zero, then 64.
func Ctz8
func Ctz8(x uint8) int
Ctz8 returns the number of trailing zero bits in x; the result is 8 for x == 0.
func LeadingZeros64
func LeadingZeros64(x uint64) int
LeadingZeros64 returns the number of leading zero bits in x; the result is 64 for x == 0.
func LeadingZeros8
func LeadingZeros8(x uint8) int
LeadingZeros8 returns the number of leading zero bits in x; the result is 8 for x == 0.
func Len64
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
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
func OnesCount64(x uint64) int
OnesCount64 returns the number of one bits ("population count") in x.
func TrailingZeros64
func TrailingZeros64(x uint64) int
TrailingZeros64 returns the number of trailing zero bits in x; the result is 64 for x == 0.
func TrailingZeros8
func TrailingZeros8(x uint8) int
TrailingZeros8 returns the number of trailing zero bits in x; the result is 8 for x == 0.
type ArchFamilyType
type ArchFamilyType int
const (
AMD64 ArchFamilyType = iota
ARM
ARM64
I386
MIPS
MIPS64
PPC64
RISCV64
S390X
WASM
)
type Uintreg
type Uintreg uint64