backend

package
v0.0.0-...-af24b05 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TraceCbNone int = iota
	TraceCbPc
	TraceCbCmp
)
View Source
const LineEnd = 1 << 30

Variables

This section is empty.

Functions

func NextInstructionPC

func NextInstructionPC(target *targets.Target, pc uint64) uint64

func PreviousInstructionPC

func PreviousInstructionPC(target *targets.Target, pc uint64) uint64

func RestorePC

func RestorePC(pc, base uint32) uint64

Types

type Arch

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

type CompileUnit

type CompileUnit struct {
	ObjectUnit
	Path   string
	Module *Module
}

type Frame

type Frame struct {
	Module   *Module
	PC       uint64
	Name     string
	FuncName string
	Path     string
	Inline   bool
	Range
}

type Impl

type Impl struct {
	Units           []*CompileUnit
	Symbols         []*Symbol
	Frames          []Frame
	Symbolize       func(pcs map[*Module][]uint64) ([]Frame, error)
	RestorePC       func(pc uint32) uint64
	CallbackPoints  []uint64
	PreciseCoverage bool
}

func Make

func Make(target *targets.Target, vm, objDir, srcDir, buildDir string, splitBuild bool,
	moduleObj []string, modules []host.KernelModule) (*Impl, error)

type Module

type Module struct {
	Name string
	Path string
	Addr uint64
}

type ObjectUnit

type ObjectUnit struct {
	Name string
	PCs  []uint64 // PCs we can get in coverage callbacks for this unit.
	CMPs []uint64 // PCs we can get in comparison interception callbacks for this unit.
}

ObjectUnit represents either CompileUnit or Symbol.

type Range

type Range struct {
	StartLine int
	StartCol  int
	EndLine   int
	EndCol    int
}

type Result

type Result struct {
	CoverPoints [2][]uint64
	Symbols     []*Symbol
}

type Symbol

type Symbol struct {
	ObjectUnit
	Module     *Module
	Unit       *CompileUnit
	Start      uint64
	End        uint64
	Symbolized bool
}

Jump to

Keyboard shortcuts

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