package sys
import "runtime/internal/sys"
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 Prefetch(addr uintptr)
- func PrefetchStreamed(addr uintptr)
- func TrailingZeros64(x uint64) int
- func TrailingZeros8(x uint8) int
Constants ¶
const DefaultPhysPageSize = goarch.DefaultPhysPageSize
DefaultPhysPageSize is the default physical page size.
Int64Align is the required alignment for a 64-bit integer (4 on 32-bit systems, 8 on 64-bit).
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.
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 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.
AIX requires a larger stack for syscalls.
const StackGuardMultiplierDefault = 1
Functions ¶
func Bswap32 ¶
Bswap32 returns its input with byte order reversed 0x01020304 -> 0x04030201
func Bswap64 ¶
Bswap64 returns its input with byte order reversed 0x0102030405060708 -> 0x0807060504030201
func Ctz32 ¶
Ctz32 counts trailing (low-order) zeroes, and if all are zero, then 32.
func Ctz64 ¶
Ctz64 counts trailing (low-order) zeroes, and if all are zero, then 64.
func Ctz8 ¶
Ctz8 returns the number of trailing zero bits in x; the result is 8 for x == 0.
func LeadingZeros64 ¶
LeadingZeros64 returns the number of leading zero bits in x; the result is 64 for x == 0.
func LeadingZeros8 ¶
LeadingZeros8 returns the number of leading zero bits in x; the result is 8 for x == 0.
func Len64 ¶
len64 returns the minimum number of bits required to represent x; the result is 0 for x == 0.
func Len8 ¶
Len8 returns the minimum number of bits required to represent x; the result is 0 for x == 0.
func OnesCount64 ¶
OnesCount64 returns the number of one bits ("population count") in x.
func Prefetch ¶
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 ¶
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 ¶
TrailingZeros64 returns the number of trailing zero bits in x; the result is 64 for x == 0.
func TrailingZeros8 ¶
TrailingZeros8 returns the number of trailing zero bits in x; the result is 8 for x == 0.
Source Files ¶
consts.go intrinsics.go intrinsics_common.go sys.go zversion.go
- Version
- v1.19.1
- Published
- Aug 31, 2022
- Platform
- js/wasm
- Imports
- 2 packages
- Last checked
- 2 minutes ago –
Tools for package owners.