Package jit
- func As(op string) obj.As
- func Func(f interface{}) obj.Addr
- func Gitab(i *rt.GoItab) obj.Addr
- func Gtype(t *rt.GoType) obj.Addr
- func Imm(imm int64) obj.Addr
- func Itab(i *rt.GoType, t reflect.Type) obj.Addr
- func Ptr(reg obj.Addr, offs int64) obj.Addr
- func Reg(reg string) obj.Addr
- func Sib(reg obj.Addr, idx obj.Addr, scale int16, offs int64) obj.Addr
- func Type(t reflect.Type) obj.Addr
- type Backend
- func (self *Backend) Append(p *obj.Prog)
- func (self *Backend) Assemble() []byte
- func (self *Backend) New() (ret *obj.Prog)
- func (self *Backend) Release()
- type BaseAssembler
- func (self *BaseAssembler) Byte(v ...byte)
- func (self *BaseAssembler) Emit(op string, args ...obj.Addr)
- func (self *BaseAssembler) From(op string, val obj.Addr)
- func (self *BaseAssembler) Init(f func())
- func (self *BaseAssembler) Link(to string)
- func (self *BaseAssembler) Load(name string, frameSize int, argSize int, argStackmap []bool, localStackmap []bool) loader.Function
- func (self *BaseAssembler) Mark(pc int)
- func (self *BaseAssembler) NOP() *obj.Prog
- func (self *BaseAssembler) NOPn(n int)
- func (self *BaseAssembler) Rjmp(op string, to obj.Addr)
- func (self *BaseAssembler) Size() int
- func (self *BaseAssembler) Sjmp(op string, to string)
- func (self *BaseAssembler) Sref(to string, d int64)
- func (self *BaseAssembler) Xjmp(op string, to int)
- func (self *BaseAssembler) Xref(pc int, d int64)
Package files
arch_amd64.go
assembler_amd64.go
backend.go
runtime.go
func As(op string) obj.As
func Func(f interface{}) obj.Addr
func Gitab(i *rt.GoItab) obj.Addr
func Gtype(t *rt.GoType) obj.Addr
func Imm(imm int64) obj.Addr
func Itab(i *rt.GoType, t reflect.Type) obj.Addr
func Ptr(reg obj.Addr, offs int64) obj.Addr
func Reg(reg string) obj.Addr
func Sib(reg obj.Addr, idx obj.Addr, scale int16, offs int64) obj.Addr
func Type(t reflect.Type) obj.Addr
type Backend struct {
Ctxt *obj.Link
Arch *arch.Arch
Head *obj.Prog
Tail *obj.Prog
Prog []*obj.Prog
}
func (*Backend) Append
¶
func (self *Backend) Append(p *obj.Prog)
func (self *Backend) Assemble() []byte
func (*Backend) New
¶
func (self *Backend) New() (ret *obj.Prog)
func (*Backend) Release
¶
func (self *Backend) Release()
type BaseAssembler struct {
}
func (*BaseAssembler) Byte
¶
func (self *BaseAssembler) Byte(v ...byte)
func (*BaseAssembler) Emit
¶
func (self *BaseAssembler) Emit(op string, args ...obj.Addr)
func (*BaseAssembler) From
¶
func (self *BaseAssembler) From(op string, val obj.Addr)
func (*BaseAssembler) Init
¶
func (self *BaseAssembler) Init(f func())
func (*BaseAssembler) Link
¶
func (self *BaseAssembler) Link(to string)
func (*BaseAssembler) Load
¶
func (self *BaseAssembler) Load(name string, frameSize int, argSize int, argStackmap []bool, localStackmap []bool) loader.Function
func (*BaseAssembler) Mark
¶
func (self *BaseAssembler) Mark(pc int)
func (*BaseAssembler) NOP
¶
func (self *BaseAssembler) NOP() *obj.Prog
func (*BaseAssembler) NOPn
¶
func (self *BaseAssembler) NOPn(n int)
func (*BaseAssembler) Rjmp
¶
func (self *BaseAssembler) Rjmp(op string, to obj.Addr)
func (*BaseAssembler) Size
¶
func (self *BaseAssembler) Size() int
func (*BaseAssembler) Sjmp
¶
func (self *BaseAssembler) Sjmp(op string, to string)
func (*BaseAssembler) Sref
¶
func (self *BaseAssembler) Sref(to string, d int64)
func (*BaseAssembler) Xjmp
¶
func (self *BaseAssembler) Xjmp(op string, to int)
func (*BaseAssembler) Xref
¶
func (self *BaseAssembler) Xref(pc int, d int64)