...

Package jit

import "github.com/bytedance/sonic/internal/jit"
Overview
Index

Overview ▾

Index ▾

Package files

arch_amd64.go assembler_amd64.go backend.go runtime.go

func As

func As(op string) obj.As

func Func

func Func(f interface{}) obj.Addr

func Gitab

func Gitab(i *rt.GoItab) obj.Addr

func Gtype

func Gtype(t *rt.GoType) obj.Addr

func Imm

func Imm(imm int64) obj.Addr

func Itab

func Itab(i *rt.GoType, t reflect.Type) obj.Addr

func Ptr

func Ptr(reg obj.Addr, offs int64) obj.Addr

func Reg

func Reg(reg string) obj.Addr

func Sib

func Sib(reg obj.Addr, idx obj.Addr, scale int16, offs int64) obj.Addr

func Type

func Type(t reflect.Type) obj.Addr

type Backend

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 (*Backend) Assemble

func (self *Backend) Assemble() []byte

func (*Backend) New

func (self *Backend) New() (ret *obj.Prog)

func (*Backend) Release

func (self *Backend) Release()

type BaseAssembler

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

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 (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)