func AbstractFunc(fn *obj.LSym)
Secondary hook for DWARF inlined subroutine generation. This is called late in the compilation when it is determined that we need an abstract function DIE for an inlined routine imported from a previously compiled package.
func Info(fnsym *obj.LSym, infosym *obj.LSym, curfn obj.Func) (scopes []dwarf.Scope, inlcalls dwarf.InlCalls)
func RecordFlags(flags ...string)
RecordFlags records the specified command-line flags to be placed in the DWARF info.
func RecordPackageName()
RecordPackageName records the name of the package being compiled, so that the linker can save it in the compile unit's DIE.
A ScopeMarker tracks scope nesting and boundaries for later use during DWARF generation.
type ScopeMarker struct {
// contains filtered or unexported fields
}
func (m *ScopeMarker) Pop(pos src.XPos)
Pop records a transition back to the current scope's parent.
func (m *ScopeMarker) Push(pos src.XPos)
Push records a transition to a new child scope of the current scope.
func (m *ScopeMarker) Unpush()
Unpush removes the current scope, which must be empty.
func (m *ScopeMarker) WriteTo(fn *ir.Func)
WriteTo writes the recorded scope marks to the given function, and resets the marker for reuse.