go/src/cmd/compile/internal/types/size.go

var PtrSize

var RegSize

var SlicePtrOffset

var SliceLenOffset

var SliceCapOffset

var SliceSize

var StringSize

var SkipSizeForTracing

// typePos returns the position associated with t.
// This is where t was declared or where it appeared as a type expression.
func typePos(t *Type) src.XPos {}

var MaxWidth

var CalcSizeDisabled

var defercalc

// RoundUp rounds o to a multiple of r, r is a power of 2.
func RoundUp(o int64, r int64) int64 {}

// expandiface computes the method set for interface type t by
// expanding embedded interfaces.
func expandiface(t *Type) {}

// calcStructOffset computes the offsets of a sequence of fields,
// starting at the given offset. It returns the resulting offset and
// maximum field alignment.
func calcStructOffset(t *Type, fields []*Field, offset int64) int64 {}

func isAtomicStdPkg(p *Pkg) bool {}

// CalcSize calculates and stores the size, alignment, eq/hash algorithm,
// and ptrBytes for t.
// If CalcSizeDisabled is set, and the size/alignment
// have not already been calculated, it calls Fatal.
// This is used to prevent data races in the back end.
func CalcSize(t *Type) {}

// CalcStructSize calculates the size of t,
// filling in t.width, t.align, t.intRegs, and t.floatRegs,
// even if size calculation is otherwise disabled.
func CalcStructSize(t *Type) {}

func (t *Type) widthCalculated() bool {}

var deferredTypeStack

func CheckSize(t *Type) {}

func DeferCheckSize() {}

func ResumeCheckSize() {}

// PtrDataSize returns the length in bytes of the prefix of t
// containing pointer data. Anything after this offset is scalar data.
//
// PtrDataSize is only defined for actual Go types. It's an error to
// use it on compiler-internal types (e.g., TSSA, TRESULTS).
func PtrDataSize(t *Type) int64 {}