# Functions
CommonSize returns sizeof(Type) for a compilation target with a given ptrSize.
Escape forces any pointers in x to escape to the heap.
FuncPCABI0 returns the entry PC of the function f, which must be a direct reference of a function defined as ABI0.
FuncPCABIInternal returns the entry PC of the function f.
ITabTypeOff returns the offset of ITab.Type for a compilation target with a given ptrSize.
No description provided by the author
NoEscape hides the pointer p from escape analysis, preventing it from escaping to the heap.
StructFieldSize returns sizeof(StructField) for a compilation target with a given ptrSize.
TFlagOff returns the offset of Type.TFlag for a compilation target with a given ptrSize.
TypeOf returns the abi.Type of some value.
UncommonSize returns sizeof(UncommonType).
No description provided by the author
# Constants
ArgsSizeUnknown is set in Func.argsize to mark all functions whose argument size is unknown (C vararg functions, and assembly code without an explicit specification).
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
We use SSE2 registers which support 64-bit float operations.
No description provided by the author
No description provided by the author
X0 -> X14.
No description provided by the author
IDs for PCDATA and FUNCDATA tables in Go binaries.
IDs for PCDATA and FUNCDATA tables in Go binaries.
IDs for PCDATA and FUNCDATA tables in Go binaries.
IDs for PCDATA and FUNCDATA tables in Go binaries.
IDs for PCDATA and FUNCDATA tables in Go binaries.
IDs for PCDATA and FUNCDATA tables in Go binaries.
IDs for PCDATA and FUNCDATA tables in Go binaries.
IDs for PCDATA and FUNCDATA tables in Go binaries.
FuncFlagAsm indicates that a function was implemented in assembly.
FuncFlagSPWrite indicates a function that writes an arbitrary value to SP (any write other than adding or subtracting a constant amount).
FuncFlagTopFrame indicates a function that appears at the top of its stack.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
RAX, RBX, RCX, RDI, RSI, R8, R9, R10, R11.
No description provided by the author
No description provided by the author
No description provided by the author
TODO (khr, drchase) why aren't these in TFlag? Investigate, fix if possible.
No description provided by the author
No description provided by the author
No description provided by the author
MaxPtrmaskBytes is the maximum length of a GC ptrmask bitmap, which holds 1-bit entries describing where pointers are in a given type.
No description provided by the author
Map constants common to several packages runtime/runtime-gdb.py:MapTypePrinter contains its own copy.
Maximum number of key/elem pairs a bucket can hold.
Map constants common to several packages runtime/runtime-gdb.py:MapTypePrinter contains its own copy.
Maximum key or elem size to keep inline (instead of mallocing per element).
IDs for PCDATA and FUNCDATA tables in Go binaries.
IDs for PCDATA and FUNCDATA tables in Go binaries.
IDs for PCDATA and FUNCDATA tables in Go binaries.
IDs for PCDATA and FUNCDATA tables in Go binaries.
No description provided by the author
No description provided by the author
These constants are shared between the compiler, which uses them for state functions and panic indicators, and the runtime, which turns them into more meaningful strings For best code generation, RF_DONE and RF_READY should be 0 and 1.
These constants are shared between the compiler, which uses them for state functions and panic indicators, and the runtime, which turns them into more meaningful strings For best code generation, RF_DONE and RF_READY should be 0 and 1.
These constants are shared between the compiler, which uses them for state functions and panic indicators, and the runtime, which turns them into more meaningful strings For best code generation, RF_DONE and RF_READY should be 0 and 1.
These constants are shared between the compiler, which uses them for state functions and panic indicators, and the runtime, which turns them into more meaningful strings For best code generation, RF_DONE and RF_READY should be 0 and 1.
These constants are shared between the compiler, which uses them for state functions and panic indicators, and the runtime, which turns them into more meaningful strings For best code generation, RF_DONE and RF_READY should be 0 and 1.
No description provided by the author
No description provided by the author
Functions that need frames <= StackBig can assume that neither SP-framesize nor stackGuard-StackSmall will underflow, and thus use a more efficient check.
StackNosplitBase is the base maximum number of bytes that a chain of NOSPLIT functions can use.
After a stack split check the SP is allowed to be StackSmall bytes below the stack guard.
No description provided by the author
No description provided by the author
Map constants common to several packages runtime/runtime-gdb.py:MapTypePrinter contains its own copy.
Maximum number of key/elem pairs a bucket can hold.
Map constants common to several packages runtime/runtime-gdb.py:MapTypePrinter contains its own copy.
Maximum key or elem size to keep inline (instead of mallocing per element).
TFlagExtraStar means the name in the str field has an extraneous '*' prefix.
TFlagNamed means the type has a name.
TFlagRegularMemory means that equal and hash functions can treat this type as a single region of t.size bytes.
TFlagUncommon means that there is a data with a type, UncommonType, just beyond the shared-per-type common data.
TFlagUnrolledBitmap marks special types that are unrolled-bitmap versions of types with GC programs.
Populate the data.
Populate the data.
Populate the data.
No description provided by the author
No description provided by the author
maxLen is a (conservative) upper bound of the byte stream length.
Populate the data.
Populate the data.
Populate the data.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
UnsafePointRestart1(2) apply on a sequence of instructions, within which if an async preemption happens, we should back off the PC to the start of the sequence when resuming.
Special values for the PCDATA_UnsafePoint table.
Like UnsafePointRestart1, but back to function entry if async preempted.
Special values for the PCDATA_UnsafePoint table.
Special values for the PCDATA_UnsafePoint table.
ZeroValSize is the size in bytes of runtime.zeroVal.
# Structs
ArrayType represents a fixed array type.
ChanType represents a channel type.
EmptyInterface describes the layout of a "interface{}" or a "any." These are represented differently than non-empty interface, as the first word always points to an abi.Type.
funcType represents a function type.
Imethod represents a method on an interface type.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
The first word of every non-empty interface type contains an *ITab.
Method on non-interface type.
No description provided by the author
No description provided by the author
No description provided by the author
RegArgs is a struct that has space for each argument and return value register on the current architecture.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Type is the runtime representation of a Go type.
No description provided by the author
No description provided by the author
No description provided by the author
UncommonType is present only for defined types or types with methods (if T is a defined type, the uncommonTypes for T and *T have methods).
# Type aliases
No description provided by the author
A FuncFlag records bits about a function, passed to the runtime.
A FuncID identifies particular functions that need to be treated specially by the runtime.
IntArgRegBitmap is a bitmap large enough to hold one bit per integer argument/return register.
A Kind represents the specific kind of type that a Type represents.
NameOff is the offset to a name from moduledata.types.
No description provided by the author
TextOff is an offset from the top of a text section.
TFlag is used by a Type to signal what extra type information is available in the memory directly following the Type value.
TypeOff is the offset to a type from moduledata.types.