compile

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2018 License: BSD-3-Clause Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const ObjectVersion = 0

ABI version of generated machine code.

Variables

This section is empty.

Functions

func LoadCodeSection added in v0.5.0

func LoadCodeSection(config *CodeConfig, r Reader, mod *Module) (err error)

LoadCodeSection reads a WebAssembly module's code section and generates machine code and read-only data.

func LoadDataSection added in v0.5.0

func LoadDataSection(config *DataConfig, r Reader, mod *Module) (err error)

LoadDataSection reads a WebAssembly module's data section and generates initial contents of mutable program state (globals and linear memory).

func LoadUnknownSections added in v0.5.0

func LoadUnknownSections(config *Config, r Reader) (err error)

LoadUnknownSections reads a WebAssembly module's extension sections which follow known sections.

Types

type CodeBuffer added in v0.5.0

type CodeBuffer = code.Buffer

type CodeConfig added in v0.5.0

type CodeConfig struct {
	EntrySymbol  string
	EntryArgs    []uint64
	Text         CodeBuffer // Initialized with default implementation if nil.
	ROData       DataBuffer // Initialized with default implementation if nil.
	RODataAddr   uintptr
	ObjectMapper ObjectMap
	EventHandler func(event.Event)
	Config
}

CodeConfig for a single compiler invocation.

type Config added in v0.6.0

type Config struct {
	UnknownSectionLoader func(r Reader, payloadLen uint32) error
}

Config for loading WebAssembly module sections.

type DataBuffer

type DataBuffer = data.Buffer

type DataConfig added in v0.5.0

type DataConfig struct {
	GlobalsMemory   DataBuffer // Initialized with default implementation if nil.
	MemoryAlignment int        // Initialized with minimal value if zero.
	Config
}

DataConfig for a single compiler invocation.

type ImportResolver added in v0.5.0

type ImportResolver interface {
	ResolveFunc(module, field string, sig wa.FuncType) (addr uint64, err error)
	ResolveGlobal(module, field string, t wa.Type) (init uint64, err error)
}

ImportResolver maps symbols to function addresses and constant values.

type Module

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

Module contains a WebAssembly module specification without code or data.

func LoadInitialSections added in v0.6.0

func LoadInitialSections(config *ModuleConfig, r Reader) (m *Module, err error)

LoadInitialSections reads module header and all sections preceding code and data.

func (*Module) FuncTypes added in v0.5.0

func (m *Module) FuncTypes() []wa.FuncType

func (*Module) GlobalsSize

func (m *Module) GlobalsSize() int

func (*Module) ImportFunc added in v0.5.0

func (m *Module) ImportFunc(i int) (module, field string, sig wa.FuncType)

func (*Module) ImportGlobal added in v0.5.0

func (m *Module) ImportGlobal(i int) (module, field string, t wa.Type)

func (*Module) InitialMemorySize added in v0.7.0

func (m *Module) InitialMemorySize() int

func (*Module) MemorySizeLimit added in v0.7.0

func (m *Module) MemorySizeLimit() int

func (*Module) NumImportFuncs added in v0.7.0

func (m *Module) NumImportFuncs() int

func (*Module) NumImportGlobals added in v0.7.0

func (m *Module) NumImportGlobals() int

func (*Module) SetImportFunc added in v0.7.0

func (m *Module) SetImportFunc(i int, addr uint64)

func (*Module) SetImportGlobal added in v0.7.0

func (m *Module) SetImportGlobal(i int, init uint64)

func (*Module) SetImportsUsing added in v0.7.0

func (m *Module) SetImportsUsing(reso ImportResolver) (err error)

func (*Module) Types added in v0.5.0

func (m *Module) Types() []wa.FuncType

type ModuleConfig added in v0.6.0

type ModuleConfig struct {
	Config
}

ModuleConfig for a single compiler invocation.

type ObjectMap added in v0.3.2

type ObjectMap = obj.Map

type Reader

type Reader = reader.R

Reader is a subset of bufio.Reader, bytes.Buffer and bytes.Reader.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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