go/src/cmd/compile/internal/objw/prog.go

var sharedProgArray

// NewProgs returns a new Progs for fn.
// worker indicates which of the backend workers will use the Progs.
func NewProgs(fn *ir.Func, worker int) *Progs {}

type Progs

type StackMapIndex

const StackMapDontCare

func (s StackMapIndex) StackMapValid() bool {}

func (pp *Progs) NewProg() *obj.Prog {}

// Flush converts from pp to machine code.
func (pp *Progs) Flush() {}

// Free clears pp and any associated resources.
func (pp *Progs) Free() {}

// Prog adds a Prog with instruction As to pp.
func (pp *Progs) Prog(as obj.As) *obj.Prog {}

func (pp *Progs) Clear(p *obj.Prog) {}

func (pp *Progs) Append(p *obj.Prog, as obj.As, ftype obj.AddrType, freg int16, foffset int64, ttype obj.AddrType, treg int16, toffset int64) *obj.Prog {}

func (pp *Progs) SetText(fn *ir.Func) {}

// LosesStmtMark reports whether a prog with op as loses its statement mark on the way to DWARF.
// The attributes from some opcodes are lost in translation.
// TODO: this is an artifact of how funcpctab combines information for instructions at a single PC.
// Should try to fix it there.
func LosesStmtMark(as obj.As) bool {}