wasmvm/

directory
v0.0.0-...-2aff137 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2019 License: LGPL-3.0, BSD-3-Clause

README

wagon

Build Status GoDoc

wagon is a WebAssembly-based interpreter in Go, for Go.

NOTE: wagon requires Go >= 1.9.x.

Purpose

wagon aims to provide tools (executables+libraries) to:

  • decode wasm binary files
  • load and execute wasm modules' bytecode.

wagon doesn't concern itself with the production of the wasm binary files; these files should be produced with another tool (such as wabt or binaryen.) wagon may provide a utility to produce wasm files from wast or wat files (and vice versa.)

The primary goal of wagon is to provide the building blocks to be able to build an interpreter for Go code, that could be embedded in Jupyter or any Go program.

Contributing

See the CONTRIBUTING guide for pointers on how to contribute to go-interpreter and wagon.

Directories

Path Synopsis
Package disasm provides functions for disassembling WebAssembly bytecode.
Package disasm provides functions for disassembling WebAssembly bytecode.
* Copyright (C) 2018 The ontology Authors * This file is part of The ontology library.
* Copyright (C) 2018 The ontology Authors * This file is part of The ontology library.
internal/compile
Package compile is used internally by wagon to convert standard structured WebAssembly bytecode into an unstructured form suitable for execution by it's VM.
Package compile is used internally by wagon to convert standard structured WebAssembly bytecode into an unstructured form suitable for execution by it's VM.
internal
stack
Package stack implements a growable uint64 stack
Package stack implements a growable uint64 stack
package validate provides functions for validating WebAssembly modules.
package validate provides functions for validating WebAssembly modules.
Package wasm provides functions for reading and parsing WebAssembly modules.
Package wasm provides functions for reading and parsing WebAssembly modules.
leb128
Package leb128 provides functions for reading integer values encoded in the Little Endian Base 128 (LEB128) format: https://en.wikipedia.org/wiki/LEB128
Package leb128 provides functions for reading integer values encoded in the Little Endian Base 128 (LEB128) format: https://en.wikipedia.org/wiki/LEB128
operators
Package operators provides all operators used by WebAssembly bytecode, together with their parameter and return type(s).
Package operators provides all operators used by WebAssembly bytecode, together with their parameter and return type(s).

Jump to

Keyboard shortcuts

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