Versions in this module Expand all Collapse all v1 v1.0.0 Oct 31, 2019 Changes in this version + const MaxHeapMemorySize + const MinHeapMemorySize + var ErrInvalidArgumentCount = errors.New("exec: invalid number of arguments to function") + var ErrMultipleLinearMemories = errors.New("exec: more than one linear memories in module") + var ErrOutOfBoundsMemoryAccess = errors.New("exec: out of bounds memory access") + var ErrSignatureMismatch = errors.New("exec: signature mismatch in call_indirect") + var ErrUndefinedElementIndex = errors.New("exec: undefined element index") + var ErrUnreachable = errors.New("exec: reached unreachable") + var InvalidMemIndex = errors.New("invalid memory index") + type ContractInvoker interface + InvokeInternal func(contractAddr string, ownerAddr string, callerAddr string, vmContext *VMContext, ...) (interface{}, error) + type InvalidFunctionIndexError int64 + func (e InvalidFunctionIndexError) Error() string + type InvalidReturnTypeError int8 + func (e InvalidReturnTypeError) Error() string + type NativeCompilationError struct + End uint + Err error + FuncIndex int + Start uint + func (e NativeCompilationError) Error() string + type NativeCompileStats struct + NumCompiledBlocks int + Ops map[byte]*OpStats + type OpStats struct + Compiled int + Interpreted int + type Process struct + func NewProcess(vm *VM) *Process + func (proc *Process) MemSize() int + func (proc *Process) ReadAt(p []byte, off int64) (int, error) + func (proc *Process) ReadString(off int64) (string, error) + func (proc *Process) Terminate() + func (proc *Process) VM() *VM + func (proc *Process) VMContext() *VMContext + func (proc *Process) WriteAt(p []byte, off int64) (int, error) + type VM struct + RecoverPanic bool + func NewVM(contractAddr string, ownerAddr string, callerAddr string, metric gas.GasMetric, ...) (*VM, error) + func (vm *VM) CallerAddr() string + func (vm *VM) Close() error + func (vm *VM) CompileStats() NativeCompileStats + func (vm *VM) ContrInvoker() ContractInvoker + func (vm *VM) ContractAddr() string + func (vm *VM) ExecCode(fnIndex int64, rtnType string, args ...uint64) (rtrn interface{}, err error) + func (vm *VM) Logger() log.Logger + func (vm *VM) Memory() []byte + func (vm *VM) Module() *wasm.Module + func (vm *VM) OwnerAddr() string + func (vm *VM) ReadAt(p []byte, off int64) (int, error) + func (vm *VM) ReadString(off int64) (string, error) + func (vm *VM) Restart() + func (vm *VM) SetBytes(bytes []byte) (uint64, error) + func (vm *VM) SetContrInvoker(contrInvoker ContractInvoker) + func (vm *VM) SetLogger(log log.Logger) + func (vm *VM) Strcmp(memIndex1 uint, memIndex2 uint) (int, error) + func (vm *VM) Strlen(memIndex uint) (int, error) + type VMContext struct + JsonObjectCache []map[string]json.RawMessage + func NewVMContext() *VMContext + func (vmc *VMContext) GasMetric() gas.GasMetric + func (vmc *VMContext) PopVM() (*VM, error) + func (vmc *VMContext) Publisher() vmevent.Publisher + func (vmc *VMContext) PushVM(vm *VM) (int, error) + func (vmc *VMContext) RunningVM() *VM + func (vmc *VMContext) SetGasMetric(metric gas.GasMetric) + func (vmc *VMContext) SetPublisher(publisher vmevent.Publisher) + func (vmc *VMContext) SetRunningVM(vm *VM) + func (vmc *VMContext) TopVM() (*VM, error) + type VMOption func(c *config) + func EnableAOT(v bool) VMOption