Documentation
Index ¶
Constants ¶
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BranchTable ¶
type BranchTable struct { Addr int32 Targets []*BranchTarget StackDepth int // -1 indicates common depth among all targets }
type BranchTarget ¶
type Breakpoint ¶
type Breakpoint struct {
Set bool // Set by the compiler if it implemented the breakpoint.
}
Breakpoint information, for debugger support.
type Debugger ¶
type Debugger struct { // Breakpoints are WebAssembly code offsets. They can be obtained from // DWARF debug info. Breakpoints map[uint32]Breakpoint Source Teller CodeOffset int64 }
type Func ¶
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 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 ¶
func (*Func) MapCallAddr ¶
func (*Func) MapTrapAddr ¶
func (*Func) StackValueConsumed ¶
func (f *Func) StackValueConsumed()
StackValueConsumed updates the virtual stack pointer on behalf of MacroAssembler when it changes the physical stack pointer.
func (*Func) ValueBecameUnreachable ¶
ValueBecameUnreachable keeps the state consistent when an operand will not be operated on (because it was popped on an unreachable code path).
type Prog ¶
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 arm backend. ImportContext *module.Library // Set during import function generation. DebugMap obj.DebugObjectMapper Debugger Debugger }