Versions in this module Expand all Collapse all v0 v0.6.1 Jan 21, 2020 Changes in this version + var Block = newOp(0x02, "block", nil, noReturn) + var Br = newPolymorphicOp(0x0c, "br") + var BrIf = newOp(0x0d, "br_if", []wasm.ValueType{ ... }, noReturn) + var BrTable = newPolymorphicOp(0x0e, "br_table") + var Call = newPolymorphicOp(0x10, "call") + var CallIndirect = newPolymorphicOp(0x11, "call_indirect") + var CurrentMemory = newOp(0x3f, "current_memory", nil, wasm.ValueTypeI32) + var Drop = newPolymorphicOp(0x1a, "drop") + var Else = newOp(0x05, "else", nil, noReturn) + var End = newOp(0x0b, "end", nil, noReturn) + var F32Abs = newOp(0x8b, "f32.abs", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Add = newOp(0x92, "f32.add", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Ceil = newOp(0x8d, "f32.ceil", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Const = newOp(0x43, "f32.const", nil, wasm.ValueTypeF32) + var F32ConvertSI32 = newConversionOp(0xb2, "f32.convert_s/i32") + var F32ConvertSI64 = newConversionOp(0xb4, "f32.convert_s/i64") + var F32ConvertUI32 = newConversionOp(0xb3, "f32.convert_u/i32") + var F32ConvertUI64 = newConversionOp(0xb5, "f32.convert_u/i64") + var F32Copysign = newOp(0x98, "f32.copysign", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32DemoteF64 = newConversionOp(0xb6, "f32.demote/f64") + var F32Div = newOp(0x95, "f32.div", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Eq = newOp(0x5b, "f32.eq", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F32Floor = newOp(0x8e, "f32.floor", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Ge = newOp(0x60, "f32.ge", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F32Gt = newOp(0x5e, "f32.gt", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F32Le = newOp(0x5f, "f32.le", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F32Load = newOp(0x2a, "f32.load", nil, wasm.ValueTypeF32) + var F32Lt = newOp(0x5d, "f32.lt", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F32Max = newOp(0x97, "f32.max", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Min = newOp(0x96, "f32.min", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Mul = newOp(0x94, "f32.mul", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Ne = newOp(0x5c, "f32.ne", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F32Nearest = newOp(0x90, "f32.nearest", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Neg = newOp(0x8c, "f32.neg", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32ReinterpretI32 = newOp(0xbe, "f32.reinterpret/i32", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Sqrt = newOp(0x91, "f32.sqrt", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Store = newOp(0x38, "f32.store", nil, wasm.ValueTypeF32) + var F32Sub = newOp(0x93, "f32.sub", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F32Trunc = newOp(0x8f, "f32.trunc", []wasm.ValueType{ ... }, wasm.ValueTypeF32) + var F64Abs = newOp(0x99, "f64.abs", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Add = newOp(0xa0, "f64.add", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Ceil = newOp(0x9b, "f64.ceil", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Const = newOp(0x44, "f64.const", nil, wasm.ValueTypeF64) + var F64ConvertSI32 = newConversionOp(0xb7, "f64.convert_s/i32") + var F64ConvertSI64 = newConversionOp(0xb9, "f64.convert_s/i64") + var F64ConvertUI32 = newConversionOp(0xb8, "f64.convert_u/i32") + var F64ConvertUI64 = newConversionOp(0xba, "f64.convert_u/i64") + var F64Copysign = newOp(0xa6, "f64.copysign", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Div = newOp(0xa3, "f64.div", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Eq = newOp(0x61, "f64.eq", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F64Floor = newOp(0x9c, "f64.floor", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Ge = newOp(0x66, "f64.ge", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F64Gt = newOp(0x64, "f64.gt", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F64Le = newOp(0x65, "f64.le", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F64Load = newOp(0x2b, "f64.load", nil, wasm.ValueTypeF64) + var F64Lt = newOp(0x63, "f64.lt", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F64Max = newOp(0xa5, "f64.max", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Min = newOp(0xa4, "f64.min", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Mul = newOp(0xa2, "f64.mul", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Ne = newOp(0x62, "f64.ne", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var F64Nearest = newOp(0x9e, "f64.nearest", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Neg = newOp(0x9a, "f64.neg", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64PromoteF32 = newConversionOp(0xbb, "f64.promote/f32") + var F64ReinterpretI64 = newOp(0xbf, "f64.reinterpret/i64", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Sqrt = newOp(0x9f, "f64.sqrt", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Store = newOp(0x39, "f64.store", nil, wasm.ValueTypeF64) + var F64Sub = newOp(0xa1, "f64.sub", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var F64Trunc = newOp(0x9d, "f64.trunc", []wasm.ValueType{ ... }, wasm.ValueTypeF64) + var GetGlobal = newPolymorphicOp(0x23, "get_global") + var GetLocal = newPolymorphicOp(0x20, "get_local") + var GrowMemory = newOp(0x40, "grow_memory", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Add = newOp(0x6a, "i32.add", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32And = newOp(0x71, "i32.and", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Clz = newOp(0x67, "i32.clz", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Const = newOp(0x41, "i32.const", nil, wasm.ValueTypeI32) + var I32Ctz = newOp(0x68, "i32.ctz", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32DivS = newOp(0x6d, "i32.div_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32DivU = newOp(0x6e, "i32.div_u", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Eq = newOp(0x46, "i32.eq", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Eqz = newOp(0x45, "i32.eqz", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32GeS = newOp(0x4e, "i32.ge_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32GeU = newOp(0x4f, "i32.ge_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32GtS = newOp(0x4a, "i32.gt_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32GtU = newOp(0x4b, "i32.gt_u", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32LeS = newOp(0x4c, "i32.le_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32LeU = newOp(0x4d, "i32.le_u", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Load = newOp(0x28, "i32.load", nil, wasm.ValueTypeI32) + var I32Load16s = newOp(0x2e, "i32.load16_s", nil, wasm.ValueTypeI32) + var I32Load16u = newOp(0x2f, "i32.load16_u", nil, wasm.ValueTypeI32) + var I32Load8s = newOp(0x2c, "i32.load8_s", nil, wasm.ValueTypeI32) + var I32Load8u = newOp(0x2d, "i32.load8_u", nil, wasm.ValueTypeI32) + var I32LtS = newOp(0x48, "i32.lt_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32LtU = newOp(0x49, "i32.lt_u", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Mul = newOp(0x6c, "i32.mul", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Ne = newOp(0x47, "i32.ne", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Or = newOp(0x72, "i32.or", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Popcnt = newOp(0x69, "i32.popcnt", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32ReinterpretF32 = newOp(0xbc, "i32.reinterpret/f32", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32RemS = newOp(0x6f, "i32.rem_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32RemU = newOp(0x70, "i32.rem_u", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Rotl = newOp(0x77, "i32.rotl", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Rotr = newOp(0x78, "i32.rotr", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Shl = newOp(0x74, "i32.shl", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32ShrS = newOp(0x75, "i32.shr_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32ShrU = newOp(0x76, "i32.shr_u", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32Store = newOp(0x36, "i32.store", nil, wasm.ValueTypeI32) + var I32Store16 = newOp(0x3b, "i32.store16", nil, wasm.ValueTypeI32) + var I32Store8 = newOp(0x3a, "i32.store8", nil, wasm.ValueTypeI32) + var I32Sub = newOp(0x6b, "i32.sub", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I32TruncSF32 = newConversionOp(0xa8, "i32.trunc_s/f32") + var I32TruncSF64 = newConversionOp(0xaa, "i32.trunc_s/f64") + var I32TruncUF32 = newConversionOp(0xa9, "i32.trunc_u/f32") + var I32TruncUF64 = newConversionOp(0xab, "i32.trunc_u/f64") + var I32WrapI64 = newConversionOp(0xa7, "i32.wrap/i64") + var I32Xor = newOp(0x73, "i32.xor", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64Add = newOp(0x7c, "i64.add", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64And = newOp(0x83, "i64.and", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64Clz = newOp(0x79, "i64.clz", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64Const = newOp(0x42, "i64.const", nil, wasm.ValueTypeI64) + var I64Ctz = newOp(0x7a, "i64.ctz", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64DivS = newOp(0x7f, "i64.div_s", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64DivU = newOp(0x80, "i64.div_u", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64Eq = newOp(0x51, "i64.eq", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64Eqz = newOp(0x50, "i64.eqz", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64ExtendSI32 = newConversionOp(0xac, "i64.extend_s/i32") + var I64ExtendUI32 = newConversionOp(0xad, "i64.extend_u/i32") + var I64GeS = newOp(0x59, "i64.ge_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64GeU = newOp(0x5a, "i64.ge_u", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64GtS = newOp(0x55, "i64.gt_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64GtU = newOp(0x56, "i64.gt_u", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64LeS = newOp(0x57, "i64.le_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64LeU = newOp(0x58, "i64.le_u", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64Load = newOp(0x29, "i64.load", nil, wasm.ValueTypeI64) + var I64Load16s = newOp(0x32, "i64.load16_s", nil, wasm.ValueTypeI64) + var I64Load16u = newOp(0x33, "i64.load16_u", nil, wasm.ValueTypeI64) + var I64Load32s = newOp(0x34, "i64.load32_s", nil, wasm.ValueTypeI64) + var I64Load32u = newOp(0x35, "i64.load32_u", nil, wasm.ValueTypeI64) + var I64Load8s = newOp(0x30, "i64.load8_s", nil, wasm.ValueTypeI64) + var I64Load8u = newOp(0x31, "i64.load8_u", nil, wasm.ValueTypeI64) + var I64LtS = newOp(0x53, "i64.lt_s", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64LtU = newOp(0x54, "i64.lt_u", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64Mul = newOp(0x7e, "i64.mul", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64Ne = newOp(0x52, "i64.ne", []wasm.ValueType{ ... }, wasm.ValueTypeI32) + var I64Or = newOp(0x84, "i64.or", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64Popcnt = newOp(0x7b, "i64.popcnt", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64ReinterpretF64 = newOp(0xbd, "i64.reinterpret/f64", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64RemS = newOp(0x81, "i64.div_u", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64RemU = newOp(0x82, "i64.rem_u", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64Rotl = newOp(0x89, "i64.rotl", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64Rotr = newOp(0x8a, "i64.rotr", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64Shl = newOp(0x86, "i64.shl", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64ShrS = newOp(0x87, "i64.shr_s", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64ShrU = newOp(0x88, "i64.shr_u", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64Store = newOp(0x37, "i64.store", nil, wasm.ValueTypeI64) + var I64Store16 = newOp(0x3d, "i64.store16", nil, wasm.ValueTypeI64) + var I64Store32 = newOp(0x3e, "i64.store32", nil, wasm.ValueTypeI32) + var I64Store8 = newOp(0x3c, "i64.store8", nil, wasm.ValueTypeI64) + var I64Sub = newOp(0x7d, "i64.sub", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var I64TruncSF32 = newConversionOp(0xae, "i64.trunc_s/f32") + var I64TruncSF64 = newConversionOp(0xb0, "i64.trunc_s/f64") + var I64TruncUF32 = newConversionOp(0xaf, "i64.trunc_u/f32") + var I64TruncUF64 = newConversionOp(0xb1, "i64.trunc_u/f64") + var I64Xor = newOp(0x85, "i64.xor", []wasm.ValueType{ ... }, wasm.ValueTypeI64) + var If = newOp(0x04, "if", []wasm.ValueType{ ... }, noReturn) + var Loop = newOp(0x03, "loop", nil, noReturn) + var Nop = newOp(0x01, "nop", nil, noReturn) + var Return = newPolymorphicOp(0x0f, "return") + var Select = newPolymorphicOp(0x1b, "select") + var SetGlobal = newPolymorphicOp(0x24, "set_global") + var SetLocal = newPolymorphicOp(0x21, "set_local") + var TeeLocal = newPolymorphicOp(0x22, "tee_local") + var Unreachable = newOp(0x00, "unreachable", nil, noReturn) + type InvalidOpcodeError byte + func (e InvalidOpcodeError) Error() string + type Op struct + Args []wasm.ValueType + Code byte + Name string + Polymorphic bool + Returns wasm.ValueType + func New(code byte) (Op, error) + func (o Op) IsValid() bool