debug

package
v0.31.1 Latest Latest
Warning

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

Go to latest
Published: Jul 1, 2020 License: BSD-3-Clause Imports: 4 Imported by: 0

Documentation

Overview

Package debug contains DebugObjectMapper implementations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type InsnMap

type InsnMap struct {
	TrapMap
	Insns []InsnMapping
	// contains filtered or unexported fields
}

InsnMap is an object map which stores all available function, call, trap and instruction information. The Mapper method must be used to obtain an actual ObjectMapper implementation.

func (*InsnMap) FindCall added in v0.29.0

func (m *InsnMap) FindCall(retAddr uint32,
) (init bool, funcIndex, callIndex int, stackOffset int32, retOffset uint32)

func (*InsnMap) Mapper added in v0.27.0

func (m *InsnMap) Mapper(source Teller) obj.ObjectMapper

Mapper creates a compile.DebugObjectMapper for the InsnMap.

The source position teller is a special reader which must be used when loading (at least) the code section. See NewReadTeller.

type InsnMapping

type InsnMapping struct {
	ObjectOffset uint32 // Machine code offset in bytes.
	SourceOffset uint32 // WebAssembly code offset in bytes.
	BlockLen     int32  // Length of data block (when SourceOffset is 0).
}

Instruction mapping from machine code to WebAssembly. SourceOffset is zero if ObjectOffset contains non-executable data interleaved with the code.

type ReadTeller added in v0.27.0

type ReadTeller interface {
	reader.R
	Teller
}

ReadTeller is a reader which knows how many bytes have been read.

func NewReadTeller added in v0.27.0

func NewReadTeller(r reader.R) ReadTeller

NewReadTeller wraps a reader into one which tracks the read position.

type Teller added in v0.27.0

type Teller interface {
	Tell() int64
}

Teller knows the position.

type TrapMap added in v0.21.0

type TrapMap struct {
	object.CallMap                   // Function calls and recoverable (portable) traps.
	TrapSites      []object.CallSite // Unrecoverable (or nonportable) traps.
}

TrapMap implements compile.DebugObjectMapper. It stores function addresses, and all call and trap sites. Instruction information is not stored.

func (*TrapMap) FindCall added in v0.29.0

func (m *TrapMap) FindCall(retAddr uint32,
) (init bool, funcIndex, callIndex int, stackOffset int32, retOffset uint32)

func (TrapMap) PutDataBlock added in v0.28.1

func (TrapMap) PutDataBlock(uint32, int32)

func (TrapMap) PutInsnAddr added in v0.28.1

func (TrapMap) PutInsnAddr(uint32)

func (*TrapMap) PutTrapSite added in v0.21.0

func (m *TrapMap) PutTrapSite(retAddr uint32, stackOffset int32)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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