abi

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PtrSize  = 8 // pointer size
	PtrAlign = 8 // pointer alignment
)

Variables

View Source
var (
	F_morestack_noctxt = uintptr(rt.FuncAddr(morestack_noctxt))
)

Functions

func CallC

func CallC(addr uintptr, fr Frame, maxStack uintptr) []byte

func ReservedRegs

func ReservedRegs(callc bool) []Register

Types

type Frame

type Frame struct {
	// contains filtered or unexported fields
}

func NewFrame

func NewFrame(desc *FunctionLayout, locals []bool, ccall bool) Frame

func (*Frame) ArgPtrs

func (self *Frame) ArgPtrs() *rt.StackMap

func (*Frame) GrowStackTextSize

func (self *Frame) GrowStackTextSize() uint32

func (*Frame) LocalPtrs

func (self *Frame) LocalPtrs() *rt.StackMap

func (*Frame) Offs

func (self *Frame) Offs() uint32

func (*Frame) Prev

func (self *Frame) Prev() uint32

func (*Frame) Size

func (self *Frame) Size() uint32

func (*Frame) StackCheckTextSize

func (self *Frame) StackCheckTextSize() uint32

func (*Frame) String

func (self *Frame) String() string

type FunctionLayout

type FunctionLayout struct {
	FP   uint32
	Args []Parameter
	Rets []Parameter
}

func NewFunctionLayout

func NewFunctionLayout(ft reflect.Type) FunctionLayout

func (FunctionLayout) ArgSize

func (self FunctionLayout) ArgSize() uint32

func (FunctionLayout) StackMap

func (self FunctionLayout) StackMap() *rt.StackMap

func (FunctionLayout) String

func (self FunctionLayout) String() string

type Parameter

type Parameter struct {
	InRegister bool
	IsPointer  bool
	IsFloat    floatKind
	Reg        Register
	Mem        uint32
	Type       reflect.Type
}

func (Parameter) String

func (self Parameter) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL