Documentation ¶
Index ¶
Constants ¶
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BranchTable ¶ added in v0.4.0
type BranchTable struct { Addr int32 Targets []*BranchTarget StackDepth int // -1 indicates common depth among all targets }
type BranchTarget ¶ added in v0.4.0
type Breakpoint ¶ added in v0.32.0
type Breakpoint struct {
Set bool // Set by the compiler if it implemented the breakpoint.
}
Breakpoint information, for debugger support.
type Debugger ¶ added in v0.32.0
type Debugger struct { // Breakpoints are WebAssembly code offsets. They can be obtained from // DWARF debug info. Breakpoints map[uint32]Breakpoint CodeOffset int64 }
type Func ¶ added in v0.4.0
type Func struct { Prog // Initialized by GenProgram, preserved by GenFunction Regs regalloc.Allocator ResultType wa.Type LocalTypes []wa.Type NumParams int NumLocals int // The non-param ones NumExtra int // Library function's duplicated arguments etc. Operands []operand.O FrameBase int // Number of (stack) operands belonging to parent blocks NumStableOperands int StackDepth int // The dynamic entries after locals MaxStackDepth int BranchTargets []*BranchTarget BranchTables []BranchTable AtomicCallStubs bool }
func (*Func) LocalOffset ¶ added in v0.32.0
func (*Func) MapCallAddr ¶ added in v0.4.0
func (*Func) StackValueConsumed ¶ added in v0.32.0
func (f *Func) StackValueConsumed()
StackValueConsumed updates the virtual stack pointer on behalf of MacroAssembler when it changes the physical stack pointer.
func (*Func) ValueBecameUnreachable ¶ added in v0.32.0
ValueBecameUnreachable keeps the state consistent when an operand will not be operated on (because it was popped on an unreachable code path).
type Prog ¶ added in v0.4.0
type Prog struct { Module *module.M Text code.Buf Map obj.ObjectMapper FuncLinks []link.FuncL TrapLinks [trap.NumTraps]link.L TrapLinkRewindSuspended [program.NumTrapLinkRewindSuspended]link.L TrapLinkTruncOverflow [program.NumTrapLinkTruncOverflow]link.L LastCallAddr int32 // Needed only by arm64 backend. ImportContext *module.Library // Set during import function generation. DebugMap obj.DebugObjectMapper Debugger Debugger }
Click to show internal directories.
Click to hide internal directories.