W3cubDocs

/Go

Package sys

Overview

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

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 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 Bswap32Source

func Bswap32(x uint32) uint32

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

func Bswap64Source

func Bswap64(x uint64) uint64

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

func Ctz32Source

func Ctz32(x uint32) int

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

func Ctz64Source

func Ctz64(x uint64) int

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

func Ctz8Source

func Ctz8(x uint8) int

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

func LeadingZeros64Source

func LeadingZeros64(x uint64) int

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

func LeadingZeros8Source

func LeadingZeros8(x uint8) int

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

func Len64Source

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 Len8Source

func Len8(x uint8) int

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

func OnesCount64Source

func OnesCount64(x uint64) int

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

func TrailingZeros64Source

func TrailingZeros64(x uint64) int

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

func TrailingZeros8Source

func TrailingZeros8(x uint8) int

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

type ArchFamilyTypeSource

type ArchFamilyType int
const (
    AMD64 ArchFamilyType = iota
    ARM
    ARM64
    I386
    MIPS
    MIPS64
    PPC64
    RISCV64
    S390X
    WASM
)

type UintregSource

type Uintreg uint64

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://golang.org/pkg/runtime/internal/sys/