From d20650081caeb368da6d2d8d12c4e12070e72043 Mon Sep 17 00:00:00 2001 From: Travis CI User Date: Fri, 5 Oct 2018 14:36:05 +0000 Subject: [PATCH] Update documentation --- .lock | 0 .nojekyll | 0 COPYRIGHT.txt | 59 + FiraSans-LICENSE.txt | 99 + FiraSans-Medium.woff | Bin 0 -> 89883 bytes FiraSans-Regular.woff | Bin 0 -> 91946 bytes Heuristica-Italic.woff | Bin 0 -> 119956 bytes Heuristica-LICENSE.txt | 101 + LICENSE-APACHE.txt | 201 + LICENSE-MIT.txt | 23 + SourceCodePro-LICENSE.txt | 93 + SourceCodePro-Regular.woff | Bin 0 -> 55472 bytes SourceCodePro-Semibold.woff | Bin 0 -> 55360 bytes SourceSerifPro-Bold.woff | Bin 0 -> 48720 bytes SourceSerifPro-LICENSE.txt | 93 + SourceSerifPro-Regular.woff | Bin 0 -> 49960 bytes aliases.js | 3 + brush.svg | 1 + byteorder/BE.t.html | 10 + byteorder/BigEndian.t.html | 10 + byteorder/ByteOrder.t.html | 10 + byteorder/LE.t.html | 10 + byteorder/LittleEndian.t.html | 10 + byteorder/NativeEndian.t.html | 10 + byteorder/NetworkEndian.t.html | 10 + byteorder/ReadBytesExt.t.html | 10 + byteorder/WriteBytesExt.t.html | 10 + byteorder/all.html | 3 + byteorder/enum.BigEndian.html | 86 + byteorder/enum.LittleEndian.html | 86 + byteorder/index.html | 114 + byteorder/io/ReadBytesExt.t.html | 10 + byteorder/io/WriteBytesExt.t.html | 10 + byteorder/io/trait.ReadBytesExt.html | 10 + byteorder/io/trait.WriteBytesExt.html | 10 + byteorder/sidebar-items.js | 1 + byteorder/trait.ByteOrder.html | 779 ++ byteorder/trait.ReadBytesExt.html | 470 ++ byteorder/trait.WriteBytesExt.html | 262 + byteorder/type.BE.html | 2 + byteorder/type.LE.html | 2 + byteorder/type.NativeEndian.html | 5 + byteorder/type.NetworkEndian.html | 16 + dark.css | 12 + implementors/byteorder/trait.ByteOrder.js | 10 + implementors/byteorder/trait.ReadBytesExt.js | 10 + implementors/byteorder/trait.WriteBytesExt.js | 10 + implementors/core/clone/trait.Clone.js | 11 + implementors/core/cmp/trait.Eq.js | 11 + implementors/core/cmp/trait.Ord.js | 10 + implementors/core/cmp/trait.PartialEq.js | 11 + implementors/core/cmp/trait.PartialOrd.js | 10 + implementors/core/convert/trait.From.js | 10 + implementors/core/default/trait.Default.js | 11 + implementors/core/fmt/trait.Debug.js | 11 + implementors/core/fmt/trait.Display.js | 10 + implementors/core/hash/trait.Hash.js | 10 + .../core/iter/traits/trait.FromIterator.js | 10 + .../core/iter/traits/trait.IntoIterator.js | 10 + implementors/core/marker/trait.Copy.js | 11 + implementors/core/marker/trait.Send.js | 11 + implementors/core/marker/trait.Sync.js | 11 + .../parity_wasm/elements/trait.Deserialize.js | 10 + .../parity_wasm/elements/trait.Serialize.js | 10 + implementors/std/error/trait.Error.js | 10 + index.html | 1 + light.css | 12 + main.js | 11 + normalize.css | 2 + parity_wasm/all.html | 3 + parity_wasm/builder/DataSegmentBuilder.t.html | 10 + parity_wasm/builder/ExportBuilder.t.html | 10 + .../builder/ExportInternalBuilder.t.html | 10 + parity_wasm/builder/FuncBodyBuilder.t.html | 10 + parity_wasm/builder/FunctionBuilder.t.html | 10 + parity_wasm/builder/FunctionDefinition.t.html | 10 + parity_wasm/builder/GlobalBuilder.t.html | 10 + parity_wasm/builder/Identity.t.html | 10 + parity_wasm/builder/ImportBuilder.t.html | 10 + parity_wasm/builder/MemoryBuilder.t.html | 10 + parity_wasm/builder/ModuleBuilder.t.html | 10 + parity_wasm/builder/SignatureBuilder.t.html | 10 + parity_wasm/builder/SignaturesBuilder.t.html | 10 + parity_wasm/builder/TableBuilder.t.html | 10 + parity_wasm/builder/TableDefinition.t.html | 10 + .../builder/TableEntryDefinition.t.html | 10 + parity_wasm/builder/TypeRefBuilder.t.html | 10 + .../builder/code/FuncBodyBuilder.t.html | 10 + .../builder/code/FunctionBuilder.t.html | 10 + .../builder/code/FunctionDefinition.t.html | 10 + .../builder/code/SignatureBuilder.t.html | 10 + .../builder/code/SignaturesBuilder.t.html | 10 + .../builder/code/TypeRefBuilder.t.html | 10 + parity_wasm/builder/code/fn.function.html | 10 + parity_wasm/builder/code/fn.signature.html | 10 + parity_wasm/builder/code/fn.signatures.html | 10 + parity_wasm/builder/code/function.v.html | 10 + parity_wasm/builder/code/signature.v.html | 10 + parity_wasm/builder/code/signatures.v.html | 10 + .../builder/code/struct.FuncBodyBuilder.html | 10 + .../builder/code/struct.FunctionBuilder.html | 10 + .../code/struct.FunctionDefinition.html | 10 + .../builder/code/struct.SignatureBuilder.html | 10 + .../code/struct.SignaturesBuilder.html | 10 + .../builder/code/struct.TypeRefBuilder.html | 10 + .../builder/data/DataSegmentBuilder.t.html | 10 + .../data/struct.DataSegmentBuilder.html | 10 + parity_wasm/builder/export.v.html | 10 + .../builder/export/ExportBuilder.t.html | 10 + .../export/ExportInternalBuilder.t.html | 10 + parity_wasm/builder/export/export.v.html | 10 + parity_wasm/builder/export/fn.export.html | 10 + .../builder/export/struct.ExportBuilder.html | 10 + .../export/struct.ExportInternalBuilder.html | 10 + parity_wasm/builder/fn.export.html | 2 + parity_wasm/builder/fn.from_module.html | 2 + parity_wasm/builder/fn.function.html | 2 + parity_wasm/builder/fn.global.html | 2 + parity_wasm/builder/fn.import.html | 2 + parity_wasm/builder/fn.module.html | 16 + parity_wasm/builder/fn.signature.html | 2 + parity_wasm/builder/fn.signatures.html | 2 + parity_wasm/builder/from_module.v.html | 10 + parity_wasm/builder/function.v.html | 10 + parity_wasm/builder/global.v.html | 10 + .../builder/global/GlobalBuilder.t.html | 10 + parity_wasm/builder/global/fn.global.html | 10 + parity_wasm/builder/global/global.v.html | 10 + .../builder/global/struct.GlobalBuilder.html | 10 + parity_wasm/builder/import.v.html | 10 + .../builder/import/ImportBuilder.t.html | 10 + parity_wasm/builder/import/fn.import.html | 10 + parity_wasm/builder/import/import.v.html | 10 + .../builder/import/struct.ImportBuilder.html | 10 + parity_wasm/builder/index.html | 204 + parity_wasm/builder/invoke/Identity.t.html | 10 + .../builder/invoke/struct.Identity.html | 10 + .../builder/memory/MemoryBuilder.t.html | 10 + .../builder/memory/struct.MemoryBuilder.html | 10 + parity_wasm/builder/module.v.html | 10 + .../builder/module/ModuleBuilder.t.html | 10 + .../builder/module/fn.from_module.html | 10 + parity_wasm/builder/module/fn.module.html | 10 + parity_wasm/builder/module/from_module.v.html | 10 + parity_wasm/builder/module/module.v.html | 10 + .../builder/module/struct.ModuleBuilder.html | 10 + parity_wasm/builder/sidebar-items.js | 1 + parity_wasm/builder/signature.v.html | 10 + parity_wasm/builder/signatures.v.html | 10 + .../builder/struct.DataSegmentBuilder.html | 7 + parity_wasm/builder/struct.ExportBuilder.html | 8 + .../builder/struct.ExportInternalBuilder.html | 7 + .../builder/struct.FuncBodyBuilder.html | 7 + .../builder/struct.FunctionBuilder.html | 10 + .../builder/struct.FunctionDefinition.html | 23 + parity_wasm/builder/struct.GlobalBuilder.html | 9 + parity_wasm/builder/struct.Identity.html | 2 + parity_wasm/builder/struct.ImportBuilder.html | 10 + parity_wasm/builder/struct.MemoryBuilder.html | 8 + parity_wasm/builder/struct.ModuleBuilder.html | 76 + .../builder/struct.SignatureBuilder.html | 12 + .../builder/struct.SignaturesBuilder.html | 9 + parity_wasm/builder/struct.TableBuilder.html | 8 + .../builder/struct.TableDefinition.html | 26 + .../builder/struct.TableEntryDefinition.html | 19 + .../builder/struct.TypeRefBuilder.html | 5 + parity_wasm/builder/table/TableBuilder.t.html | 10 + .../builder/table/TableDefinition.t.html | 10 + .../builder/table/TableEntryDefinition.t.html | 10 + .../builder/table/struct.TableBuilder.html | 10 + .../builder/table/struct.TableDefinition.html | 10 + .../table/struct.TableEntryDefinition.html | 10 + parity_wasm/elements/BlockType.t.html | 10 + parity_wasm/elements/CodeSection.t.html | 10 + parity_wasm/elements/CountedList.t.html | 10 + parity_wasm/elements/CountedListWriter.t.html | 10 + parity_wasm/elements/CountedWriter.t.html | 10 + parity_wasm/elements/CustomSection.t.html | 10 + parity_wasm/elements/DataSection.t.html | 10 + parity_wasm/elements/DataSegment.t.html | 10 + parity_wasm/elements/Deserialize.t.html | 10 + parity_wasm/elements/ElementSection.t.html | 10 + parity_wasm/elements/ElementSegment.t.html | 10 + parity_wasm/elements/Error.t.html | 10 + parity_wasm/elements/ExportEntry.t.html | 10 + parity_wasm/elements/ExportSection.t.html | 10 + parity_wasm/elements/External.t.html | 10 + parity_wasm/elements/Func.t.html | 10 + parity_wasm/elements/FuncBody.t.html | 10 + .../elements/FunctionNameSection.t.html | 10 + parity_wasm/elements/FunctionSection.t.html | 10 + parity_wasm/elements/FunctionType.t.html | 10 + parity_wasm/elements/GlobalEntry.t.html | 10 + parity_wasm/elements/GlobalSection.t.html | 10 + parity_wasm/elements/GlobalType.t.html | 10 + parity_wasm/elements/ImportCountType.t.html | 10 + parity_wasm/elements/ImportEntry.t.html | 10 + parity_wasm/elements/ImportSection.t.html | 10 + parity_wasm/elements/IndexMap.t.html | 10 + parity_wasm/elements/InitExpr.t.html | 10 + parity_wasm/elements/Instruction.t.html | 10 + parity_wasm/elements/Instructions.t.html | 10 + parity_wasm/elements/Internal.t.html | 10 + parity_wasm/elements/Local.t.html | 10 + parity_wasm/elements/LocalNameSection.t.html | 10 + parity_wasm/elements/MemorySection.t.html | 10 + parity_wasm/elements/MemoryType.t.html | 10 + parity_wasm/elements/Module.t.html | 10 + parity_wasm/elements/ModuleNameSection.t.html | 10 + parity_wasm/elements/NameMap.t.html | 10 + parity_wasm/elements/NameSection.t.html | 10 + parity_wasm/elements/RelocSection.t.html | 10 + parity_wasm/elements/RelocationEntry.t.html | 10 + parity_wasm/elements/ResizableLimits.t.html | 10 + parity_wasm/elements/Section.t.html | 10 + parity_wasm/elements/Serialize.t.html | 10 + parity_wasm/elements/TableElementType.t.html | 10 + parity_wasm/elements/TableSection.t.html | 10 + parity_wasm/elements/TableType.t.html | 10 + parity_wasm/elements/Type.t.html | 10 + parity_wasm/elements/TypeSection.t.html | 10 + parity_wasm/elements/Uint32.t.html | 10 + parity_wasm/elements/Uint64.t.html | 10 + parity_wasm/elements/Uint8.t.html | 10 + parity_wasm/elements/Unparsed.t.html | 10 + parity_wasm/elements/ValueType.t.html | 10 + parity_wasm/elements/VarInt32.t.html | 10 + parity_wasm/elements/VarInt64.t.html | 10 + parity_wasm/elements/VarInt7.t.html | 10 + parity_wasm/elements/VarUint1.t.html | 10 + parity_wasm/elements/VarUint32.t.html | 10 + parity_wasm/elements/VarUint64.t.html | 10 + parity_wasm/elements/VarUint7.t.html | 10 + .../elements/deserialize_buffer.v.html | 10 + parity_wasm/elements/deserialize_file.v.html | 10 + parity_wasm/elements/enum.BlockType.html | 20 + parity_wasm/elements/enum.Error.html | 72 + parity_wasm/elements/enum.External.html | 24 + .../elements/enum.ImportCountType.html | 19 + parity_wasm/elements/enum.Instruction.html | 403 + parity_wasm/elements/enum.Internal.html | 24 + parity_wasm/elements/enum.NameSection.html | 29 + .../elements/enum.RelocationEntry.html | 94 + parity_wasm/elements/enum.Section.html | 57 + .../elements/enum.TableElementType.html | 19 + parity_wasm/elements/enum.Type.html | 18 + parity_wasm/elements/enum.ValueType.html | 28 + .../elements/export_entry/ExportEntry.t.html | 10 + .../elements/export_entry/Internal.t.html | 10 + .../elements/export_entry/enum.Internal.html | 10 + .../export_entry/struct.ExportEntry.html | 10 + .../elements/fn.deserialize_buffer.html | 2 + parity_wasm/elements/fn.deserialize_file.html | 2 + parity_wasm/elements/fn.peek_size.html | 2 + parity_wasm/elements/fn.serialize.html | 2 + .../elements/fn.serialize_to_file.html | 2 + parity_wasm/elements/func/Func.t.html | 10 + parity_wasm/elements/func/FuncBody.t.html | 10 + parity_wasm/elements/func/Local.t.html | 10 + parity_wasm/elements/func/struct.Func.html | 10 + .../elements/func/struct.FuncBody.html | 10 + parity_wasm/elements/func/struct.Local.html | 10 + .../elements/global_entry/GlobalEntry.t.html | 10 + .../global_entry/struct.GlobalEntry.html | 10 + .../elements/import_entry/External.t.html | 10 + .../elements/import_entry/GlobalType.t.html | 10 + .../elements/import_entry/ImportEntry.t.html | 10 + .../elements/import_entry/MemoryType.t.html | 10 + .../import_entry/ResizableLimits.t.html | 10 + .../elements/import_entry/TableType.t.html | 10 + .../elements/import_entry/enum.External.html | 10 + .../import_entry/struct.GlobalType.html | 10 + .../import_entry/struct.ImportEntry.html | 10 + .../import_entry/struct.MemoryType.html | 10 + .../import_entry/struct.ResizableLimits.html | 10 + .../import_entry/struct.TableType.html | 10 + parity_wasm/elements/index.html | 552 ++ .../elements/index_map/IndexMap.t.html | 10 + .../elements/index_map/struct.IndexMap.html | 10 + .../elements/module/ImportCountType.t.html | 10 + parity_wasm/elements/module/Module.t.html | 10 + .../elements/module/enum.ImportCountType.html | 10 + parity_wasm/elements/module/fn.peek_size.html | 10 + parity_wasm/elements/module/peek_size.v.html | 10 + .../elements/module/struct.Module.html | 10 + .../name_section/FunctionNameSection.t.html | 10 + .../name_section/LocalNameSection.t.html | 10 + .../name_section/ModuleNameSection.t.html | 10 + .../elements/name_section/NameMap.t.html | 10 + .../elements/name_section/NameSection.t.html | 10 + .../name_section/enum.NameSection.html | 10 + .../struct.FunctionNameSection.html | 10 + .../name_section/struct.LocalNameSection.html | 10 + .../struct.ModuleNameSection.html | 10 + .../elements/name_section/type.NameMap.html | 10 + .../elements/opcodes/ATOMIC_PREFIX.v.html | 10 + .../elements/opcodes/ATOMIC_WAKE.v.html | 10 + parity_wasm/elements/opcodes/BLOCK.v.html | 10 + parity_wasm/elements/opcodes/BR.v.html | 10 + parity_wasm/elements/opcodes/BRIF.v.html | 10 + parity_wasm/elements/opcodes/BRTABLE.v.html | 10 + parity_wasm/elements/opcodes/CALL.v.html | 10 + .../elements/opcodes/CALLINDIRECT.v.html | 10 + .../elements/opcodes/CURRENTMEMORY.v.html | 10 + parity_wasm/elements/opcodes/DROP.v.html | 10 + parity_wasm/elements/opcodes/ELSE.v.html | 10 + parity_wasm/elements/opcodes/END.v.html | 10 + parity_wasm/elements/opcodes/F32ABS.v.html | 10 + parity_wasm/elements/opcodes/F32ADD.v.html | 10 + parity_wasm/elements/opcodes/F32CEIL.v.html | 10 + parity_wasm/elements/opcodes/F32CONST.v.html | 10 + .../elements/opcodes/F32CONVERTSI32.v.html | 10 + .../elements/opcodes/F32CONVERTSI64.v.html | 10 + .../elements/opcodes/F32CONVERTUI32.v.html | 10 + .../elements/opcodes/F32CONVERTUI64.v.html | 10 + .../elements/opcodes/F32COPYSIGN.v.html | 10 + .../elements/opcodes/F32DEMOTEF64.v.html | 10 + parity_wasm/elements/opcodes/F32DIV.v.html | 10 + parity_wasm/elements/opcodes/F32EQ.v.html | 10 + parity_wasm/elements/opcodes/F32FLOOR.v.html | 10 + parity_wasm/elements/opcodes/F32GE.v.html | 10 + parity_wasm/elements/opcodes/F32GT.v.html | 10 + parity_wasm/elements/opcodes/F32LE.v.html | 10 + parity_wasm/elements/opcodes/F32LOAD.v.html | 10 + parity_wasm/elements/opcodes/F32LT.v.html | 10 + parity_wasm/elements/opcodes/F32MAX.v.html | 10 + parity_wasm/elements/opcodes/F32MIN.v.html | 10 + parity_wasm/elements/opcodes/F32MUL.v.html | 10 + parity_wasm/elements/opcodes/F32NE.v.html | 10 + .../elements/opcodes/F32NEAREST.v.html | 10 + parity_wasm/elements/opcodes/F32NEG.v.html | 10 + .../elements/opcodes/F32REINTERPRETI32.v.html | 10 + parity_wasm/elements/opcodes/F32SQRT.v.html | 10 + parity_wasm/elements/opcodes/F32STORE.v.html | 10 + parity_wasm/elements/opcodes/F32SUB.v.html | 10 + parity_wasm/elements/opcodes/F32TRUNC.v.html | 10 + parity_wasm/elements/opcodes/F32X4_ABS.v.html | 10 + parity_wasm/elements/opcodes/F32X4_ADD.v.html | 10 + .../opcodes/F32X4_CONVERT_S_I32X4.v.html | 10 + .../opcodes/F32X4_CONVERT_U_I32X4.v.html | 10 + parity_wasm/elements/opcodes/F32X4_DIV.v.html | 10 + parity_wasm/elements/opcodes/F32X4_EQ.v.html | 10 + .../opcodes/F32X4_EXTRACT_LANE.v.html | 10 + parity_wasm/elements/opcodes/F32X4_GE.v.html | 10 + parity_wasm/elements/opcodes/F32X4_GT.v.html | 10 + parity_wasm/elements/opcodes/F32X4_LE.v.html | 10 + parity_wasm/elements/opcodes/F32X4_LT.v.html | 10 + parity_wasm/elements/opcodes/F32X4_MAX.v.html | 10 + parity_wasm/elements/opcodes/F32X4_MIN.v.html | 10 + parity_wasm/elements/opcodes/F32X4_MUL.v.html | 10 + parity_wasm/elements/opcodes/F32X4_NE.v.html | 10 + parity_wasm/elements/opcodes/F32X4_NEG.v.html | 10 + .../opcodes/F32X4_REPLACE_LANE.v.html | 10 + .../elements/opcodes/F32X4_SPLAT.v.html | 10 + .../elements/opcodes/F32X4_SQRT.v.html | 10 + parity_wasm/elements/opcodes/F32X4_SUB.v.html | 10 + parity_wasm/elements/opcodes/F64ABS.v.html | 10 + parity_wasm/elements/opcodes/F64ADD.v.html | 10 + parity_wasm/elements/opcodes/F64CEIL.v.html | 10 + parity_wasm/elements/opcodes/F64CONST.v.html | 10 + .../elements/opcodes/F64CONVERTSI32.v.html | 10 + .../elements/opcodes/F64CONVERTSI64.v.html | 10 + .../elements/opcodes/F64CONVERTUI32.v.html | 10 + .../elements/opcodes/F64CONVERTUI64.v.html | 10 + .../elements/opcodes/F64COPYSIGN.v.html | 10 + parity_wasm/elements/opcodes/F64DIV.v.html | 10 + parity_wasm/elements/opcodes/F64EQ.v.html | 10 + parity_wasm/elements/opcodes/F64FLOOR.v.html | 10 + parity_wasm/elements/opcodes/F64GE.v.html | 10 + parity_wasm/elements/opcodes/F64GT.v.html | 10 + parity_wasm/elements/opcodes/F64LE.v.html | 10 + parity_wasm/elements/opcodes/F64LOAD.v.html | 10 + parity_wasm/elements/opcodes/F64LT.v.html | 10 + parity_wasm/elements/opcodes/F64MAX.v.html | 10 + parity_wasm/elements/opcodes/F64MIN.v.html | 10 + parity_wasm/elements/opcodes/F64MUL.v.html | 10 + parity_wasm/elements/opcodes/F64NE.v.html | 10 + .../elements/opcodes/F64NEAREST.v.html | 10 + parity_wasm/elements/opcodes/F64NEG.v.html | 10 + .../elements/opcodes/F64PROMOTEF32.v.html | 10 + .../elements/opcodes/F64REINTERPRETI64.v.html | 10 + parity_wasm/elements/opcodes/F64SQRT.v.html | 10 + parity_wasm/elements/opcodes/F64STORE.v.html | 10 + parity_wasm/elements/opcodes/F64SUB.v.html | 10 + parity_wasm/elements/opcodes/F64TRUNC.v.html | 10 + parity_wasm/elements/opcodes/F64X2_ABS.v.html | 10 + parity_wasm/elements/opcodes/F64X2_ADD.v.html | 10 + .../opcodes/F64X2_CONVERT_S_I64X2.v.html | 10 + .../opcodes/F64X2_CONVERT_U_I64X2.v.html | 10 + parity_wasm/elements/opcodes/F64X2_DIV.v.html | 10 + parity_wasm/elements/opcodes/F64X2_EQ.v.html | 10 + .../opcodes/F64X2_EXTRACT_LANE.v.html | 10 + parity_wasm/elements/opcodes/F64X2_GE.v.html | 10 + parity_wasm/elements/opcodes/F64X2_GT.v.html | 10 + parity_wasm/elements/opcodes/F64X2_LE.v.html | 10 + parity_wasm/elements/opcodes/F64X2_LT.v.html | 10 + parity_wasm/elements/opcodes/F64X2_MAX.v.html | 10 + parity_wasm/elements/opcodes/F64X2_MIN.v.html | 10 + parity_wasm/elements/opcodes/F64X2_MUL.v.html | 10 + parity_wasm/elements/opcodes/F64X2_NE.v.html | 10 + parity_wasm/elements/opcodes/F64X2_NEG.v.html | 10 + .../opcodes/F64X2_REPLACE_LANE.v.html | 10 + .../elements/opcodes/F64X2_SPLAT.v.html | 10 + .../elements/opcodes/F64X2_SQRT.v.html | 10 + parity_wasm/elements/opcodes/F64X2_SUB.v.html | 10 + parity_wasm/elements/opcodes/GETGLOBAL.v.html | 10 + parity_wasm/elements/opcodes/GETLOCAL.v.html | 10 + .../elements/opcodes/GROWMEMORY.v.html | 10 + parity_wasm/elements/opcodes/I16X8_ADD.v.html | 10 + .../opcodes/I16X8_ADD_SATURATE_S.v.html | 10 + .../opcodes/I16X8_ADD_SATURATE_U.v.html | 10 + .../elements/opcodes/I16X8_ALL_TRUE.v.html | 10 + .../elements/opcodes/I16X8_ANY_TRUE.v.html | 10 + parity_wasm/elements/opcodes/I16X8_EQ.v.html | 10 + .../opcodes/I16X8_EXTRACT_LANE_S.v.html | 10 + .../opcodes/I16X8_EXTRACT_LANE_U.v.html | 10 + .../elements/opcodes/I16X8_GE_S.v.html | 10 + .../elements/opcodes/I16X8_GE_U.v.html | 10 + .../elements/opcodes/I16X8_GT_S.v.html | 10 + .../elements/opcodes/I16X8_GT_U.v.html | 10 + .../elements/opcodes/I16X8_LE_S.v.html | 10 + .../elements/opcodes/I16X8_LE_U.v.html | 10 + .../elements/opcodes/I16X8_LT_S.v.html | 10 + .../elements/opcodes/I16X8_LT_U.v.html | 10 + parity_wasm/elements/opcodes/I16X8_MUL.v.html | 10 + parity_wasm/elements/opcodes/I16X8_NE.v.html | 10 + parity_wasm/elements/opcodes/I16X8_NEG.v.html | 10 + .../opcodes/I16X8_REPLACE_LANE.v.html | 10 + parity_wasm/elements/opcodes/I16X8_SHL.v.html | 10 + .../elements/opcodes/I16X8_SHR_S.v.html | 10 + .../elements/opcodes/I16X8_SHR_U.v.html | 10 + .../elements/opcodes/I16X8_SPLAT.v.html | 10 + parity_wasm/elements/opcodes/I16X8_SUB.v.html | 10 + .../opcodes/I16X8_SUB_SATURATE_S.v.html | 10 + .../opcodes/I16X8_SUB_SATURATE_U.v.html | 10 + parity_wasm/elements/opcodes/I32ADD.v.html | 10 + parity_wasm/elements/opcodes/I32AND.v.html | 10 + parity_wasm/elements/opcodes/I32CLZ.v.html | 10 + parity_wasm/elements/opcodes/I32CONST.v.html | 10 + parity_wasm/elements/opcodes/I32CTZ.v.html | 10 + parity_wasm/elements/opcodes/I32DIVS.v.html | 10 + parity_wasm/elements/opcodes/I32DIVU.v.html | 10 + parity_wasm/elements/opcodes/I32EQ.v.html | 10 + parity_wasm/elements/opcodes/I32EQZ.v.html | 10 + parity_wasm/elements/opcodes/I32GES.v.html | 10 + parity_wasm/elements/opcodes/I32GEU.v.html | 10 + parity_wasm/elements/opcodes/I32GTS.v.html | 10 + parity_wasm/elements/opcodes/I32GTU.v.html | 10 + parity_wasm/elements/opcodes/I32LES.v.html | 10 + parity_wasm/elements/opcodes/I32LEU.v.html | 10 + parity_wasm/elements/opcodes/I32LOAD.v.html | 10 + .../elements/opcodes/I32LOAD16S.v.html | 10 + .../elements/opcodes/I32LOAD16U.v.html | 10 + parity_wasm/elements/opcodes/I32LOAD8S.v.html | 10 + parity_wasm/elements/opcodes/I32LOAD8U.v.html | 10 + parity_wasm/elements/opcodes/I32LTS.v.html | 10 + parity_wasm/elements/opcodes/I32LTU.v.html | 10 + parity_wasm/elements/opcodes/I32MUL.v.html | 10 + parity_wasm/elements/opcodes/I32NE.v.html | 10 + parity_wasm/elements/opcodes/I32OR.v.html | 10 + parity_wasm/elements/opcodes/I32POPCNT.v.html | 10 + .../elements/opcodes/I32REINTERPRETF32.v.html | 10 + parity_wasm/elements/opcodes/I32REMS.v.html | 10 + parity_wasm/elements/opcodes/I32REMU.v.html | 10 + parity_wasm/elements/opcodes/I32ROTL.v.html | 10 + parity_wasm/elements/opcodes/I32ROTR.v.html | 10 + parity_wasm/elements/opcodes/I32SHL.v.html | 10 + parity_wasm/elements/opcodes/I32SHRS.v.html | 10 + parity_wasm/elements/opcodes/I32SHRU.v.html | 10 + parity_wasm/elements/opcodes/I32STORE.v.html | 10 + .../elements/opcodes/I32STORE16.v.html | 10 + parity_wasm/elements/opcodes/I32STORE8.v.html | 10 + parity_wasm/elements/opcodes/I32SUB.v.html | 10 + .../elements/opcodes/I32TRUNCSF32.v.html | 10 + .../elements/opcodes/I32TRUNCSF64.v.html | 10 + .../elements/opcodes/I32TRUNCUF32.v.html | 10 + .../elements/opcodes/I32TRUNCUF64.v.html | 10 + .../elements/opcodes/I32WRAPI64.v.html | 10 + parity_wasm/elements/opcodes/I32X4_ADD.v.html | 10 + .../elements/opcodes/I32X4_ALL_TRUE.v.html | 10 + .../elements/opcodes/I32X4_ANY_TRUE.v.html | 10 + parity_wasm/elements/opcodes/I32X4_EQ.v.html | 10 + .../opcodes/I32X4_EXTRACT_LANE.v.html | 10 + .../elements/opcodes/I32X4_GE_S.v.html | 10 + .../elements/opcodes/I32X4_GE_U.v.html | 10 + .../elements/opcodes/I32X4_GT_S.v.html | 10 + .../elements/opcodes/I32X4_GT_U.v.html | 10 + .../elements/opcodes/I32X4_LE_S.v.html | 10 + .../elements/opcodes/I32X4_LE_U.v.html | 10 + .../elements/opcodes/I32X4_LT_S.v.html | 10 + .../elements/opcodes/I32X4_LT_U.v.html | 10 + parity_wasm/elements/opcodes/I32X4_MUL.v.html | 10 + parity_wasm/elements/opcodes/I32X4_NE.v.html | 10 + parity_wasm/elements/opcodes/I32X4_NEG.v.html | 10 + .../opcodes/I32X4_REPLACE_LANE.v.html | 10 + parity_wasm/elements/opcodes/I32X4_SHL.v.html | 10 + .../elements/opcodes/I32X4_SHR_S.v.html | 10 + .../elements/opcodes/I32X4_SHR_U.v.html | 10 + .../elements/opcodes/I32X4_SPLAT.v.html | 10 + parity_wasm/elements/opcodes/I32X4_SUB.v.html | 10 + .../opcodes/I32X4_TRUNC_S_F32X4_SAT.v.html | 10 + .../opcodes/I32X4_TRUNC_U_F32X4_SAT.v.html | 10 + parity_wasm/elements/opcodes/I32XOR.v.html | 10 + .../elements/opcodes/I32_ATOMIC_LOAD.v.html | 10 + .../opcodes/I32_ATOMIC_LOAD16U.v.html | 10 + .../elements/opcodes/I32_ATOMIC_LOAD8U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_ADD.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_ADD16U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_ADD8U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_AND.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_AND16U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_AND8U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_CMPXCHG.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_CMPXCHG16U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_CMPXCHG8U.v.html | 10 + .../elements/opcodes/I32_ATOMIC_RMW_OR.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_OR16U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_OR8U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_SUB.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_SUB16U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_SUB8U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_XCHG.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_XCHG16U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_XCHG8U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_XOR.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_XOR16U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_XOR8U.v.html | 10 + .../elements/opcodes/I32_ATOMIC_STORE.v.html | 10 + .../opcodes/I32_ATOMIC_STORE16U.v.html | 10 + .../opcodes/I32_ATOMIC_STORE8U.v.html | 10 + .../elements/opcodes/I32_ATOMIC_WAIT.v.html | 10 + .../elements/opcodes/I32_EXTEND16_S.v.html | 10 + .../elements/opcodes/I32_EXTEND8_S.v.html | 10 + parity_wasm/elements/opcodes/I64ADD.v.html | 10 + parity_wasm/elements/opcodes/I64AND.v.html | 10 + parity_wasm/elements/opcodes/I64CLZ.v.html | 10 + parity_wasm/elements/opcodes/I64CONST.v.html | 10 + parity_wasm/elements/opcodes/I64CTZ.v.html | 10 + parity_wasm/elements/opcodes/I64DIVS.v.html | 10 + parity_wasm/elements/opcodes/I64DIVU.v.html | 10 + parity_wasm/elements/opcodes/I64EQ.v.html | 10 + parity_wasm/elements/opcodes/I64EQZ.v.html | 10 + .../elements/opcodes/I64EXTENDSI32.v.html | 10 + .../elements/opcodes/I64EXTENDUI32.v.html | 10 + parity_wasm/elements/opcodes/I64GES.v.html | 10 + parity_wasm/elements/opcodes/I64GEU.v.html | 10 + parity_wasm/elements/opcodes/I64GTS.v.html | 10 + parity_wasm/elements/opcodes/I64GTU.v.html | 10 + parity_wasm/elements/opcodes/I64LES.v.html | 10 + parity_wasm/elements/opcodes/I64LEU.v.html | 10 + parity_wasm/elements/opcodes/I64LOAD.v.html | 10 + .../elements/opcodes/I64LOAD16S.v.html | 10 + .../elements/opcodes/I64LOAD16U.v.html | 10 + .../elements/opcodes/I64LOAD32S.v.html | 10 + .../elements/opcodes/I64LOAD32U.v.html | 10 + parity_wasm/elements/opcodes/I64LOAD8S.v.html | 10 + parity_wasm/elements/opcodes/I64LOAD8U.v.html | 10 + parity_wasm/elements/opcodes/I64LTS.v.html | 10 + parity_wasm/elements/opcodes/I64LTU.v.html | 10 + parity_wasm/elements/opcodes/I64MUL.v.html | 10 + parity_wasm/elements/opcodes/I64NE.v.html | 10 + parity_wasm/elements/opcodes/I64OR.v.html | 10 + parity_wasm/elements/opcodes/I64POPCNT.v.html | 10 + .../elements/opcodes/I64REINTERPRETF64.v.html | 10 + parity_wasm/elements/opcodes/I64REMS.v.html | 10 + parity_wasm/elements/opcodes/I64REMU.v.html | 10 + parity_wasm/elements/opcodes/I64ROTL.v.html | 10 + parity_wasm/elements/opcodes/I64ROTR.v.html | 10 + parity_wasm/elements/opcodes/I64SHL.v.html | 10 + parity_wasm/elements/opcodes/I64SHRS.v.html | 10 + parity_wasm/elements/opcodes/I64SHRU.v.html | 10 + parity_wasm/elements/opcodes/I64STORE.v.html | 10 + .../elements/opcodes/I64STORE16.v.html | 10 + .../elements/opcodes/I64STORE32.v.html | 10 + parity_wasm/elements/opcodes/I64STORE8.v.html | 10 + parity_wasm/elements/opcodes/I64SUB.v.html | 10 + .../elements/opcodes/I64TRUNCSF32.v.html | 10 + .../elements/opcodes/I64TRUNCSF64.v.html | 10 + .../elements/opcodes/I64TRUNCUF32.v.html | 10 + .../elements/opcodes/I64TRUNCUF64.v.html | 10 + parity_wasm/elements/opcodes/I64X2_ADD.v.html | 10 + .../elements/opcodes/I64X2_ALL_TRUE.v.html | 10 + .../elements/opcodes/I64X2_ANY_TRUE.v.html | 10 + .../opcodes/I64X2_EXTRACT_LANE.v.html | 10 + .../elements/opcodes/I64X2_GE_S.v.html | 10 + .../elements/opcodes/I64X2_GE_U.v.html | 10 + .../elements/opcodes/I64X2_GT_S.v.html | 10 + .../elements/opcodes/I64X2_GT_U.v.html | 10 + .../elements/opcodes/I64X2_LE_S.v.html | 10 + .../elements/opcodes/I64X2_LE_U.v.html | 10 + .../elements/opcodes/I64X2_LT_S.v.html | 10 + .../elements/opcodes/I64X2_LT_U.v.html | 10 + parity_wasm/elements/opcodes/I64X2_NEG.v.html | 10 + .../opcodes/I64X2_REPLACE_LANE.v.html | 10 + parity_wasm/elements/opcodes/I64X2_SHL.v.html | 10 + .../elements/opcodes/I64X2_SHR_S.v.html | 10 + .../elements/opcodes/I64X2_SHR_U.v.html | 10 + .../elements/opcodes/I64X2_SPLAT.v.html | 10 + parity_wasm/elements/opcodes/I64X2_SUB.v.html | 10 + .../opcodes/I64X2_TRUNC_S_F64X2_SAT.v.html | 10 + .../opcodes/I64X2_TRUNC_U_F64X2_SAT.v.html | 10 + parity_wasm/elements/opcodes/I64XOR.v.html | 10 + .../elements/opcodes/I64_ATOMIC_LOAD.v.html | 10 + .../opcodes/I64_ATOMIC_LOAD16U.v.html | 10 + .../opcodes/I64_ATOMIC_LOAD32U.v.html | 10 + .../elements/opcodes/I64_ATOMIC_LOAD8U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_ADD.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_ADD16U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_ADD32U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_ADD8U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_AND.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_AND16U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_AND32U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_AND8U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_CMPXCHG.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_CMPXCHG16U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_CMPXCHG32U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_CMPXCHG8U.v.html | 10 + .../elements/opcodes/I64_ATOMIC_RMW_OR.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_OR16U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_OR32U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_OR8U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_SUB.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_SUB16U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_SUB32U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_SUB8U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_XCHG.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_XCHG16U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_XCHG32U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_XCHG8U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_XOR.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_XOR16U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_XOR32U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_XOR8U.v.html | 10 + .../elements/opcodes/I64_ATOMIC_STORE.v.html | 10 + .../opcodes/I64_ATOMIC_STORE16U.v.html | 10 + .../opcodes/I64_ATOMIC_STORE32U.v.html | 10 + .../opcodes/I64_ATOMIC_STORE8U.v.html | 10 + .../elements/opcodes/I64_ATOMIC_WAIT.v.html | 10 + .../elements/opcodes/I64_EXTEND16_S.v.html | 10 + .../elements/opcodes/I64_EXTEND32_S.v.html | 10 + .../elements/opcodes/I64_EXTEND8_S.v.html | 10 + parity_wasm/elements/opcodes/I8X16_ADD.v.html | 10 + .../opcodes/I8X16_ADD_SATURATE_S.v.html | 10 + .../opcodes/I8X16_ADD_SATURATE_U.v.html | 10 + .../elements/opcodes/I8X16_ALL_TRUE.v.html | 10 + .../elements/opcodes/I8X16_ANY_TRUE.v.html | 10 + parity_wasm/elements/opcodes/I8X16_EQ.v.html | 10 + .../opcodes/I8X16_EXTRACT_LANE_S.v.html | 10 + .../opcodes/I8X16_EXTRACT_LANE_U.v.html | 10 + .../elements/opcodes/I8X16_GE_S.v.html | 10 + .../elements/opcodes/I8X16_GE_U.v.html | 10 + .../elements/opcodes/I8X16_GT_S.v.html | 10 + .../elements/opcodes/I8X16_GT_U.v.html | 10 + .../elements/opcodes/I8X16_LE_S.v.html | 10 + .../elements/opcodes/I8X16_LE_U.v.html | 10 + .../elements/opcodes/I8X16_LT_S.v.html | 10 + .../elements/opcodes/I8X16_LT_U.v.html | 10 + parity_wasm/elements/opcodes/I8X16_MUL.v.html | 10 + parity_wasm/elements/opcodes/I8X16_NE.v.html | 10 + parity_wasm/elements/opcodes/I8X16_NEG.v.html | 10 + .../opcodes/I8X16_REPLACE_LANE.v.html | 10 + parity_wasm/elements/opcodes/I8X16_SHL.v.html | 10 + .../elements/opcodes/I8X16_SHR_S.v.html | 10 + .../elements/opcodes/I8X16_SHR_U.v.html | 10 + .../elements/opcodes/I8X16_SPLAT.v.html | 10 + parity_wasm/elements/opcodes/I8X16_SUB.v.html | 10 + .../opcodes/I8X16_SUB_SATURATE_S.v.html | 10 + .../opcodes/I8X16_SUB_SATURATE_U.v.html | 10 + parity_wasm/elements/opcodes/IF.v.html | 10 + parity_wasm/elements/opcodes/LOOP.v.html | 10 + parity_wasm/elements/opcodes/NOP.v.html | 10 + parity_wasm/elements/opcodes/RETURN.v.html | 10 + parity_wasm/elements/opcodes/SELECT.v.html | 10 + parity_wasm/elements/opcodes/SETGLOBAL.v.html | 10 + parity_wasm/elements/opcodes/SETLOCAL.v.html | 10 + .../elements/opcodes/SIMD_PREFIX.v.html | 10 + parity_wasm/elements/opcodes/TEELOCAL.v.html | 10 + .../elements/opcodes/UNREACHABLE.v.html | 10 + parity_wasm/elements/opcodes/V128_AND.v.html | 10 + .../elements/opcodes/V128_BITSELECT.v.html | 10 + .../elements/opcodes/V128_CONST.v.html | 10 + parity_wasm/elements/opcodes/V128_LOAD.v.html | 10 + parity_wasm/elements/opcodes/V128_NOT.v.html | 10 + parity_wasm/elements/opcodes/V128_OR.v.html | 10 + .../elements/opcodes/V128_STORE.v.html | 10 + parity_wasm/elements/opcodes/V128_XOR.v.html | 10 + .../elements/opcodes/V8X16_SHUFFLE.v.html | 10 + .../opcodes/constant.ATOMIC_PREFIX.html | 1 + .../opcodes/constant.ATOMIC_WAKE.html | 1 + .../elements/opcodes/constant.BLOCK.html | 1 + parity_wasm/elements/opcodes/constant.BR.html | 1 + .../elements/opcodes/constant.BRIF.html | 1 + .../elements/opcodes/constant.BRTABLE.html | 1 + .../elements/opcodes/constant.CALL.html | 1 + .../opcodes/constant.CALLINDIRECT.html | 1 + .../opcodes/constant.CURRENTMEMORY.html | 1 + .../elements/opcodes/constant.DROP.html | 1 + .../elements/opcodes/constant.ELSE.html | 1 + .../elements/opcodes/constant.END.html | 1 + .../elements/opcodes/constant.F32ABS.html | 1 + .../elements/opcodes/constant.F32ADD.html | 1 + .../elements/opcodes/constant.F32CEIL.html | 1 + .../elements/opcodes/constant.F32CONST.html | 1 + .../opcodes/constant.F32CONVERTSI32.html | 1 + .../opcodes/constant.F32CONVERTSI64.html | 1 + .../opcodes/constant.F32CONVERTUI32.html | 1 + .../opcodes/constant.F32CONVERTUI64.html | 1 + .../opcodes/constant.F32COPYSIGN.html | 1 + .../opcodes/constant.F32DEMOTEF64.html | 1 + .../elements/opcodes/constant.F32DIV.html | 1 + .../elements/opcodes/constant.F32EQ.html | 1 + .../elements/opcodes/constant.F32FLOOR.html | 1 + .../elements/opcodes/constant.F32GE.html | 1 + .../elements/opcodes/constant.F32GT.html | 1 + .../elements/opcodes/constant.F32LE.html | 1 + .../elements/opcodes/constant.F32LOAD.html | 1 + .../elements/opcodes/constant.F32LT.html | 1 + .../elements/opcodes/constant.F32MAX.html | 1 + .../elements/opcodes/constant.F32MIN.html | 1 + .../elements/opcodes/constant.F32MUL.html | 1 + .../elements/opcodes/constant.F32NE.html | 1 + .../elements/opcodes/constant.F32NEAREST.html | 1 + .../elements/opcodes/constant.F32NEG.html | 1 + .../opcodes/constant.F32REINTERPRETI32.html | 1 + .../elements/opcodes/constant.F32SQRT.html | 1 + .../elements/opcodes/constant.F32STORE.html | 1 + .../elements/opcodes/constant.F32SUB.html | 1 + .../elements/opcodes/constant.F32TRUNC.html | 1 + .../elements/opcodes/constant.F32X4_ABS.html | 1 + .../elements/opcodes/constant.F32X4_ADD.html | 1 + .../constant.F32X4_CONVERT_S_I32X4.html | 1 + .../constant.F32X4_CONVERT_U_I32X4.html | 1 + .../elements/opcodes/constant.F32X4_DIV.html | 1 + .../elements/opcodes/constant.F32X4_EQ.html | 1 + .../opcodes/constant.F32X4_EXTRACT_LANE.html | 1 + .../elements/opcodes/constant.F32X4_GE.html | 1 + .../elements/opcodes/constant.F32X4_GT.html | 1 + .../elements/opcodes/constant.F32X4_LE.html | 1 + .../elements/opcodes/constant.F32X4_LT.html | 1 + .../elements/opcodes/constant.F32X4_MAX.html | 1 + .../elements/opcodes/constant.F32X4_MIN.html | 1 + .../elements/opcodes/constant.F32X4_MUL.html | 1 + .../elements/opcodes/constant.F32X4_NE.html | 1 + .../elements/opcodes/constant.F32X4_NEG.html | 1 + .../opcodes/constant.F32X4_REPLACE_LANE.html | 1 + .../opcodes/constant.F32X4_SPLAT.html | 1 + .../elements/opcodes/constant.F32X4_SQRT.html | 1 + .../elements/opcodes/constant.F32X4_SUB.html | 1 + .../elements/opcodes/constant.F64ABS.html | 1 + .../elements/opcodes/constant.F64ADD.html | 1 + .../elements/opcodes/constant.F64CEIL.html | 1 + .../elements/opcodes/constant.F64CONST.html | 1 + .../opcodes/constant.F64CONVERTSI32.html | 1 + .../opcodes/constant.F64CONVERTSI64.html | 1 + .../opcodes/constant.F64CONVERTUI32.html | 1 + .../opcodes/constant.F64CONVERTUI64.html | 1 + .../opcodes/constant.F64COPYSIGN.html | 1 + .../elements/opcodes/constant.F64DIV.html | 1 + .../elements/opcodes/constant.F64EQ.html | 1 + .../elements/opcodes/constant.F64FLOOR.html | 1 + .../elements/opcodes/constant.F64GE.html | 1 + .../elements/opcodes/constant.F64GT.html | 1 + .../elements/opcodes/constant.F64LE.html | 1 + .../elements/opcodes/constant.F64LOAD.html | 1 + .../elements/opcodes/constant.F64LT.html | 1 + .../elements/opcodes/constant.F64MAX.html | 1 + .../elements/opcodes/constant.F64MIN.html | 1 + .../elements/opcodes/constant.F64MUL.html | 1 + .../elements/opcodes/constant.F64NE.html | 1 + .../elements/opcodes/constant.F64NEAREST.html | 1 + .../elements/opcodes/constant.F64NEG.html | 1 + .../opcodes/constant.F64PROMOTEF32.html | 1 + .../opcodes/constant.F64REINTERPRETI64.html | 1 + .../elements/opcodes/constant.F64SQRT.html | 1 + .../elements/opcodes/constant.F64STORE.html | 1 + .../elements/opcodes/constant.F64SUB.html | 1 + .../elements/opcodes/constant.F64TRUNC.html | 1 + .../elements/opcodes/constant.F64X2_ABS.html | 1 + .../elements/opcodes/constant.F64X2_ADD.html | 1 + .../constant.F64X2_CONVERT_S_I64X2.html | 1 + .../constant.F64X2_CONVERT_U_I64X2.html | 1 + .../elements/opcodes/constant.F64X2_DIV.html | 1 + .../elements/opcodes/constant.F64X2_EQ.html | 1 + .../opcodes/constant.F64X2_EXTRACT_LANE.html | 1 + .../elements/opcodes/constant.F64X2_GE.html | 1 + .../elements/opcodes/constant.F64X2_GT.html | 1 + .../elements/opcodes/constant.F64X2_LE.html | 1 + .../elements/opcodes/constant.F64X2_LT.html | 1 + .../elements/opcodes/constant.F64X2_MAX.html | 1 + .../elements/opcodes/constant.F64X2_MIN.html | 1 + .../elements/opcodes/constant.F64X2_MUL.html | 1 + .../elements/opcodes/constant.F64X2_NE.html | 1 + .../elements/opcodes/constant.F64X2_NEG.html | 1 + .../opcodes/constant.F64X2_REPLACE_LANE.html | 1 + .../opcodes/constant.F64X2_SPLAT.html | 1 + .../elements/opcodes/constant.F64X2_SQRT.html | 1 + .../elements/opcodes/constant.F64X2_SUB.html | 1 + .../elements/opcodes/constant.GETGLOBAL.html | 1 + .../elements/opcodes/constant.GETLOCAL.html | 1 + .../elements/opcodes/constant.GROWMEMORY.html | 1 + .../elements/opcodes/constant.I16X8_ADD.html | 1 + .../constant.I16X8_ADD_SATURATE_S.html | 1 + .../constant.I16X8_ADD_SATURATE_U.html | 1 + .../opcodes/constant.I16X8_ALL_TRUE.html | 1 + .../opcodes/constant.I16X8_ANY_TRUE.html | 1 + .../elements/opcodes/constant.I16X8_EQ.html | 1 + .../constant.I16X8_EXTRACT_LANE_S.html | 1 + .../constant.I16X8_EXTRACT_LANE_U.html | 1 + .../elements/opcodes/constant.I16X8_GE_S.html | 1 + .../elements/opcodes/constant.I16X8_GE_U.html | 1 + .../elements/opcodes/constant.I16X8_GT_S.html | 1 + .../elements/opcodes/constant.I16X8_GT_U.html | 1 + .../elements/opcodes/constant.I16X8_LE_S.html | 1 + .../elements/opcodes/constant.I16X8_LE_U.html | 1 + .../elements/opcodes/constant.I16X8_LT_S.html | 1 + .../elements/opcodes/constant.I16X8_LT_U.html | 1 + .../elements/opcodes/constant.I16X8_MUL.html | 1 + .../elements/opcodes/constant.I16X8_NE.html | 1 + .../elements/opcodes/constant.I16X8_NEG.html | 1 + .../opcodes/constant.I16X8_REPLACE_LANE.html | 1 + .../elements/opcodes/constant.I16X8_SHL.html | 1 + .../opcodes/constant.I16X8_SHR_S.html | 1 + .../opcodes/constant.I16X8_SHR_U.html | 1 + .../opcodes/constant.I16X8_SPLAT.html | 1 + .../elements/opcodes/constant.I16X8_SUB.html | 1 + .../constant.I16X8_SUB_SATURATE_S.html | 1 + .../constant.I16X8_SUB_SATURATE_U.html | 1 + .../elements/opcodes/constant.I32ADD.html | 1 + .../elements/opcodes/constant.I32AND.html | 1 + .../elements/opcodes/constant.I32CLZ.html | 1 + .../elements/opcodes/constant.I32CONST.html | 1 + .../elements/opcodes/constant.I32CTZ.html | 1 + .../elements/opcodes/constant.I32DIVS.html | 1 + .../elements/opcodes/constant.I32DIVU.html | 1 + .../elements/opcodes/constant.I32EQ.html | 1 + .../elements/opcodes/constant.I32EQZ.html | 1 + .../elements/opcodes/constant.I32GES.html | 1 + .../elements/opcodes/constant.I32GEU.html | 1 + .../elements/opcodes/constant.I32GTS.html | 1 + .../elements/opcodes/constant.I32GTU.html | 1 + .../elements/opcodes/constant.I32LES.html | 1 + .../elements/opcodes/constant.I32LEU.html | 1 + .../elements/opcodes/constant.I32LOAD.html | 1 + .../elements/opcodes/constant.I32LOAD16S.html | 1 + .../elements/opcodes/constant.I32LOAD16U.html | 1 + .../elements/opcodes/constant.I32LOAD8S.html | 1 + .../elements/opcodes/constant.I32LOAD8U.html | 1 + .../elements/opcodes/constant.I32LTS.html | 1 + .../elements/opcodes/constant.I32LTU.html | 1 + .../elements/opcodes/constant.I32MUL.html | 1 + .../elements/opcodes/constant.I32NE.html | 1 + .../elements/opcodes/constant.I32OR.html | 1 + .../elements/opcodes/constant.I32POPCNT.html | 1 + .../opcodes/constant.I32REINTERPRETF32.html | 1 + .../elements/opcodes/constant.I32REMS.html | 1 + .../elements/opcodes/constant.I32REMU.html | 1 + .../elements/opcodes/constant.I32ROTL.html | 1 + .../elements/opcodes/constant.I32ROTR.html | 1 + .../elements/opcodes/constant.I32SHL.html | 1 + .../elements/opcodes/constant.I32SHRS.html | 1 + .../elements/opcodes/constant.I32SHRU.html | 1 + .../elements/opcodes/constant.I32STORE.html | 1 + .../elements/opcodes/constant.I32STORE16.html | 1 + .../elements/opcodes/constant.I32STORE8.html | 1 + .../elements/opcodes/constant.I32SUB.html | 1 + .../opcodes/constant.I32TRUNCSF32.html | 1 + .../opcodes/constant.I32TRUNCSF64.html | 1 + .../opcodes/constant.I32TRUNCUF32.html | 1 + .../opcodes/constant.I32TRUNCUF64.html | 1 + .../elements/opcodes/constant.I32WRAPI64.html | 1 + .../elements/opcodes/constant.I32X4_ADD.html | 1 + .../opcodes/constant.I32X4_ALL_TRUE.html | 1 + .../opcodes/constant.I32X4_ANY_TRUE.html | 1 + .../elements/opcodes/constant.I32X4_EQ.html | 1 + .../opcodes/constant.I32X4_EXTRACT_LANE.html | 1 + .../elements/opcodes/constant.I32X4_GE_S.html | 1 + .../elements/opcodes/constant.I32X4_GE_U.html | 1 + .../elements/opcodes/constant.I32X4_GT_S.html | 1 + .../elements/opcodes/constant.I32X4_GT_U.html | 1 + .../elements/opcodes/constant.I32X4_LE_S.html | 1 + .../elements/opcodes/constant.I32X4_LE_U.html | 1 + .../elements/opcodes/constant.I32X4_LT_S.html | 1 + .../elements/opcodes/constant.I32X4_LT_U.html | 1 + .../elements/opcodes/constant.I32X4_MUL.html | 1 + .../elements/opcodes/constant.I32X4_NE.html | 1 + .../elements/opcodes/constant.I32X4_NEG.html | 1 + .../opcodes/constant.I32X4_REPLACE_LANE.html | 1 + .../elements/opcodes/constant.I32X4_SHL.html | 1 + .../opcodes/constant.I32X4_SHR_S.html | 1 + .../opcodes/constant.I32X4_SHR_U.html | 1 + .../opcodes/constant.I32X4_SPLAT.html | 1 + .../elements/opcodes/constant.I32X4_SUB.html | 1 + .../constant.I32X4_TRUNC_S_F32X4_SAT.html | 1 + .../constant.I32X4_TRUNC_U_F32X4_SAT.html | 1 + .../elements/opcodes/constant.I32XOR.html | 1 + .../opcodes/constant.I32_ATOMIC_LOAD.html | 1 + .../opcodes/constant.I32_ATOMIC_LOAD16U.html | 1 + .../opcodes/constant.I32_ATOMIC_LOAD8U.html | 1 + .../opcodes/constant.I32_ATOMIC_RMW_ADD.html | 1 + .../constant.I32_ATOMIC_RMW_ADD16U.html | 1 + .../constant.I32_ATOMIC_RMW_ADD8U.html | 1 + .../opcodes/constant.I32_ATOMIC_RMW_AND.html | 1 + .../constant.I32_ATOMIC_RMW_AND16U.html | 1 + .../constant.I32_ATOMIC_RMW_AND8U.html | 1 + .../constant.I32_ATOMIC_RMW_CMPXCHG.html | 1 + .../constant.I32_ATOMIC_RMW_CMPXCHG16U.html | 1 + .../constant.I32_ATOMIC_RMW_CMPXCHG8U.html | 1 + .../opcodes/constant.I32_ATOMIC_RMW_OR.html | 1 + .../constant.I32_ATOMIC_RMW_OR16U.html | 1 + .../opcodes/constant.I32_ATOMIC_RMW_OR8U.html | 1 + .../opcodes/constant.I32_ATOMIC_RMW_SUB.html | 1 + .../constant.I32_ATOMIC_RMW_SUB16U.html | 1 + .../constant.I32_ATOMIC_RMW_SUB8U.html | 1 + .../opcodes/constant.I32_ATOMIC_RMW_XCHG.html | 1 + .../constant.I32_ATOMIC_RMW_XCHG16U.html | 1 + .../constant.I32_ATOMIC_RMW_XCHG8U.html | 1 + .../opcodes/constant.I32_ATOMIC_RMW_XOR.html | 1 + .../constant.I32_ATOMIC_RMW_XOR16U.html | 1 + .../constant.I32_ATOMIC_RMW_XOR8U.html | 1 + .../opcodes/constant.I32_ATOMIC_STORE.html | 1 + .../opcodes/constant.I32_ATOMIC_STORE16U.html | 1 + .../opcodes/constant.I32_ATOMIC_STORE8U.html | 1 + .../opcodes/constant.I32_ATOMIC_WAIT.html | 1 + .../opcodes/constant.I32_EXTEND16_S.html | 1 + .../opcodes/constant.I32_EXTEND8_S.html | 1 + .../elements/opcodes/constant.I64ADD.html | 1 + .../elements/opcodes/constant.I64AND.html | 1 + .../elements/opcodes/constant.I64CLZ.html | 1 + .../elements/opcodes/constant.I64CONST.html | 1 + .../elements/opcodes/constant.I64CTZ.html | 1 + .../elements/opcodes/constant.I64DIVS.html | 1 + .../elements/opcodes/constant.I64DIVU.html | 1 + .../elements/opcodes/constant.I64EQ.html | 1 + .../elements/opcodes/constant.I64EQZ.html | 1 + .../opcodes/constant.I64EXTENDSI32.html | 1 + .../opcodes/constant.I64EXTENDUI32.html | 1 + .../elements/opcodes/constant.I64GES.html | 1 + .../elements/opcodes/constant.I64GEU.html | 1 + .../elements/opcodes/constant.I64GTS.html | 1 + .../elements/opcodes/constant.I64GTU.html | 1 + .../elements/opcodes/constant.I64LES.html | 1 + .../elements/opcodes/constant.I64LEU.html | 1 + .../elements/opcodes/constant.I64LOAD.html | 1 + .../elements/opcodes/constant.I64LOAD16S.html | 1 + .../elements/opcodes/constant.I64LOAD16U.html | 1 + .../elements/opcodes/constant.I64LOAD32S.html | 1 + .../elements/opcodes/constant.I64LOAD32U.html | 1 + .../elements/opcodes/constant.I64LOAD8S.html | 1 + .../elements/opcodes/constant.I64LOAD8U.html | 1 + .../elements/opcodes/constant.I64LTS.html | 1 + .../elements/opcodes/constant.I64LTU.html | 1 + .../elements/opcodes/constant.I64MUL.html | 1 + .../elements/opcodes/constant.I64NE.html | 1 + .../elements/opcodes/constant.I64OR.html | 1 + .../elements/opcodes/constant.I64POPCNT.html | 1 + .../opcodes/constant.I64REINTERPRETF64.html | 1 + .../elements/opcodes/constant.I64REMS.html | 1 + .../elements/opcodes/constant.I64REMU.html | 1 + .../elements/opcodes/constant.I64ROTL.html | 1 + .../elements/opcodes/constant.I64ROTR.html | 1 + .../elements/opcodes/constant.I64SHL.html | 1 + .../elements/opcodes/constant.I64SHRS.html | 1 + .../elements/opcodes/constant.I64SHRU.html | 1 + .../elements/opcodes/constant.I64STORE.html | 1 + .../elements/opcodes/constant.I64STORE16.html | 1 + .../elements/opcodes/constant.I64STORE32.html | 1 + .../elements/opcodes/constant.I64STORE8.html | 1 + .../elements/opcodes/constant.I64SUB.html | 1 + .../opcodes/constant.I64TRUNCSF32.html | 1 + .../opcodes/constant.I64TRUNCSF64.html | 1 + .../opcodes/constant.I64TRUNCUF32.html | 1 + .../opcodes/constant.I64TRUNCUF64.html | 1 + .../elements/opcodes/constant.I64X2_ADD.html | 1 + .../opcodes/constant.I64X2_ALL_TRUE.html | 1 + .../opcodes/constant.I64X2_ANY_TRUE.html | 1 + .../opcodes/constant.I64X2_EXTRACT_LANE.html | 1 + .../elements/opcodes/constant.I64X2_GE_S.html | 1 + .../elements/opcodes/constant.I64X2_GE_U.html | 1 + .../elements/opcodes/constant.I64X2_GT_S.html | 1 + .../elements/opcodes/constant.I64X2_GT_U.html | 1 + .../elements/opcodes/constant.I64X2_LE_S.html | 1 + .../elements/opcodes/constant.I64X2_LE_U.html | 1 + .../elements/opcodes/constant.I64X2_LT_S.html | 1 + .../elements/opcodes/constant.I64X2_LT_U.html | 1 + .../elements/opcodes/constant.I64X2_NEG.html | 1 + .../opcodes/constant.I64X2_REPLACE_LANE.html | 1 + .../elements/opcodes/constant.I64X2_SHL.html | 1 + .../opcodes/constant.I64X2_SHR_S.html | 1 + .../opcodes/constant.I64X2_SHR_U.html | 1 + .../opcodes/constant.I64X2_SPLAT.html | 1 + .../elements/opcodes/constant.I64X2_SUB.html | 1 + .../constant.I64X2_TRUNC_S_F64X2_SAT.html | 1 + .../constant.I64X2_TRUNC_U_F64X2_SAT.html | 1 + .../elements/opcodes/constant.I64XOR.html | 1 + .../opcodes/constant.I64_ATOMIC_LOAD.html | 1 + .../opcodes/constant.I64_ATOMIC_LOAD16U.html | 1 + .../opcodes/constant.I64_ATOMIC_LOAD32U.html | 1 + .../opcodes/constant.I64_ATOMIC_LOAD8U.html | 1 + .../opcodes/constant.I64_ATOMIC_RMW_ADD.html | 1 + .../constant.I64_ATOMIC_RMW_ADD16U.html | 1 + .../constant.I64_ATOMIC_RMW_ADD32U.html | 1 + .../constant.I64_ATOMIC_RMW_ADD8U.html | 1 + .../opcodes/constant.I64_ATOMIC_RMW_AND.html | 1 + .../constant.I64_ATOMIC_RMW_AND16U.html | 1 + .../constant.I64_ATOMIC_RMW_AND32U.html | 1 + .../constant.I64_ATOMIC_RMW_AND8U.html | 1 + .../constant.I64_ATOMIC_RMW_CMPXCHG.html | 1 + .../constant.I64_ATOMIC_RMW_CMPXCHG16U.html | 1 + .../constant.I64_ATOMIC_RMW_CMPXCHG32U.html | 1 + .../constant.I64_ATOMIC_RMW_CMPXCHG8U.html | 1 + .../opcodes/constant.I64_ATOMIC_RMW_OR.html | 1 + .../constant.I64_ATOMIC_RMW_OR16U.html | 1 + .../constant.I64_ATOMIC_RMW_OR32U.html | 1 + .../opcodes/constant.I64_ATOMIC_RMW_OR8U.html | 1 + .../opcodes/constant.I64_ATOMIC_RMW_SUB.html | 1 + .../constant.I64_ATOMIC_RMW_SUB16U.html | 1 + .../constant.I64_ATOMIC_RMW_SUB32U.html | 1 + .../constant.I64_ATOMIC_RMW_SUB8U.html | 1 + .../opcodes/constant.I64_ATOMIC_RMW_XCHG.html | 1 + .../constant.I64_ATOMIC_RMW_XCHG16U.html | 1 + .../constant.I64_ATOMIC_RMW_XCHG32U.html | 1 + .../constant.I64_ATOMIC_RMW_XCHG8U.html | 1 + .../opcodes/constant.I64_ATOMIC_RMW_XOR.html | 1 + .../constant.I64_ATOMIC_RMW_XOR16U.html | 1 + .../constant.I64_ATOMIC_RMW_XOR32U.html | 1 + .../constant.I64_ATOMIC_RMW_XOR8U.html | 1 + .../opcodes/constant.I64_ATOMIC_STORE.html | 1 + .../opcodes/constant.I64_ATOMIC_STORE16U.html | 1 + .../opcodes/constant.I64_ATOMIC_STORE32U.html | 1 + .../opcodes/constant.I64_ATOMIC_STORE8U.html | 1 + .../opcodes/constant.I64_ATOMIC_WAIT.html | 1 + .../opcodes/constant.I64_EXTEND16_S.html | 1 + .../opcodes/constant.I64_EXTEND32_S.html | 1 + .../opcodes/constant.I64_EXTEND8_S.html | 1 + .../elements/opcodes/constant.I8X16_ADD.html | 1 + .../constant.I8X16_ADD_SATURATE_S.html | 1 + .../constant.I8X16_ADD_SATURATE_U.html | 1 + .../opcodes/constant.I8X16_ALL_TRUE.html | 1 + .../opcodes/constant.I8X16_ANY_TRUE.html | 1 + .../elements/opcodes/constant.I8X16_EQ.html | 1 + .../constant.I8X16_EXTRACT_LANE_S.html | 1 + .../constant.I8X16_EXTRACT_LANE_U.html | 1 + .../elements/opcodes/constant.I8X16_GE_S.html | 1 + .../elements/opcodes/constant.I8X16_GE_U.html | 1 + .../elements/opcodes/constant.I8X16_GT_S.html | 1 + .../elements/opcodes/constant.I8X16_GT_U.html | 1 + .../elements/opcodes/constant.I8X16_LE_S.html | 1 + .../elements/opcodes/constant.I8X16_LE_U.html | 1 + .../elements/opcodes/constant.I8X16_LT_S.html | 1 + .../elements/opcodes/constant.I8X16_LT_U.html | 1 + .../elements/opcodes/constant.I8X16_MUL.html | 1 + .../elements/opcodes/constant.I8X16_NE.html | 1 + .../elements/opcodes/constant.I8X16_NEG.html | 1 + .../opcodes/constant.I8X16_REPLACE_LANE.html | 1 + .../elements/opcodes/constant.I8X16_SHL.html | 1 + .../opcodes/constant.I8X16_SHR_S.html | 1 + .../opcodes/constant.I8X16_SHR_U.html | 1 + .../opcodes/constant.I8X16_SPLAT.html | 1 + .../elements/opcodes/constant.I8X16_SUB.html | 1 + .../constant.I8X16_SUB_SATURATE_S.html | 1 + .../constant.I8X16_SUB_SATURATE_U.html | 1 + parity_wasm/elements/opcodes/constant.IF.html | 1 + .../elements/opcodes/constant.LOOP.html | 1 + .../elements/opcodes/constant.NOP.html | 1 + .../elements/opcodes/constant.RETURN.html | 1 + .../elements/opcodes/constant.SELECT.html | 1 + .../elements/opcodes/constant.SETGLOBAL.html | 1 + .../elements/opcodes/constant.SETLOCAL.html | 1 + .../opcodes/constant.SIMD_PREFIX.html | 1 + .../elements/opcodes/constant.TEELOCAL.html | 1 + .../opcodes/constant.UNREACHABLE.html | 1 + .../elements/opcodes/constant.V128_AND.html | 1 + .../opcodes/constant.V128_BITSELECT.html | 1 + .../elements/opcodes/constant.V128_CONST.html | 1 + .../elements/opcodes/constant.V128_LOAD.html | 1 + .../elements/opcodes/constant.V128_NOT.html | 1 + .../elements/opcodes/constant.V128_OR.html | 1 + .../elements/opcodes/constant.V128_STORE.html | 1 + .../elements/opcodes/constant.V128_XOR.html | 1 + .../opcodes/constant.V8X16_SHUFFLE.html | 1 + parity_wasm/elements/opcodes/index.html | 2753 +++++++ parity_wasm/elements/opcodes/sidebar-items.js | 1 + parity_wasm/elements/ops/InitExpr.t.html | 10 + parity_wasm/elements/ops/Instruction.t.html | 10 + parity_wasm/elements/ops/Instructions.t.html | 10 + .../elements/ops/enum.Instruction.html | 10 + .../elements/ops/opcodes/ATOMIC_PREFIX.v.html | 10 + .../elements/ops/opcodes/ATOMIC_WAKE.v.html | 10 + parity_wasm/elements/ops/opcodes/BLOCK.v.html | 10 + parity_wasm/elements/ops/opcodes/BR.v.html | 10 + parity_wasm/elements/ops/opcodes/BRIF.v.html | 10 + .../elements/ops/opcodes/BRTABLE.v.html | 10 + parity_wasm/elements/ops/opcodes/CALL.v.html | 10 + .../elements/ops/opcodes/CALLINDIRECT.v.html | 10 + .../elements/ops/opcodes/CURRENTMEMORY.v.html | 10 + parity_wasm/elements/ops/opcodes/DROP.v.html | 10 + parity_wasm/elements/ops/opcodes/ELSE.v.html | 10 + parity_wasm/elements/ops/opcodes/END.v.html | 10 + .../elements/ops/opcodes/F32ABS.v.html | 10 + .../elements/ops/opcodes/F32ADD.v.html | 10 + .../elements/ops/opcodes/F32CEIL.v.html | 10 + .../elements/ops/opcodes/F32CONST.v.html | 10 + .../ops/opcodes/F32CONVERTSI32.v.html | 10 + .../ops/opcodes/F32CONVERTSI64.v.html | 10 + .../ops/opcodes/F32CONVERTUI32.v.html | 10 + .../ops/opcodes/F32CONVERTUI64.v.html | 10 + .../elements/ops/opcodes/F32COPYSIGN.v.html | 10 + .../elements/ops/opcodes/F32DEMOTEF64.v.html | 10 + .../elements/ops/opcodes/F32DIV.v.html | 10 + parity_wasm/elements/ops/opcodes/F32EQ.v.html | 10 + .../elements/ops/opcodes/F32FLOOR.v.html | 10 + parity_wasm/elements/ops/opcodes/F32GE.v.html | 10 + parity_wasm/elements/ops/opcodes/F32GT.v.html | 10 + parity_wasm/elements/ops/opcodes/F32LE.v.html | 10 + .../elements/ops/opcodes/F32LOAD.v.html | 10 + parity_wasm/elements/ops/opcodes/F32LT.v.html | 10 + .../elements/ops/opcodes/F32MAX.v.html | 10 + .../elements/ops/opcodes/F32MIN.v.html | 10 + .../elements/ops/opcodes/F32MUL.v.html | 10 + parity_wasm/elements/ops/opcodes/F32NE.v.html | 10 + .../elements/ops/opcodes/F32NEAREST.v.html | 10 + .../elements/ops/opcodes/F32NEG.v.html | 10 + .../ops/opcodes/F32REINTERPRETI32.v.html | 10 + .../elements/ops/opcodes/F32SQRT.v.html | 10 + .../elements/ops/opcodes/F32STORE.v.html | 10 + .../elements/ops/opcodes/F32SUB.v.html | 10 + .../elements/ops/opcodes/F32TRUNC.v.html | 10 + .../elements/ops/opcodes/F32X4_ABS.v.html | 10 + .../elements/ops/opcodes/F32X4_ADD.v.html | 10 + .../ops/opcodes/F32X4_CONVERT_S_I32X4.v.html | 10 + .../ops/opcodes/F32X4_CONVERT_U_I32X4.v.html | 10 + .../elements/ops/opcodes/F32X4_DIV.v.html | 10 + .../elements/ops/opcodes/F32X4_EQ.v.html | 10 + .../ops/opcodes/F32X4_EXTRACT_LANE.v.html | 10 + .../elements/ops/opcodes/F32X4_GE.v.html | 10 + .../elements/ops/opcodes/F32X4_GT.v.html | 10 + .../elements/ops/opcodes/F32X4_LE.v.html | 10 + .../elements/ops/opcodes/F32X4_LT.v.html | 10 + .../elements/ops/opcodes/F32X4_MAX.v.html | 10 + .../elements/ops/opcodes/F32X4_MIN.v.html | 10 + .../elements/ops/opcodes/F32X4_MUL.v.html | 10 + .../elements/ops/opcodes/F32X4_NE.v.html | 10 + .../elements/ops/opcodes/F32X4_NEG.v.html | 10 + .../ops/opcodes/F32X4_REPLACE_LANE.v.html | 10 + .../elements/ops/opcodes/F32X4_SPLAT.v.html | 10 + .../elements/ops/opcodes/F32X4_SQRT.v.html | 10 + .../elements/ops/opcodes/F32X4_SUB.v.html | 10 + .../elements/ops/opcodes/F64ABS.v.html | 10 + .../elements/ops/opcodes/F64ADD.v.html | 10 + .../elements/ops/opcodes/F64CEIL.v.html | 10 + .../elements/ops/opcodes/F64CONST.v.html | 10 + .../ops/opcodes/F64CONVERTSI32.v.html | 10 + .../ops/opcodes/F64CONVERTSI64.v.html | 10 + .../ops/opcodes/F64CONVERTUI32.v.html | 10 + .../ops/opcodes/F64CONVERTUI64.v.html | 10 + .../elements/ops/opcodes/F64COPYSIGN.v.html | 10 + .../elements/ops/opcodes/F64DIV.v.html | 10 + parity_wasm/elements/ops/opcodes/F64EQ.v.html | 10 + .../elements/ops/opcodes/F64FLOOR.v.html | 10 + parity_wasm/elements/ops/opcodes/F64GE.v.html | 10 + parity_wasm/elements/ops/opcodes/F64GT.v.html | 10 + parity_wasm/elements/ops/opcodes/F64LE.v.html | 10 + .../elements/ops/opcodes/F64LOAD.v.html | 10 + parity_wasm/elements/ops/opcodes/F64LT.v.html | 10 + .../elements/ops/opcodes/F64MAX.v.html | 10 + .../elements/ops/opcodes/F64MIN.v.html | 10 + .../elements/ops/opcodes/F64MUL.v.html | 10 + parity_wasm/elements/ops/opcodes/F64NE.v.html | 10 + .../elements/ops/opcodes/F64NEAREST.v.html | 10 + .../elements/ops/opcodes/F64NEG.v.html | 10 + .../elements/ops/opcodes/F64PROMOTEF32.v.html | 10 + .../ops/opcodes/F64REINTERPRETI64.v.html | 10 + .../elements/ops/opcodes/F64SQRT.v.html | 10 + .../elements/ops/opcodes/F64STORE.v.html | 10 + .../elements/ops/opcodes/F64SUB.v.html | 10 + .../elements/ops/opcodes/F64TRUNC.v.html | 10 + .../elements/ops/opcodes/F64X2_ABS.v.html | 10 + .../elements/ops/opcodes/F64X2_ADD.v.html | 10 + .../ops/opcodes/F64X2_CONVERT_S_I64X2.v.html | 10 + .../ops/opcodes/F64X2_CONVERT_U_I64X2.v.html | 10 + .../elements/ops/opcodes/F64X2_DIV.v.html | 10 + .../elements/ops/opcodes/F64X2_EQ.v.html | 10 + .../ops/opcodes/F64X2_EXTRACT_LANE.v.html | 10 + .../elements/ops/opcodes/F64X2_GE.v.html | 10 + .../elements/ops/opcodes/F64X2_GT.v.html | 10 + .../elements/ops/opcodes/F64X2_LE.v.html | 10 + .../elements/ops/opcodes/F64X2_LT.v.html | 10 + .../elements/ops/opcodes/F64X2_MAX.v.html | 10 + .../elements/ops/opcodes/F64X2_MIN.v.html | 10 + .../elements/ops/opcodes/F64X2_MUL.v.html | 10 + .../elements/ops/opcodes/F64X2_NE.v.html | 10 + .../elements/ops/opcodes/F64X2_NEG.v.html | 10 + .../ops/opcodes/F64X2_REPLACE_LANE.v.html | 10 + .../elements/ops/opcodes/F64X2_SPLAT.v.html | 10 + .../elements/ops/opcodes/F64X2_SQRT.v.html | 10 + .../elements/ops/opcodes/F64X2_SUB.v.html | 10 + .../elements/ops/opcodes/GETGLOBAL.v.html | 10 + .../elements/ops/opcodes/GETLOCAL.v.html | 10 + .../elements/ops/opcodes/GROWMEMORY.v.html | 10 + .../elements/ops/opcodes/I16X8_ADD.v.html | 10 + .../ops/opcodes/I16X8_ADD_SATURATE_S.v.html | 10 + .../ops/opcodes/I16X8_ADD_SATURATE_U.v.html | 10 + .../ops/opcodes/I16X8_ALL_TRUE.v.html | 10 + .../ops/opcodes/I16X8_ANY_TRUE.v.html | 10 + .../elements/ops/opcodes/I16X8_EQ.v.html | 10 + .../ops/opcodes/I16X8_EXTRACT_LANE_S.v.html | 10 + .../ops/opcodes/I16X8_EXTRACT_LANE_U.v.html | 10 + .../elements/ops/opcodes/I16X8_GE_S.v.html | 10 + .../elements/ops/opcodes/I16X8_GE_U.v.html | 10 + .../elements/ops/opcodes/I16X8_GT_S.v.html | 10 + .../elements/ops/opcodes/I16X8_GT_U.v.html | 10 + .../elements/ops/opcodes/I16X8_LE_S.v.html | 10 + .../elements/ops/opcodes/I16X8_LE_U.v.html | 10 + .../elements/ops/opcodes/I16X8_LT_S.v.html | 10 + .../elements/ops/opcodes/I16X8_LT_U.v.html | 10 + .../elements/ops/opcodes/I16X8_MUL.v.html | 10 + .../elements/ops/opcodes/I16X8_NE.v.html | 10 + .../elements/ops/opcodes/I16X8_NEG.v.html | 10 + .../ops/opcodes/I16X8_REPLACE_LANE.v.html | 10 + .../elements/ops/opcodes/I16X8_SHL.v.html | 10 + .../elements/ops/opcodes/I16X8_SHR_S.v.html | 10 + .../elements/ops/opcodes/I16X8_SHR_U.v.html | 10 + .../elements/ops/opcodes/I16X8_SPLAT.v.html | 10 + .../elements/ops/opcodes/I16X8_SUB.v.html | 10 + .../ops/opcodes/I16X8_SUB_SATURATE_S.v.html | 10 + .../ops/opcodes/I16X8_SUB_SATURATE_U.v.html | 10 + .../elements/ops/opcodes/I32ADD.v.html | 10 + .../elements/ops/opcodes/I32AND.v.html | 10 + .../elements/ops/opcodes/I32CLZ.v.html | 10 + .../elements/ops/opcodes/I32CONST.v.html | 10 + .../elements/ops/opcodes/I32CTZ.v.html | 10 + .../elements/ops/opcodes/I32DIVS.v.html | 10 + .../elements/ops/opcodes/I32DIVU.v.html | 10 + parity_wasm/elements/ops/opcodes/I32EQ.v.html | 10 + .../elements/ops/opcodes/I32EQZ.v.html | 10 + .../elements/ops/opcodes/I32GES.v.html | 10 + .../elements/ops/opcodes/I32GEU.v.html | 10 + .../elements/ops/opcodes/I32GTS.v.html | 10 + .../elements/ops/opcodes/I32GTU.v.html | 10 + .../elements/ops/opcodes/I32LES.v.html | 10 + .../elements/ops/opcodes/I32LEU.v.html | 10 + .../elements/ops/opcodes/I32LOAD.v.html | 10 + .../elements/ops/opcodes/I32LOAD16S.v.html | 10 + .../elements/ops/opcodes/I32LOAD16U.v.html | 10 + .../elements/ops/opcodes/I32LOAD8S.v.html | 10 + .../elements/ops/opcodes/I32LOAD8U.v.html | 10 + .../elements/ops/opcodes/I32LTS.v.html | 10 + .../elements/ops/opcodes/I32LTU.v.html | 10 + .../elements/ops/opcodes/I32MUL.v.html | 10 + parity_wasm/elements/ops/opcodes/I32NE.v.html | 10 + parity_wasm/elements/ops/opcodes/I32OR.v.html | 10 + .../elements/ops/opcodes/I32POPCNT.v.html | 10 + .../ops/opcodes/I32REINTERPRETF32.v.html | 10 + .../elements/ops/opcodes/I32REMS.v.html | 10 + .../elements/ops/opcodes/I32REMU.v.html | 10 + .../elements/ops/opcodes/I32ROTL.v.html | 10 + .../elements/ops/opcodes/I32ROTR.v.html | 10 + .../elements/ops/opcodes/I32SHL.v.html | 10 + .../elements/ops/opcodes/I32SHRS.v.html | 10 + .../elements/ops/opcodes/I32SHRU.v.html | 10 + .../elements/ops/opcodes/I32STORE.v.html | 10 + .../elements/ops/opcodes/I32STORE16.v.html | 10 + .../elements/ops/opcodes/I32STORE8.v.html | 10 + .../elements/ops/opcodes/I32SUB.v.html | 10 + .../elements/ops/opcodes/I32TRUNCSF32.v.html | 10 + .../elements/ops/opcodes/I32TRUNCSF64.v.html | 10 + .../elements/ops/opcodes/I32TRUNCUF32.v.html | 10 + .../elements/ops/opcodes/I32TRUNCUF64.v.html | 10 + .../elements/ops/opcodes/I32WRAPI64.v.html | 10 + .../elements/ops/opcodes/I32X4_ADD.v.html | 10 + .../ops/opcodes/I32X4_ALL_TRUE.v.html | 10 + .../ops/opcodes/I32X4_ANY_TRUE.v.html | 10 + .../elements/ops/opcodes/I32X4_EQ.v.html | 10 + .../ops/opcodes/I32X4_EXTRACT_LANE.v.html | 10 + .../elements/ops/opcodes/I32X4_GE_S.v.html | 10 + .../elements/ops/opcodes/I32X4_GE_U.v.html | 10 + .../elements/ops/opcodes/I32X4_GT_S.v.html | 10 + .../elements/ops/opcodes/I32X4_GT_U.v.html | 10 + .../elements/ops/opcodes/I32X4_LE_S.v.html | 10 + .../elements/ops/opcodes/I32X4_LE_U.v.html | 10 + .../elements/ops/opcodes/I32X4_LT_S.v.html | 10 + .../elements/ops/opcodes/I32X4_LT_U.v.html | 10 + .../elements/ops/opcodes/I32X4_MUL.v.html | 10 + .../elements/ops/opcodes/I32X4_NE.v.html | 10 + .../elements/ops/opcodes/I32X4_NEG.v.html | 10 + .../ops/opcodes/I32X4_REPLACE_LANE.v.html | 10 + .../elements/ops/opcodes/I32X4_SHL.v.html | 10 + .../elements/ops/opcodes/I32X4_SHR_S.v.html | 10 + .../elements/ops/opcodes/I32X4_SHR_U.v.html | 10 + .../elements/ops/opcodes/I32X4_SPLAT.v.html | 10 + .../elements/ops/opcodes/I32X4_SUB.v.html | 10 + .../opcodes/I32X4_TRUNC_S_F32X4_SAT.v.html | 10 + .../opcodes/I32X4_TRUNC_U_F32X4_SAT.v.html | 10 + .../elements/ops/opcodes/I32XOR.v.html | 10 + .../ops/opcodes/I32_ATOMIC_LOAD.v.html | 10 + .../ops/opcodes/I32_ATOMIC_LOAD16U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_LOAD8U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_ADD.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_ADD16U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_ADD8U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_AND.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_AND16U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_AND8U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_CMPXCHG.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_CMPXCHG16U.v.html | 10 + .../opcodes/I32_ATOMIC_RMW_CMPXCHG8U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_OR.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_OR16U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_OR8U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_SUB.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_SUB16U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_SUB8U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_XCHG.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_XCHG16U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_XCHG8U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_XOR.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_XOR16U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_RMW_XOR8U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_STORE.v.html | 10 + .../ops/opcodes/I32_ATOMIC_STORE16U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_STORE8U.v.html | 10 + .../ops/opcodes/I32_ATOMIC_WAIT.v.html | 10 + .../ops/opcodes/I32_EXTEND16_S.v.html | 10 + .../elements/ops/opcodes/I32_EXTEND8_S.v.html | 10 + .../elements/ops/opcodes/I64ADD.v.html | 10 + .../elements/ops/opcodes/I64AND.v.html | 10 + .../elements/ops/opcodes/I64CLZ.v.html | 10 + .../elements/ops/opcodes/I64CONST.v.html | 10 + .../elements/ops/opcodes/I64CTZ.v.html | 10 + .../elements/ops/opcodes/I64DIVS.v.html | 10 + .../elements/ops/opcodes/I64DIVU.v.html | 10 + parity_wasm/elements/ops/opcodes/I64EQ.v.html | 10 + .../elements/ops/opcodes/I64EQZ.v.html | 10 + .../elements/ops/opcodes/I64EXTENDSI32.v.html | 10 + .../elements/ops/opcodes/I64EXTENDUI32.v.html | 10 + .../elements/ops/opcodes/I64GES.v.html | 10 + .../elements/ops/opcodes/I64GEU.v.html | 10 + .../elements/ops/opcodes/I64GTS.v.html | 10 + .../elements/ops/opcodes/I64GTU.v.html | 10 + .../elements/ops/opcodes/I64LES.v.html | 10 + .../elements/ops/opcodes/I64LEU.v.html | 10 + .../elements/ops/opcodes/I64LOAD.v.html | 10 + .../elements/ops/opcodes/I64LOAD16S.v.html | 10 + .../elements/ops/opcodes/I64LOAD16U.v.html | 10 + .../elements/ops/opcodes/I64LOAD32S.v.html | 10 + .../elements/ops/opcodes/I64LOAD32U.v.html | 10 + .../elements/ops/opcodes/I64LOAD8S.v.html | 10 + .../elements/ops/opcodes/I64LOAD8U.v.html | 10 + .../elements/ops/opcodes/I64LTS.v.html | 10 + .../elements/ops/opcodes/I64LTU.v.html | 10 + .../elements/ops/opcodes/I64MUL.v.html | 10 + parity_wasm/elements/ops/opcodes/I64NE.v.html | 10 + parity_wasm/elements/ops/opcodes/I64OR.v.html | 10 + .../elements/ops/opcodes/I64POPCNT.v.html | 10 + .../ops/opcodes/I64REINTERPRETF64.v.html | 10 + .../elements/ops/opcodes/I64REMS.v.html | 10 + .../elements/ops/opcodes/I64REMU.v.html | 10 + .../elements/ops/opcodes/I64ROTL.v.html | 10 + .../elements/ops/opcodes/I64ROTR.v.html | 10 + .../elements/ops/opcodes/I64SHL.v.html | 10 + .../elements/ops/opcodes/I64SHRS.v.html | 10 + .../elements/ops/opcodes/I64SHRU.v.html | 10 + .../elements/ops/opcodes/I64STORE.v.html | 10 + .../elements/ops/opcodes/I64STORE16.v.html | 10 + .../elements/ops/opcodes/I64STORE32.v.html | 10 + .../elements/ops/opcodes/I64STORE8.v.html | 10 + .../elements/ops/opcodes/I64SUB.v.html | 10 + .../elements/ops/opcodes/I64TRUNCSF32.v.html | 10 + .../elements/ops/opcodes/I64TRUNCSF64.v.html | 10 + .../elements/ops/opcodes/I64TRUNCUF32.v.html | 10 + .../elements/ops/opcodes/I64TRUNCUF64.v.html | 10 + .../elements/ops/opcodes/I64X2_ADD.v.html | 10 + .../ops/opcodes/I64X2_ALL_TRUE.v.html | 10 + .../ops/opcodes/I64X2_ANY_TRUE.v.html | 10 + .../ops/opcodes/I64X2_EXTRACT_LANE.v.html | 10 + .../elements/ops/opcodes/I64X2_GE_S.v.html | 10 + .../elements/ops/opcodes/I64X2_GE_U.v.html | 10 + .../elements/ops/opcodes/I64X2_GT_S.v.html | 10 + .../elements/ops/opcodes/I64X2_GT_U.v.html | 10 + .../elements/ops/opcodes/I64X2_LE_S.v.html | 10 + .../elements/ops/opcodes/I64X2_LE_U.v.html | 10 + .../elements/ops/opcodes/I64X2_LT_S.v.html | 10 + .../elements/ops/opcodes/I64X2_LT_U.v.html | 10 + .../elements/ops/opcodes/I64X2_NEG.v.html | 10 + .../ops/opcodes/I64X2_REPLACE_LANE.v.html | 10 + .../elements/ops/opcodes/I64X2_SHL.v.html | 10 + .../elements/ops/opcodes/I64X2_SHR_S.v.html | 10 + .../elements/ops/opcodes/I64X2_SHR_U.v.html | 10 + .../elements/ops/opcodes/I64X2_SPLAT.v.html | 10 + .../elements/ops/opcodes/I64X2_SUB.v.html | 10 + .../opcodes/I64X2_TRUNC_S_F64X2_SAT.v.html | 10 + .../opcodes/I64X2_TRUNC_U_F64X2_SAT.v.html | 10 + .../elements/ops/opcodes/I64XOR.v.html | 10 + .../ops/opcodes/I64_ATOMIC_LOAD.v.html | 10 + .../ops/opcodes/I64_ATOMIC_LOAD16U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_LOAD32U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_LOAD8U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_ADD.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_ADD16U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_ADD32U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_ADD8U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_AND.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_AND16U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_AND32U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_AND8U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_CMPXCHG.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_CMPXCHG16U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_CMPXCHG32U.v.html | 10 + .../opcodes/I64_ATOMIC_RMW_CMPXCHG8U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_OR.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_OR16U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_OR32U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_OR8U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_SUB.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_SUB16U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_SUB32U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_SUB8U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_XCHG.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_XCHG16U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_XCHG32U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_XCHG8U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_XOR.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_XOR16U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_XOR32U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_RMW_XOR8U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_STORE.v.html | 10 + .../ops/opcodes/I64_ATOMIC_STORE16U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_STORE32U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_STORE8U.v.html | 10 + .../ops/opcodes/I64_ATOMIC_WAIT.v.html | 10 + .../ops/opcodes/I64_EXTEND16_S.v.html | 10 + .../ops/opcodes/I64_EXTEND32_S.v.html | 10 + .../elements/ops/opcodes/I64_EXTEND8_S.v.html | 10 + .../elements/ops/opcodes/I8X16_ADD.v.html | 10 + .../ops/opcodes/I8X16_ADD_SATURATE_S.v.html | 10 + .../ops/opcodes/I8X16_ADD_SATURATE_U.v.html | 10 + .../ops/opcodes/I8X16_ALL_TRUE.v.html | 10 + .../ops/opcodes/I8X16_ANY_TRUE.v.html | 10 + .../elements/ops/opcodes/I8X16_EQ.v.html | 10 + .../ops/opcodes/I8X16_EXTRACT_LANE_S.v.html | 10 + .../ops/opcodes/I8X16_EXTRACT_LANE_U.v.html | 10 + .../elements/ops/opcodes/I8X16_GE_S.v.html | 10 + .../elements/ops/opcodes/I8X16_GE_U.v.html | 10 + .../elements/ops/opcodes/I8X16_GT_S.v.html | 10 + .../elements/ops/opcodes/I8X16_GT_U.v.html | 10 + .../elements/ops/opcodes/I8X16_LE_S.v.html | 10 + .../elements/ops/opcodes/I8X16_LE_U.v.html | 10 + .../elements/ops/opcodes/I8X16_LT_S.v.html | 10 + .../elements/ops/opcodes/I8X16_LT_U.v.html | 10 + .../elements/ops/opcodes/I8X16_MUL.v.html | 10 + .../elements/ops/opcodes/I8X16_NE.v.html | 10 + .../elements/ops/opcodes/I8X16_NEG.v.html | 10 + .../ops/opcodes/I8X16_REPLACE_LANE.v.html | 10 + .../elements/ops/opcodes/I8X16_SHL.v.html | 10 + .../elements/ops/opcodes/I8X16_SHR_S.v.html | 10 + .../elements/ops/opcodes/I8X16_SHR_U.v.html | 10 + .../elements/ops/opcodes/I8X16_SPLAT.v.html | 10 + .../elements/ops/opcodes/I8X16_SUB.v.html | 10 + .../ops/opcodes/I8X16_SUB_SATURATE_S.v.html | 10 + .../ops/opcodes/I8X16_SUB_SATURATE_U.v.html | 10 + parity_wasm/elements/ops/opcodes/IF.v.html | 10 + parity_wasm/elements/ops/opcodes/LOOP.v.html | 10 + parity_wasm/elements/ops/opcodes/NOP.v.html | 10 + .../elements/ops/opcodes/RETURN.v.html | 10 + .../elements/ops/opcodes/SELECT.v.html | 10 + .../elements/ops/opcodes/SETGLOBAL.v.html | 10 + .../elements/ops/opcodes/SETLOCAL.v.html | 10 + .../elements/ops/opcodes/SIMD_PREFIX.v.html | 10 + .../elements/ops/opcodes/TEELOCAL.v.html | 10 + .../elements/ops/opcodes/UNREACHABLE.v.html | 10 + .../elements/ops/opcodes/V128_AND.v.html | 10 + .../ops/opcodes/V128_BITSELECT.v.html | 10 + .../elements/ops/opcodes/V128_CONST.v.html | 10 + .../elements/ops/opcodes/V128_LOAD.v.html | 10 + .../elements/ops/opcodes/V128_NOT.v.html | 10 + .../elements/ops/opcodes/V128_OR.v.html | 10 + .../elements/ops/opcodes/V128_STORE.v.html | 10 + .../elements/ops/opcodes/V128_XOR.v.html | 10 + .../elements/ops/opcodes/V8X16_SHUFFLE.v.html | 10 + .../ops/opcodes/constant.ATOMIC_PREFIX.html | 10 + .../ops/opcodes/constant.ATOMIC_WAKE.html | 10 + .../elements/ops/opcodes/constant.BLOCK.html | 10 + .../elements/ops/opcodes/constant.BR.html | 10 + .../elements/ops/opcodes/constant.BRIF.html | 10 + .../ops/opcodes/constant.BRTABLE.html | 10 + .../elements/ops/opcodes/constant.CALL.html | 10 + .../ops/opcodes/constant.CALLINDIRECT.html | 10 + .../ops/opcodes/constant.CURRENTMEMORY.html | 10 + .../elements/ops/opcodes/constant.DROP.html | 10 + .../elements/ops/opcodes/constant.ELSE.html | 10 + .../elements/ops/opcodes/constant.END.html | 10 + .../elements/ops/opcodes/constant.F32ABS.html | 10 + .../elements/ops/opcodes/constant.F32ADD.html | 10 + .../ops/opcodes/constant.F32CEIL.html | 10 + .../ops/opcodes/constant.F32CONST.html | 10 + .../ops/opcodes/constant.F32CONVERTSI32.html | 10 + .../ops/opcodes/constant.F32CONVERTSI64.html | 10 + .../ops/opcodes/constant.F32CONVERTUI32.html | 10 + .../ops/opcodes/constant.F32CONVERTUI64.html | 10 + .../ops/opcodes/constant.F32COPYSIGN.html | 10 + .../ops/opcodes/constant.F32DEMOTEF64.html | 10 + .../elements/ops/opcodes/constant.F32DIV.html | 10 + .../elements/ops/opcodes/constant.F32EQ.html | 10 + .../ops/opcodes/constant.F32FLOOR.html | 10 + .../elements/ops/opcodes/constant.F32GE.html | 10 + .../elements/ops/opcodes/constant.F32GT.html | 10 + .../elements/ops/opcodes/constant.F32LE.html | 10 + .../ops/opcodes/constant.F32LOAD.html | 10 + .../elements/ops/opcodes/constant.F32LT.html | 10 + .../elements/ops/opcodes/constant.F32MAX.html | 10 + .../elements/ops/opcodes/constant.F32MIN.html | 10 + .../elements/ops/opcodes/constant.F32MUL.html | 10 + .../elements/ops/opcodes/constant.F32NE.html | 10 + .../ops/opcodes/constant.F32NEAREST.html | 10 + .../elements/ops/opcodes/constant.F32NEG.html | 10 + .../opcodes/constant.F32REINTERPRETI32.html | 10 + .../ops/opcodes/constant.F32SQRT.html | 10 + .../ops/opcodes/constant.F32STORE.html | 10 + .../elements/ops/opcodes/constant.F32SUB.html | 10 + .../ops/opcodes/constant.F32TRUNC.html | 10 + .../ops/opcodes/constant.F32X4_ABS.html | 10 + .../ops/opcodes/constant.F32X4_ADD.html | 10 + .../constant.F32X4_CONVERT_S_I32X4.html | 10 + .../constant.F32X4_CONVERT_U_I32X4.html | 10 + .../ops/opcodes/constant.F32X4_DIV.html | 10 + .../ops/opcodes/constant.F32X4_EQ.html | 10 + .../opcodes/constant.F32X4_EXTRACT_LANE.html | 10 + .../ops/opcodes/constant.F32X4_GE.html | 10 + .../ops/opcodes/constant.F32X4_GT.html | 10 + .../ops/opcodes/constant.F32X4_LE.html | 10 + .../ops/opcodes/constant.F32X4_LT.html | 10 + .../ops/opcodes/constant.F32X4_MAX.html | 10 + .../ops/opcodes/constant.F32X4_MIN.html | 10 + .../ops/opcodes/constant.F32X4_MUL.html | 10 + .../ops/opcodes/constant.F32X4_NE.html | 10 + .../ops/opcodes/constant.F32X4_NEG.html | 10 + .../opcodes/constant.F32X4_REPLACE_LANE.html | 10 + .../ops/opcodes/constant.F32X4_SPLAT.html | 10 + .../ops/opcodes/constant.F32X4_SQRT.html | 10 + .../ops/opcodes/constant.F32X4_SUB.html | 10 + .../elements/ops/opcodes/constant.F64ABS.html | 10 + .../elements/ops/opcodes/constant.F64ADD.html | 10 + .../ops/opcodes/constant.F64CEIL.html | 10 + .../ops/opcodes/constant.F64CONST.html | 10 + .../ops/opcodes/constant.F64CONVERTSI32.html | 10 + .../ops/opcodes/constant.F64CONVERTSI64.html | 10 + .../ops/opcodes/constant.F64CONVERTUI32.html | 10 + .../ops/opcodes/constant.F64CONVERTUI64.html | 10 + .../ops/opcodes/constant.F64COPYSIGN.html | 10 + .../elements/ops/opcodes/constant.F64DIV.html | 10 + .../elements/ops/opcodes/constant.F64EQ.html | 10 + .../ops/opcodes/constant.F64FLOOR.html | 10 + .../elements/ops/opcodes/constant.F64GE.html | 10 + .../elements/ops/opcodes/constant.F64GT.html | 10 + .../elements/ops/opcodes/constant.F64LE.html | 10 + .../ops/opcodes/constant.F64LOAD.html | 10 + .../elements/ops/opcodes/constant.F64LT.html | 10 + .../elements/ops/opcodes/constant.F64MAX.html | 10 + .../elements/ops/opcodes/constant.F64MIN.html | 10 + .../elements/ops/opcodes/constant.F64MUL.html | 10 + .../elements/ops/opcodes/constant.F64NE.html | 10 + .../ops/opcodes/constant.F64NEAREST.html | 10 + .../elements/ops/opcodes/constant.F64NEG.html | 10 + .../ops/opcodes/constant.F64PROMOTEF32.html | 10 + .../opcodes/constant.F64REINTERPRETI64.html | 10 + .../ops/opcodes/constant.F64SQRT.html | 10 + .../ops/opcodes/constant.F64STORE.html | 10 + .../elements/ops/opcodes/constant.F64SUB.html | 10 + .../ops/opcodes/constant.F64TRUNC.html | 10 + .../ops/opcodes/constant.F64X2_ABS.html | 10 + .../ops/opcodes/constant.F64X2_ADD.html | 10 + .../constant.F64X2_CONVERT_S_I64X2.html | 10 + .../constant.F64X2_CONVERT_U_I64X2.html | 10 + .../ops/opcodes/constant.F64X2_DIV.html | 10 + .../ops/opcodes/constant.F64X2_EQ.html | 10 + .../opcodes/constant.F64X2_EXTRACT_LANE.html | 10 + .../ops/opcodes/constant.F64X2_GE.html | 10 + .../ops/opcodes/constant.F64X2_GT.html | 10 + .../ops/opcodes/constant.F64X2_LE.html | 10 + .../ops/opcodes/constant.F64X2_LT.html | 10 + .../ops/opcodes/constant.F64X2_MAX.html | 10 + .../ops/opcodes/constant.F64X2_MIN.html | 10 + .../ops/opcodes/constant.F64X2_MUL.html | 10 + .../ops/opcodes/constant.F64X2_NE.html | 10 + .../ops/opcodes/constant.F64X2_NEG.html | 10 + .../opcodes/constant.F64X2_REPLACE_LANE.html | 10 + .../ops/opcodes/constant.F64X2_SPLAT.html | 10 + .../ops/opcodes/constant.F64X2_SQRT.html | 10 + .../ops/opcodes/constant.F64X2_SUB.html | 10 + .../ops/opcodes/constant.GETGLOBAL.html | 10 + .../ops/opcodes/constant.GETLOCAL.html | 10 + .../ops/opcodes/constant.GROWMEMORY.html | 10 + .../ops/opcodes/constant.I16X8_ADD.html | 10 + .../constant.I16X8_ADD_SATURATE_S.html | 10 + .../constant.I16X8_ADD_SATURATE_U.html | 10 + .../ops/opcodes/constant.I16X8_ALL_TRUE.html | 10 + .../ops/opcodes/constant.I16X8_ANY_TRUE.html | 10 + .../ops/opcodes/constant.I16X8_EQ.html | 10 + .../constant.I16X8_EXTRACT_LANE_S.html | 10 + .../constant.I16X8_EXTRACT_LANE_U.html | 10 + .../ops/opcodes/constant.I16X8_GE_S.html | 10 + .../ops/opcodes/constant.I16X8_GE_U.html | 10 + .../ops/opcodes/constant.I16X8_GT_S.html | 10 + .../ops/opcodes/constant.I16X8_GT_U.html | 10 + .../ops/opcodes/constant.I16X8_LE_S.html | 10 + .../ops/opcodes/constant.I16X8_LE_U.html | 10 + .../ops/opcodes/constant.I16X8_LT_S.html | 10 + .../ops/opcodes/constant.I16X8_LT_U.html | 10 + .../ops/opcodes/constant.I16X8_MUL.html | 10 + .../ops/opcodes/constant.I16X8_NE.html | 10 + .../ops/opcodes/constant.I16X8_NEG.html | 10 + .../opcodes/constant.I16X8_REPLACE_LANE.html | 10 + .../ops/opcodes/constant.I16X8_SHL.html | 10 + .../ops/opcodes/constant.I16X8_SHR_S.html | 10 + .../ops/opcodes/constant.I16X8_SHR_U.html | 10 + .../ops/opcodes/constant.I16X8_SPLAT.html | 10 + .../ops/opcodes/constant.I16X8_SUB.html | 10 + .../constant.I16X8_SUB_SATURATE_S.html | 10 + .../constant.I16X8_SUB_SATURATE_U.html | 10 + .../elements/ops/opcodes/constant.I32ADD.html | 10 + .../elements/ops/opcodes/constant.I32AND.html | 10 + .../elements/ops/opcodes/constant.I32CLZ.html | 10 + .../ops/opcodes/constant.I32CONST.html | 10 + .../elements/ops/opcodes/constant.I32CTZ.html | 10 + .../ops/opcodes/constant.I32DIVS.html | 10 + .../ops/opcodes/constant.I32DIVU.html | 10 + .../elements/ops/opcodes/constant.I32EQ.html | 10 + .../elements/ops/opcodes/constant.I32EQZ.html | 10 + .../elements/ops/opcodes/constant.I32GES.html | 10 + .../elements/ops/opcodes/constant.I32GEU.html | 10 + .../elements/ops/opcodes/constant.I32GTS.html | 10 + .../elements/ops/opcodes/constant.I32GTU.html | 10 + .../elements/ops/opcodes/constant.I32LES.html | 10 + .../elements/ops/opcodes/constant.I32LEU.html | 10 + .../ops/opcodes/constant.I32LOAD.html | 10 + .../ops/opcodes/constant.I32LOAD16S.html | 10 + .../ops/opcodes/constant.I32LOAD16U.html | 10 + .../ops/opcodes/constant.I32LOAD8S.html | 10 + .../ops/opcodes/constant.I32LOAD8U.html | 10 + .../elements/ops/opcodes/constant.I32LTS.html | 10 + .../elements/ops/opcodes/constant.I32LTU.html | 10 + .../elements/ops/opcodes/constant.I32MUL.html | 10 + .../elements/ops/opcodes/constant.I32NE.html | 10 + .../elements/ops/opcodes/constant.I32OR.html | 10 + .../ops/opcodes/constant.I32POPCNT.html | 10 + .../opcodes/constant.I32REINTERPRETF32.html | 10 + .../ops/opcodes/constant.I32REMS.html | 10 + .../ops/opcodes/constant.I32REMU.html | 10 + .../ops/opcodes/constant.I32ROTL.html | 10 + .../ops/opcodes/constant.I32ROTR.html | 10 + .../elements/ops/opcodes/constant.I32SHL.html | 10 + .../ops/opcodes/constant.I32SHRS.html | 10 + .../ops/opcodes/constant.I32SHRU.html | 10 + .../ops/opcodes/constant.I32STORE.html | 10 + .../ops/opcodes/constant.I32STORE16.html | 10 + .../ops/opcodes/constant.I32STORE8.html | 10 + .../elements/ops/opcodes/constant.I32SUB.html | 10 + .../ops/opcodes/constant.I32TRUNCSF32.html | 10 + .../ops/opcodes/constant.I32TRUNCSF64.html | 10 + .../ops/opcodes/constant.I32TRUNCUF32.html | 10 + .../ops/opcodes/constant.I32TRUNCUF64.html | 10 + .../ops/opcodes/constant.I32WRAPI64.html | 10 + .../ops/opcodes/constant.I32X4_ADD.html | 10 + .../ops/opcodes/constant.I32X4_ALL_TRUE.html | 10 + .../ops/opcodes/constant.I32X4_ANY_TRUE.html | 10 + .../ops/opcodes/constant.I32X4_EQ.html | 10 + .../opcodes/constant.I32X4_EXTRACT_LANE.html | 10 + .../ops/opcodes/constant.I32X4_GE_S.html | 10 + .../ops/opcodes/constant.I32X4_GE_U.html | 10 + .../ops/opcodes/constant.I32X4_GT_S.html | 10 + .../ops/opcodes/constant.I32X4_GT_U.html | 10 + .../ops/opcodes/constant.I32X4_LE_S.html | 10 + .../ops/opcodes/constant.I32X4_LE_U.html | 10 + .../ops/opcodes/constant.I32X4_LT_S.html | 10 + .../ops/opcodes/constant.I32X4_LT_U.html | 10 + .../ops/opcodes/constant.I32X4_MUL.html | 10 + .../ops/opcodes/constant.I32X4_NE.html | 10 + .../ops/opcodes/constant.I32X4_NEG.html | 10 + .../opcodes/constant.I32X4_REPLACE_LANE.html | 10 + .../ops/opcodes/constant.I32X4_SHL.html | 10 + .../ops/opcodes/constant.I32X4_SHR_S.html | 10 + .../ops/opcodes/constant.I32X4_SHR_U.html | 10 + .../ops/opcodes/constant.I32X4_SPLAT.html | 10 + .../ops/opcodes/constant.I32X4_SUB.html | 10 + .../constant.I32X4_TRUNC_S_F32X4_SAT.html | 10 + .../constant.I32X4_TRUNC_U_F32X4_SAT.html | 10 + .../elements/ops/opcodes/constant.I32XOR.html | 10 + .../ops/opcodes/constant.I32_ATOMIC_LOAD.html | 10 + .../opcodes/constant.I32_ATOMIC_LOAD16U.html | 10 + .../opcodes/constant.I32_ATOMIC_LOAD8U.html | 10 + .../opcodes/constant.I32_ATOMIC_RMW_ADD.html | 10 + .../constant.I32_ATOMIC_RMW_ADD16U.html | 10 + .../constant.I32_ATOMIC_RMW_ADD8U.html | 10 + .../opcodes/constant.I32_ATOMIC_RMW_AND.html | 10 + .../constant.I32_ATOMIC_RMW_AND16U.html | 10 + .../constant.I32_ATOMIC_RMW_AND8U.html | 10 + .../constant.I32_ATOMIC_RMW_CMPXCHG.html | 10 + .../constant.I32_ATOMIC_RMW_CMPXCHG16U.html | 10 + .../constant.I32_ATOMIC_RMW_CMPXCHG8U.html | 10 + .../opcodes/constant.I32_ATOMIC_RMW_OR.html | 10 + .../constant.I32_ATOMIC_RMW_OR16U.html | 10 + .../opcodes/constant.I32_ATOMIC_RMW_OR8U.html | 10 + .../opcodes/constant.I32_ATOMIC_RMW_SUB.html | 10 + .../constant.I32_ATOMIC_RMW_SUB16U.html | 10 + .../constant.I32_ATOMIC_RMW_SUB8U.html | 10 + .../opcodes/constant.I32_ATOMIC_RMW_XCHG.html | 10 + .../constant.I32_ATOMIC_RMW_XCHG16U.html | 10 + .../constant.I32_ATOMIC_RMW_XCHG8U.html | 10 + .../opcodes/constant.I32_ATOMIC_RMW_XOR.html | 10 + .../constant.I32_ATOMIC_RMW_XOR16U.html | 10 + .../constant.I32_ATOMIC_RMW_XOR8U.html | 10 + .../opcodes/constant.I32_ATOMIC_STORE.html | 10 + .../opcodes/constant.I32_ATOMIC_STORE16U.html | 10 + .../opcodes/constant.I32_ATOMIC_STORE8U.html | 10 + .../ops/opcodes/constant.I32_ATOMIC_WAIT.html | 10 + .../ops/opcodes/constant.I32_EXTEND16_S.html | 10 + .../ops/opcodes/constant.I32_EXTEND8_S.html | 10 + .../elements/ops/opcodes/constant.I64ADD.html | 10 + .../elements/ops/opcodes/constant.I64AND.html | 10 + .../elements/ops/opcodes/constant.I64CLZ.html | 10 + .../ops/opcodes/constant.I64CONST.html | 10 + .../elements/ops/opcodes/constant.I64CTZ.html | 10 + .../ops/opcodes/constant.I64DIVS.html | 10 + .../ops/opcodes/constant.I64DIVU.html | 10 + .../elements/ops/opcodes/constant.I64EQ.html | 10 + .../elements/ops/opcodes/constant.I64EQZ.html | 10 + .../ops/opcodes/constant.I64EXTENDSI32.html | 10 + .../ops/opcodes/constant.I64EXTENDUI32.html | 10 + .../elements/ops/opcodes/constant.I64GES.html | 10 + .../elements/ops/opcodes/constant.I64GEU.html | 10 + .../elements/ops/opcodes/constant.I64GTS.html | 10 + .../elements/ops/opcodes/constant.I64GTU.html | 10 + .../elements/ops/opcodes/constant.I64LES.html | 10 + .../elements/ops/opcodes/constant.I64LEU.html | 10 + .../ops/opcodes/constant.I64LOAD.html | 10 + .../ops/opcodes/constant.I64LOAD16S.html | 10 + .../ops/opcodes/constant.I64LOAD16U.html | 10 + .../ops/opcodes/constant.I64LOAD32S.html | 10 + .../ops/opcodes/constant.I64LOAD32U.html | 10 + .../ops/opcodes/constant.I64LOAD8S.html | 10 + .../ops/opcodes/constant.I64LOAD8U.html | 10 + .../elements/ops/opcodes/constant.I64LTS.html | 10 + .../elements/ops/opcodes/constant.I64LTU.html | 10 + .../elements/ops/opcodes/constant.I64MUL.html | 10 + .../elements/ops/opcodes/constant.I64NE.html | 10 + .../elements/ops/opcodes/constant.I64OR.html | 10 + .../ops/opcodes/constant.I64POPCNT.html | 10 + .../opcodes/constant.I64REINTERPRETF64.html | 10 + .../ops/opcodes/constant.I64REMS.html | 10 + .../ops/opcodes/constant.I64REMU.html | 10 + .../ops/opcodes/constant.I64ROTL.html | 10 + .../ops/opcodes/constant.I64ROTR.html | 10 + .../elements/ops/opcodes/constant.I64SHL.html | 10 + .../ops/opcodes/constant.I64SHRS.html | 10 + .../ops/opcodes/constant.I64SHRU.html | 10 + .../ops/opcodes/constant.I64STORE.html | 10 + .../ops/opcodes/constant.I64STORE16.html | 10 + .../ops/opcodes/constant.I64STORE32.html | 10 + .../ops/opcodes/constant.I64STORE8.html | 10 + .../elements/ops/opcodes/constant.I64SUB.html | 10 + .../ops/opcodes/constant.I64TRUNCSF32.html | 10 + .../ops/opcodes/constant.I64TRUNCSF64.html | 10 + .../ops/opcodes/constant.I64TRUNCUF32.html | 10 + .../ops/opcodes/constant.I64TRUNCUF64.html | 10 + .../ops/opcodes/constant.I64X2_ADD.html | 10 + .../ops/opcodes/constant.I64X2_ALL_TRUE.html | 10 + .../ops/opcodes/constant.I64X2_ANY_TRUE.html | 10 + .../opcodes/constant.I64X2_EXTRACT_LANE.html | 10 + .../ops/opcodes/constant.I64X2_GE_S.html | 10 + .../ops/opcodes/constant.I64X2_GE_U.html | 10 + .../ops/opcodes/constant.I64X2_GT_S.html | 10 + .../ops/opcodes/constant.I64X2_GT_U.html | 10 + .../ops/opcodes/constant.I64X2_LE_S.html | 10 + .../ops/opcodes/constant.I64X2_LE_U.html | 10 + .../ops/opcodes/constant.I64X2_LT_S.html | 10 + .../ops/opcodes/constant.I64X2_LT_U.html | 10 + .../ops/opcodes/constant.I64X2_NEG.html | 10 + .../opcodes/constant.I64X2_REPLACE_LANE.html | 10 + .../ops/opcodes/constant.I64X2_SHL.html | 10 + .../ops/opcodes/constant.I64X2_SHR_S.html | 10 + .../ops/opcodes/constant.I64X2_SHR_U.html | 10 + .../ops/opcodes/constant.I64X2_SPLAT.html | 10 + .../ops/opcodes/constant.I64X2_SUB.html | 10 + .../constant.I64X2_TRUNC_S_F64X2_SAT.html | 10 + .../constant.I64X2_TRUNC_U_F64X2_SAT.html | 10 + .../elements/ops/opcodes/constant.I64XOR.html | 10 + .../ops/opcodes/constant.I64_ATOMIC_LOAD.html | 10 + .../opcodes/constant.I64_ATOMIC_LOAD16U.html | 10 + .../opcodes/constant.I64_ATOMIC_LOAD32U.html | 10 + .../opcodes/constant.I64_ATOMIC_LOAD8U.html | 10 + .../opcodes/constant.I64_ATOMIC_RMW_ADD.html | 10 + .../constant.I64_ATOMIC_RMW_ADD16U.html | 10 + .../constant.I64_ATOMIC_RMW_ADD32U.html | 10 + .../constant.I64_ATOMIC_RMW_ADD8U.html | 10 + .../opcodes/constant.I64_ATOMIC_RMW_AND.html | 10 + .../constant.I64_ATOMIC_RMW_AND16U.html | 10 + .../constant.I64_ATOMIC_RMW_AND32U.html | 10 + .../constant.I64_ATOMIC_RMW_AND8U.html | 10 + .../constant.I64_ATOMIC_RMW_CMPXCHG.html | 10 + .../constant.I64_ATOMIC_RMW_CMPXCHG16U.html | 10 + .../constant.I64_ATOMIC_RMW_CMPXCHG32U.html | 10 + .../constant.I64_ATOMIC_RMW_CMPXCHG8U.html | 10 + .../opcodes/constant.I64_ATOMIC_RMW_OR.html | 10 + .../constant.I64_ATOMIC_RMW_OR16U.html | 10 + .../constant.I64_ATOMIC_RMW_OR32U.html | 10 + .../opcodes/constant.I64_ATOMIC_RMW_OR8U.html | 10 + .../opcodes/constant.I64_ATOMIC_RMW_SUB.html | 10 + .../constant.I64_ATOMIC_RMW_SUB16U.html | 10 + .../constant.I64_ATOMIC_RMW_SUB32U.html | 10 + .../constant.I64_ATOMIC_RMW_SUB8U.html | 10 + .../opcodes/constant.I64_ATOMIC_RMW_XCHG.html | 10 + .../constant.I64_ATOMIC_RMW_XCHG16U.html | 10 + .../constant.I64_ATOMIC_RMW_XCHG32U.html | 10 + .../constant.I64_ATOMIC_RMW_XCHG8U.html | 10 + .../opcodes/constant.I64_ATOMIC_RMW_XOR.html | 10 + .../constant.I64_ATOMIC_RMW_XOR16U.html | 10 + .../constant.I64_ATOMIC_RMW_XOR32U.html | 10 + .../constant.I64_ATOMIC_RMW_XOR8U.html | 10 + .../opcodes/constant.I64_ATOMIC_STORE.html | 10 + .../opcodes/constant.I64_ATOMIC_STORE16U.html | 10 + .../opcodes/constant.I64_ATOMIC_STORE32U.html | 10 + .../opcodes/constant.I64_ATOMIC_STORE8U.html | 10 + .../ops/opcodes/constant.I64_ATOMIC_WAIT.html | 10 + .../ops/opcodes/constant.I64_EXTEND16_S.html | 10 + .../ops/opcodes/constant.I64_EXTEND32_S.html | 10 + .../ops/opcodes/constant.I64_EXTEND8_S.html | 10 + .../ops/opcodes/constant.I8X16_ADD.html | 10 + .../constant.I8X16_ADD_SATURATE_S.html | 10 + .../constant.I8X16_ADD_SATURATE_U.html | 10 + .../ops/opcodes/constant.I8X16_ALL_TRUE.html | 10 + .../ops/opcodes/constant.I8X16_ANY_TRUE.html | 10 + .../ops/opcodes/constant.I8X16_EQ.html | 10 + .../constant.I8X16_EXTRACT_LANE_S.html | 10 + .../constant.I8X16_EXTRACT_LANE_U.html | 10 + .../ops/opcodes/constant.I8X16_GE_S.html | 10 + .../ops/opcodes/constant.I8X16_GE_U.html | 10 + .../ops/opcodes/constant.I8X16_GT_S.html | 10 + .../ops/opcodes/constant.I8X16_GT_U.html | 10 + .../ops/opcodes/constant.I8X16_LE_S.html | 10 + .../ops/opcodes/constant.I8X16_LE_U.html | 10 + .../ops/opcodes/constant.I8X16_LT_S.html | 10 + .../ops/opcodes/constant.I8X16_LT_U.html | 10 + .../ops/opcodes/constant.I8X16_MUL.html | 10 + .../ops/opcodes/constant.I8X16_NE.html | 10 + .../ops/opcodes/constant.I8X16_NEG.html | 10 + .../opcodes/constant.I8X16_REPLACE_LANE.html | 10 + .../ops/opcodes/constant.I8X16_SHL.html | 10 + .../ops/opcodes/constant.I8X16_SHR_S.html | 10 + .../ops/opcodes/constant.I8X16_SHR_U.html | 10 + .../ops/opcodes/constant.I8X16_SPLAT.html | 10 + .../ops/opcodes/constant.I8X16_SUB.html | 10 + .../constant.I8X16_SUB_SATURATE_S.html | 10 + .../constant.I8X16_SUB_SATURATE_U.html | 10 + .../elements/ops/opcodes/constant.IF.html | 10 + .../elements/ops/opcodes/constant.LOOP.html | 10 + .../elements/ops/opcodes/constant.NOP.html | 10 + .../elements/ops/opcodes/constant.RETURN.html | 10 + .../elements/ops/opcodes/constant.SELECT.html | 10 + .../ops/opcodes/constant.SETGLOBAL.html | 10 + .../ops/opcodes/constant.SETLOCAL.html | 10 + .../ops/opcodes/constant.SIMD_PREFIX.html | 10 + .../ops/opcodes/constant.TEELOCAL.html | 10 + .../ops/opcodes/constant.UNREACHABLE.html | 10 + .../ops/opcodes/constant.V128_AND.html | 10 + .../ops/opcodes/constant.V128_BITSELECT.html | 10 + .../ops/opcodes/constant.V128_CONST.html | 10 + .../ops/opcodes/constant.V128_LOAD.html | 10 + .../ops/opcodes/constant.V128_NOT.html | 10 + .../ops/opcodes/constant.V128_OR.html | 10 + .../ops/opcodes/constant.V128_STORE.html | 10 + .../ops/opcodes/constant.V128_XOR.html | 10 + .../ops/opcodes/constant.V8X16_SHUFFLE.html | 10 + parity_wasm/elements/ops/opcodes/index.html | 10 + parity_wasm/elements/ops/struct.InitExpr.html | 10 + .../elements/ops/struct.Instructions.html | 10 + parity_wasm/elements/peek_size.v.html | 10 + .../elements/primitives/CountedList.t.html | 10 + .../primitives/CountedListWriter.t.html | 10 + .../elements/primitives/CountedWriter.t.html | 10 + parity_wasm/elements/primitives/Uint32.t.html | 10 + parity_wasm/elements/primitives/Uint64.t.html | 10 + parity_wasm/elements/primitives/Uint8.t.html | 10 + .../elements/primitives/VarInt32.t.html | 10 + .../elements/primitives/VarInt64.t.html | 10 + .../elements/primitives/VarInt7.t.html | 10 + .../elements/primitives/VarUint1.t.html | 10 + .../elements/primitives/VarUint32.t.html | 10 + .../elements/primitives/VarUint64.t.html | 10 + .../elements/primitives/VarUint7.t.html | 10 + .../primitives/struct.CountedList.html | 10 + .../primitives/struct.CountedListWriter.html | 10 + .../primitives/struct.CountedWriter.html | 10 + .../elements/primitives/struct.Uint32.html | 10 + .../elements/primitives/struct.Uint64.html | 10 + .../elements/primitives/struct.Uint8.html | 10 + .../elements/primitives/struct.VarInt32.html | 10 + .../elements/primitives/struct.VarInt64.html | 10 + .../elements/primitives/struct.VarInt7.html | 10 + .../elements/primitives/struct.VarUint1.html | 10 + .../elements/primitives/struct.VarUint32.html | 10 + .../elements/primitives/struct.VarUint64.html | 10 + .../elements/primitives/struct.VarUint7.html | 10 + .../reloc_section/RelocSection.t.html | 10 + .../reloc_section/RelocationEntry.t.html | 10 + .../reloc_section/enum.RelocationEntry.html | 10 + .../reloc_section/struct.RelocSection.html | 10 + .../elements/section/CodeSection.t.html | 10 + .../elements/section/CustomSection.t.html | 10 + .../elements/section/DataSection.t.html | 10 + .../elements/section/ElementSection.t.html | 10 + .../elements/section/ExportSection.t.html | 10 + .../elements/section/FunctionSection.t.html | 10 + .../elements/section/GlobalSection.t.html | 10 + .../elements/section/ImportSection.t.html | 10 + .../elements/section/MemorySection.t.html | 10 + parity_wasm/elements/section/Section.t.html | 10 + .../elements/section/TableSection.t.html | 10 + .../elements/section/TypeSection.t.html | 10 + .../elements/section/enum.Section.html | 10 + .../elements/section/struct.CodeSection.html | 10 + .../section/struct.CustomSection.html | 10 + .../elements/section/struct.DataSection.html | 10 + .../section/struct.ElementSection.html | 10 + .../section/struct.ExportSection.html | 10 + .../section/struct.FunctionSection.html | 10 + .../section/struct.GlobalSection.html | 10 + .../section/struct.ImportSection.html | 10 + .../section/struct.MemorySection.html | 10 + .../elements/section/struct.TableSection.html | 10 + .../elements/section/struct.TypeSection.html | 10 + .../elements/segment/DataSegment.t.html | 10 + .../elements/segment/ElementSegment.t.html | 10 + .../elements/segment/struct.DataSegment.html | 10 + .../segment/struct.ElementSegment.html | 10 + parity_wasm/elements/serialize.v.html | 10 + parity_wasm/elements/serialize_to_file.v.html | 10 + parity_wasm/elements/sidebar-items.js | 1 + parity_wasm/elements/struct.CodeSection.html | 17 + parity_wasm/elements/struct.CountedList.html | 10 + .../elements/struct.CountedListWriter.html | 9 + .../elements/struct.CountedWriter.html | 7 + .../elements/struct.CustomSection.html | 18 + parity_wasm/elements/struct.DataSection.html | 17 + parity_wasm/elements/struct.DataSegment.html | 19 + .../elements/struct.ElementSection.html | 17 + .../elements/struct.ElementSegment.html | 19 + parity_wasm/elements/struct.ExportEntry.html | 18 + .../elements/struct.ExportSection.html | 17 + parity_wasm/elements/struct.Func.html | 16 + parity_wasm/elements/struct.FuncBody.html | 20 + .../elements/struct.FunctionNameSection.html | 14 + .../elements/struct.FunctionSection.html | 17 + parity_wasm/elements/struct.FunctionType.html | 20 + parity_wasm/elements/struct.GlobalEntry.html | 18 + .../elements/struct.GlobalSection.html | 17 + parity_wasm/elements/struct.GlobalType.html | 16 + parity_wasm/elements/struct.ImportEntry.html | 20 + .../elements/struct.ImportSection.html | 19 + parity_wasm/elements/struct.IndexMap.html | 55 + parity_wasm/elements/struct.InitExpr.html | 18 + parity_wasm/elements/struct.Instructions.html | 17 + parity_wasm/elements/struct.Local.html | 16 + .../elements/struct.LocalNameSection.html | 16 + .../elements/struct.MemorySection.html | 17 + parity_wasm/elements/struct.MemoryType.html | 15 + parity_wasm/elements/struct.Module.html | 61 + .../elements/struct.ModuleNameSection.html | 16 + parity_wasm/elements/struct.RelocSection.html | 19 + .../elements/struct.ResizableLimits.html | 17 + parity_wasm/elements/struct.TableSection.html | 17 + parity_wasm/elements/struct.TableType.html | 16 + parity_wasm/elements/struct.TypeSection.html | 17 + parity_wasm/elements/struct.Uint32.html | 15 + parity_wasm/elements/struct.Uint64.html | 15 + parity_wasm/elements/struct.Uint8.html | 16 + parity_wasm/elements/struct.Unparsed.html | 6 + parity_wasm/elements/struct.VarInt32.html | 15 + parity_wasm/elements/struct.VarInt64.html | 15 + parity_wasm/elements/struct.VarInt7.html | 15 + parity_wasm/elements/struct.VarUint1.html | 15 + parity_wasm/elements/struct.VarUint32.html | 18 + parity_wasm/elements/struct.VarUint64.html | 16 + parity_wasm/elements/struct.VarUint7.html | 15 + parity_wasm/elements/trait.Deserialize.html | 73 + parity_wasm/elements/trait.Serialize.html | 78 + parity_wasm/elements/type.NameMap.html | 2 + parity_wasm/elements/types/BlockType.t.html | 10 + .../elements/types/FunctionType.t.html | 10 + .../elements/types/TableElementType.t.html | 10 + parity_wasm/elements/types/Type.t.html | 10 + parity_wasm/elements/types/ValueType.t.html | 10 + .../elements/types/enum.BlockType.html | 10 + .../elements/types/enum.TableElementType.html | 10 + parity_wasm/elements/types/enum.Type.html | 10 + .../elements/types/enum.ValueType.html | 10 + .../elements/types/struct.FunctionType.html | 10 + parity_wasm/fn.peek_size.html | 2 + parity_wasm/index.html | 29 + parity_wasm/peek_size.v.html | 10 + parity_wasm/sidebar-items.js | 1 + rustdoc.css | 12 + search-index.js | 4 + settings.css | 12 + settings.html | 1 + settings.js | 11 + src/byteorder/io.rs.html | 3143 ++++++++ src/byteorder/lib.rs.html | 6501 +++++++++++++++++ src/parity_wasm/builder/code.rs.html | 827 +++ src/parity_wasm/builder/data.rs.html | 115 + src/parity_wasm/builder/export.rs.html | 237 + src/parity_wasm/builder/global.rs.html | 183 + src/parity_wasm/builder/import.rs.html | 265 + src/parity_wasm/builder/invoke.rs.html | 36 + src/parity_wasm/builder/memory.rs.html | 173 + src/parity_wasm/builder/misc.rs.html | 189 + src/parity_wasm/builder/mod.rs.html | 53 + src/parity_wasm/builder/module.rs.html | 1187 +++ src/parity_wasm/builder/table.rs.html | 173 + src/parity_wasm/elements/export_entry.rs.html | 207 + src/parity_wasm/elements/func.rs.html | 301 + src/parity_wasm/elements/global_entry.rs.html | 103 + src/parity_wasm/elements/import_entry.rs.html | 627 ++ src/parity_wasm/elements/index_map.rs.html | 1189 +++ src/parity_wasm/elements/mod.rs.html | 565 ++ src/parity_wasm/elements/module.rs.html | 1435 ++++ src/parity_wasm/elements/name_section.rs.html | 559 ++ src/parity_wasm/elements/ops.rs.html | 5355 ++++++++++++++ src/parity_wasm/elements/primitives.rs.html | 1819 +++++ .../elements/reloc_section.rs.html | 699 ++ src/parity_wasm/elements/section.rs.html | 2275 ++++++ src/parity_wasm/elements/segment.rs.html | 271 + src/parity_wasm/elements/types.rs.html | 525 ++ src/parity_wasm/io.rs.html | 241 + src/parity_wasm/lib.rs.html | 83 + storage.js | 11 + theme.js | 39 + wheel.svg | 1 + 2038 files changed, 52701 insertions(+) create mode 100755 .lock create mode 100644 .nojekyll create mode 100644 COPYRIGHT.txt create mode 100644 FiraSans-LICENSE.txt create mode 100644 FiraSans-Medium.woff create mode 100644 FiraSans-Regular.woff create mode 100644 Heuristica-Italic.woff create mode 100644 Heuristica-LICENSE.txt create mode 100644 LICENSE-APACHE.txt create mode 100644 LICENSE-MIT.txt create mode 100644 SourceCodePro-LICENSE.txt create mode 100644 SourceCodePro-Regular.woff create mode 100644 SourceCodePro-Semibold.woff create mode 100644 SourceSerifPro-Bold.woff create mode 100644 SourceSerifPro-LICENSE.txt create mode 100644 SourceSerifPro-Regular.woff create mode 100644 aliases.js create mode 100644 brush.svg create mode 100644 byteorder/BE.t.html create mode 100644 byteorder/BigEndian.t.html create mode 100644 byteorder/ByteOrder.t.html create mode 100644 byteorder/LE.t.html create mode 100644 byteorder/LittleEndian.t.html create mode 100644 byteorder/NativeEndian.t.html create mode 100644 byteorder/NetworkEndian.t.html create mode 100644 byteorder/ReadBytesExt.t.html create mode 100644 byteorder/WriteBytesExt.t.html create mode 100644 byteorder/all.html create mode 100644 byteorder/enum.BigEndian.html create mode 100644 byteorder/enum.LittleEndian.html create mode 100644 byteorder/index.html create mode 100644 byteorder/io/ReadBytesExt.t.html create mode 100644 byteorder/io/WriteBytesExt.t.html create mode 100644 byteorder/io/trait.ReadBytesExt.html create mode 100644 byteorder/io/trait.WriteBytesExt.html create mode 100644 byteorder/sidebar-items.js create mode 100644 byteorder/trait.ByteOrder.html create mode 100644 byteorder/trait.ReadBytesExt.html create mode 100644 byteorder/trait.WriteBytesExt.html create mode 100644 byteorder/type.BE.html create mode 100644 byteorder/type.LE.html create mode 100644 byteorder/type.NativeEndian.html create mode 100644 byteorder/type.NetworkEndian.html create mode 100644 dark.css create mode 100644 implementors/byteorder/trait.ByteOrder.js create mode 100644 implementors/byteorder/trait.ReadBytesExt.js create mode 100644 implementors/byteorder/trait.WriteBytesExt.js create mode 100644 implementors/core/clone/trait.Clone.js create mode 100644 implementors/core/cmp/trait.Eq.js create mode 100644 implementors/core/cmp/trait.Ord.js create mode 100644 implementors/core/cmp/trait.PartialEq.js create mode 100644 implementors/core/cmp/trait.PartialOrd.js create mode 100644 implementors/core/convert/trait.From.js create mode 100644 implementors/core/default/trait.Default.js create mode 100644 implementors/core/fmt/trait.Debug.js create mode 100644 implementors/core/fmt/trait.Display.js create mode 100644 implementors/core/hash/trait.Hash.js create mode 100644 implementors/core/iter/traits/trait.FromIterator.js create mode 100644 implementors/core/iter/traits/trait.IntoIterator.js create mode 100644 implementors/core/marker/trait.Copy.js create mode 100644 implementors/core/marker/trait.Send.js create mode 100644 implementors/core/marker/trait.Sync.js create mode 100644 implementors/parity_wasm/elements/trait.Deserialize.js create mode 100644 implementors/parity_wasm/elements/trait.Serialize.js create mode 100644 implementors/std/error/trait.Error.js create mode 100644 index.html create mode 100644 light.css create mode 100644 main.js create mode 100644 normalize.css create mode 100644 parity_wasm/all.html create mode 100644 parity_wasm/builder/DataSegmentBuilder.t.html create mode 100644 parity_wasm/builder/ExportBuilder.t.html create mode 100644 parity_wasm/builder/ExportInternalBuilder.t.html create mode 100644 parity_wasm/builder/FuncBodyBuilder.t.html create mode 100644 parity_wasm/builder/FunctionBuilder.t.html create mode 100644 parity_wasm/builder/FunctionDefinition.t.html create mode 100644 parity_wasm/builder/GlobalBuilder.t.html create mode 100644 parity_wasm/builder/Identity.t.html create mode 100644 parity_wasm/builder/ImportBuilder.t.html create mode 100644 parity_wasm/builder/MemoryBuilder.t.html create mode 100644 parity_wasm/builder/ModuleBuilder.t.html create mode 100644 parity_wasm/builder/SignatureBuilder.t.html create mode 100644 parity_wasm/builder/SignaturesBuilder.t.html create mode 100644 parity_wasm/builder/TableBuilder.t.html create mode 100644 parity_wasm/builder/TableDefinition.t.html create mode 100644 parity_wasm/builder/TableEntryDefinition.t.html create mode 100644 parity_wasm/builder/TypeRefBuilder.t.html create mode 100644 parity_wasm/builder/code/FuncBodyBuilder.t.html create mode 100644 parity_wasm/builder/code/FunctionBuilder.t.html create mode 100644 parity_wasm/builder/code/FunctionDefinition.t.html create mode 100644 parity_wasm/builder/code/SignatureBuilder.t.html create mode 100644 parity_wasm/builder/code/SignaturesBuilder.t.html create mode 100644 parity_wasm/builder/code/TypeRefBuilder.t.html create mode 100644 parity_wasm/builder/code/fn.function.html create mode 100644 parity_wasm/builder/code/fn.signature.html create mode 100644 parity_wasm/builder/code/fn.signatures.html create mode 100644 parity_wasm/builder/code/function.v.html create mode 100644 parity_wasm/builder/code/signature.v.html create mode 100644 parity_wasm/builder/code/signatures.v.html create mode 100644 parity_wasm/builder/code/struct.FuncBodyBuilder.html create mode 100644 parity_wasm/builder/code/struct.FunctionBuilder.html create mode 100644 parity_wasm/builder/code/struct.FunctionDefinition.html create mode 100644 parity_wasm/builder/code/struct.SignatureBuilder.html create mode 100644 parity_wasm/builder/code/struct.SignaturesBuilder.html create mode 100644 parity_wasm/builder/code/struct.TypeRefBuilder.html create mode 100644 parity_wasm/builder/data/DataSegmentBuilder.t.html create mode 100644 parity_wasm/builder/data/struct.DataSegmentBuilder.html create mode 100644 parity_wasm/builder/export.v.html create mode 100644 parity_wasm/builder/export/ExportBuilder.t.html create mode 100644 parity_wasm/builder/export/ExportInternalBuilder.t.html create mode 100644 parity_wasm/builder/export/export.v.html create mode 100644 parity_wasm/builder/export/fn.export.html create mode 100644 parity_wasm/builder/export/struct.ExportBuilder.html create mode 100644 parity_wasm/builder/export/struct.ExportInternalBuilder.html create mode 100644 parity_wasm/builder/fn.export.html create mode 100644 parity_wasm/builder/fn.from_module.html create mode 100644 parity_wasm/builder/fn.function.html create mode 100644 parity_wasm/builder/fn.global.html create mode 100644 parity_wasm/builder/fn.import.html create mode 100644 parity_wasm/builder/fn.module.html create mode 100644 parity_wasm/builder/fn.signature.html create mode 100644 parity_wasm/builder/fn.signatures.html create mode 100644 parity_wasm/builder/from_module.v.html create mode 100644 parity_wasm/builder/function.v.html create mode 100644 parity_wasm/builder/global.v.html create mode 100644 parity_wasm/builder/global/GlobalBuilder.t.html create mode 100644 parity_wasm/builder/global/fn.global.html create mode 100644 parity_wasm/builder/global/global.v.html create mode 100644 parity_wasm/builder/global/struct.GlobalBuilder.html create mode 100644 parity_wasm/builder/import.v.html create mode 100644 parity_wasm/builder/import/ImportBuilder.t.html create mode 100644 parity_wasm/builder/import/fn.import.html create mode 100644 parity_wasm/builder/import/import.v.html create mode 100644 parity_wasm/builder/import/struct.ImportBuilder.html create mode 100644 parity_wasm/builder/index.html create mode 100644 parity_wasm/builder/invoke/Identity.t.html create mode 100644 parity_wasm/builder/invoke/struct.Identity.html create mode 100644 parity_wasm/builder/memory/MemoryBuilder.t.html create mode 100644 parity_wasm/builder/memory/struct.MemoryBuilder.html create mode 100644 parity_wasm/builder/module.v.html create mode 100644 parity_wasm/builder/module/ModuleBuilder.t.html create mode 100644 parity_wasm/builder/module/fn.from_module.html create mode 100644 parity_wasm/builder/module/fn.module.html create mode 100644 parity_wasm/builder/module/from_module.v.html create mode 100644 parity_wasm/builder/module/module.v.html create mode 100644 parity_wasm/builder/module/struct.ModuleBuilder.html create mode 100644 parity_wasm/builder/sidebar-items.js create mode 100644 parity_wasm/builder/signature.v.html create mode 100644 parity_wasm/builder/signatures.v.html create mode 100644 parity_wasm/builder/struct.DataSegmentBuilder.html create mode 100644 parity_wasm/builder/struct.ExportBuilder.html create mode 100644 parity_wasm/builder/struct.ExportInternalBuilder.html create mode 100644 parity_wasm/builder/struct.FuncBodyBuilder.html create mode 100644 parity_wasm/builder/struct.FunctionBuilder.html create mode 100644 parity_wasm/builder/struct.FunctionDefinition.html create mode 100644 parity_wasm/builder/struct.GlobalBuilder.html create mode 100644 parity_wasm/builder/struct.Identity.html create mode 100644 parity_wasm/builder/struct.ImportBuilder.html create mode 100644 parity_wasm/builder/struct.MemoryBuilder.html create mode 100644 parity_wasm/builder/struct.ModuleBuilder.html create mode 100644 parity_wasm/builder/struct.SignatureBuilder.html create mode 100644 parity_wasm/builder/struct.SignaturesBuilder.html create mode 100644 parity_wasm/builder/struct.TableBuilder.html create mode 100644 parity_wasm/builder/struct.TableDefinition.html create mode 100644 parity_wasm/builder/struct.TableEntryDefinition.html create mode 100644 parity_wasm/builder/struct.TypeRefBuilder.html create mode 100644 parity_wasm/builder/table/TableBuilder.t.html create mode 100644 parity_wasm/builder/table/TableDefinition.t.html create mode 100644 parity_wasm/builder/table/TableEntryDefinition.t.html create mode 100644 parity_wasm/builder/table/struct.TableBuilder.html create mode 100644 parity_wasm/builder/table/struct.TableDefinition.html create mode 100644 parity_wasm/builder/table/struct.TableEntryDefinition.html create mode 100644 parity_wasm/elements/BlockType.t.html create mode 100644 parity_wasm/elements/CodeSection.t.html create mode 100644 parity_wasm/elements/CountedList.t.html create mode 100644 parity_wasm/elements/CountedListWriter.t.html create mode 100644 parity_wasm/elements/CountedWriter.t.html create mode 100644 parity_wasm/elements/CustomSection.t.html create mode 100644 parity_wasm/elements/DataSection.t.html create mode 100644 parity_wasm/elements/DataSegment.t.html create mode 100644 parity_wasm/elements/Deserialize.t.html create mode 100644 parity_wasm/elements/ElementSection.t.html create mode 100644 parity_wasm/elements/ElementSegment.t.html create mode 100644 parity_wasm/elements/Error.t.html create mode 100644 parity_wasm/elements/ExportEntry.t.html create mode 100644 parity_wasm/elements/ExportSection.t.html create mode 100644 parity_wasm/elements/External.t.html create mode 100644 parity_wasm/elements/Func.t.html create mode 100644 parity_wasm/elements/FuncBody.t.html create mode 100644 parity_wasm/elements/FunctionNameSection.t.html create mode 100644 parity_wasm/elements/FunctionSection.t.html create mode 100644 parity_wasm/elements/FunctionType.t.html create mode 100644 parity_wasm/elements/GlobalEntry.t.html create mode 100644 parity_wasm/elements/GlobalSection.t.html create mode 100644 parity_wasm/elements/GlobalType.t.html create mode 100644 parity_wasm/elements/ImportCountType.t.html create mode 100644 parity_wasm/elements/ImportEntry.t.html create mode 100644 parity_wasm/elements/ImportSection.t.html create mode 100644 parity_wasm/elements/IndexMap.t.html create mode 100644 parity_wasm/elements/InitExpr.t.html create mode 100644 parity_wasm/elements/Instruction.t.html create mode 100644 parity_wasm/elements/Instructions.t.html create mode 100644 parity_wasm/elements/Internal.t.html create mode 100644 parity_wasm/elements/Local.t.html create mode 100644 parity_wasm/elements/LocalNameSection.t.html create mode 100644 parity_wasm/elements/MemorySection.t.html create mode 100644 parity_wasm/elements/MemoryType.t.html create mode 100644 parity_wasm/elements/Module.t.html create mode 100644 parity_wasm/elements/ModuleNameSection.t.html create mode 100644 parity_wasm/elements/NameMap.t.html create mode 100644 parity_wasm/elements/NameSection.t.html create mode 100644 parity_wasm/elements/RelocSection.t.html create mode 100644 parity_wasm/elements/RelocationEntry.t.html create mode 100644 parity_wasm/elements/ResizableLimits.t.html create mode 100644 parity_wasm/elements/Section.t.html create mode 100644 parity_wasm/elements/Serialize.t.html create mode 100644 parity_wasm/elements/TableElementType.t.html create mode 100644 parity_wasm/elements/TableSection.t.html create mode 100644 parity_wasm/elements/TableType.t.html create mode 100644 parity_wasm/elements/Type.t.html create mode 100644 parity_wasm/elements/TypeSection.t.html create mode 100644 parity_wasm/elements/Uint32.t.html create mode 100644 parity_wasm/elements/Uint64.t.html create mode 100644 parity_wasm/elements/Uint8.t.html create mode 100644 parity_wasm/elements/Unparsed.t.html create mode 100644 parity_wasm/elements/ValueType.t.html create mode 100644 parity_wasm/elements/VarInt32.t.html create mode 100644 parity_wasm/elements/VarInt64.t.html create mode 100644 parity_wasm/elements/VarInt7.t.html create mode 100644 parity_wasm/elements/VarUint1.t.html create mode 100644 parity_wasm/elements/VarUint32.t.html create mode 100644 parity_wasm/elements/VarUint64.t.html create mode 100644 parity_wasm/elements/VarUint7.t.html create mode 100644 parity_wasm/elements/deserialize_buffer.v.html create mode 100644 parity_wasm/elements/deserialize_file.v.html create mode 100644 parity_wasm/elements/enum.BlockType.html create mode 100644 parity_wasm/elements/enum.Error.html create mode 100644 parity_wasm/elements/enum.External.html create mode 100644 parity_wasm/elements/enum.ImportCountType.html create mode 100644 parity_wasm/elements/enum.Instruction.html create mode 100644 parity_wasm/elements/enum.Internal.html create mode 100644 parity_wasm/elements/enum.NameSection.html create mode 100644 parity_wasm/elements/enum.RelocationEntry.html create mode 100644 parity_wasm/elements/enum.Section.html create mode 100644 parity_wasm/elements/enum.TableElementType.html create mode 100644 parity_wasm/elements/enum.Type.html create mode 100644 parity_wasm/elements/enum.ValueType.html create mode 100644 parity_wasm/elements/export_entry/ExportEntry.t.html create mode 100644 parity_wasm/elements/export_entry/Internal.t.html create mode 100644 parity_wasm/elements/export_entry/enum.Internal.html create mode 100644 parity_wasm/elements/export_entry/struct.ExportEntry.html create mode 100644 parity_wasm/elements/fn.deserialize_buffer.html create mode 100644 parity_wasm/elements/fn.deserialize_file.html create mode 100644 parity_wasm/elements/fn.peek_size.html create mode 100644 parity_wasm/elements/fn.serialize.html create mode 100644 parity_wasm/elements/fn.serialize_to_file.html create mode 100644 parity_wasm/elements/func/Func.t.html create mode 100644 parity_wasm/elements/func/FuncBody.t.html create mode 100644 parity_wasm/elements/func/Local.t.html create mode 100644 parity_wasm/elements/func/struct.Func.html create mode 100644 parity_wasm/elements/func/struct.FuncBody.html create mode 100644 parity_wasm/elements/func/struct.Local.html create mode 100644 parity_wasm/elements/global_entry/GlobalEntry.t.html create mode 100644 parity_wasm/elements/global_entry/struct.GlobalEntry.html create mode 100644 parity_wasm/elements/import_entry/External.t.html create mode 100644 parity_wasm/elements/import_entry/GlobalType.t.html create mode 100644 parity_wasm/elements/import_entry/ImportEntry.t.html create mode 100644 parity_wasm/elements/import_entry/MemoryType.t.html create mode 100644 parity_wasm/elements/import_entry/ResizableLimits.t.html create mode 100644 parity_wasm/elements/import_entry/TableType.t.html create mode 100644 parity_wasm/elements/import_entry/enum.External.html create mode 100644 parity_wasm/elements/import_entry/struct.GlobalType.html create mode 100644 parity_wasm/elements/import_entry/struct.ImportEntry.html create mode 100644 parity_wasm/elements/import_entry/struct.MemoryType.html create mode 100644 parity_wasm/elements/import_entry/struct.ResizableLimits.html create mode 100644 parity_wasm/elements/import_entry/struct.TableType.html create mode 100644 parity_wasm/elements/index.html create mode 100644 parity_wasm/elements/index_map/IndexMap.t.html create mode 100644 parity_wasm/elements/index_map/struct.IndexMap.html create mode 100644 parity_wasm/elements/module/ImportCountType.t.html create mode 100644 parity_wasm/elements/module/Module.t.html create mode 100644 parity_wasm/elements/module/enum.ImportCountType.html create mode 100644 parity_wasm/elements/module/fn.peek_size.html create mode 100644 parity_wasm/elements/module/peek_size.v.html create mode 100644 parity_wasm/elements/module/struct.Module.html create mode 100644 parity_wasm/elements/name_section/FunctionNameSection.t.html create mode 100644 parity_wasm/elements/name_section/LocalNameSection.t.html create mode 100644 parity_wasm/elements/name_section/ModuleNameSection.t.html create mode 100644 parity_wasm/elements/name_section/NameMap.t.html create mode 100644 parity_wasm/elements/name_section/NameSection.t.html create mode 100644 parity_wasm/elements/name_section/enum.NameSection.html create mode 100644 parity_wasm/elements/name_section/struct.FunctionNameSection.html create mode 100644 parity_wasm/elements/name_section/struct.LocalNameSection.html create mode 100644 parity_wasm/elements/name_section/struct.ModuleNameSection.html create mode 100644 parity_wasm/elements/name_section/type.NameMap.html create mode 100644 parity_wasm/elements/opcodes/ATOMIC_PREFIX.v.html create mode 100644 parity_wasm/elements/opcodes/ATOMIC_WAKE.v.html create mode 100644 parity_wasm/elements/opcodes/BLOCK.v.html create mode 100644 parity_wasm/elements/opcodes/BR.v.html create mode 100644 parity_wasm/elements/opcodes/BRIF.v.html create mode 100644 parity_wasm/elements/opcodes/BRTABLE.v.html create mode 100644 parity_wasm/elements/opcodes/CALL.v.html create mode 100644 parity_wasm/elements/opcodes/CALLINDIRECT.v.html create mode 100644 parity_wasm/elements/opcodes/CURRENTMEMORY.v.html create mode 100644 parity_wasm/elements/opcodes/DROP.v.html create mode 100644 parity_wasm/elements/opcodes/ELSE.v.html create mode 100644 parity_wasm/elements/opcodes/END.v.html create mode 100644 parity_wasm/elements/opcodes/F32ABS.v.html create mode 100644 parity_wasm/elements/opcodes/F32ADD.v.html create mode 100644 parity_wasm/elements/opcodes/F32CEIL.v.html create mode 100644 parity_wasm/elements/opcodes/F32CONST.v.html create mode 100644 parity_wasm/elements/opcodes/F32CONVERTSI32.v.html create mode 100644 parity_wasm/elements/opcodes/F32CONVERTSI64.v.html create mode 100644 parity_wasm/elements/opcodes/F32CONVERTUI32.v.html create mode 100644 parity_wasm/elements/opcodes/F32CONVERTUI64.v.html create mode 100644 parity_wasm/elements/opcodes/F32COPYSIGN.v.html create mode 100644 parity_wasm/elements/opcodes/F32DEMOTEF64.v.html create mode 100644 parity_wasm/elements/opcodes/F32DIV.v.html create mode 100644 parity_wasm/elements/opcodes/F32EQ.v.html create mode 100644 parity_wasm/elements/opcodes/F32FLOOR.v.html create mode 100644 parity_wasm/elements/opcodes/F32GE.v.html create mode 100644 parity_wasm/elements/opcodes/F32GT.v.html create mode 100644 parity_wasm/elements/opcodes/F32LE.v.html create mode 100644 parity_wasm/elements/opcodes/F32LOAD.v.html create mode 100644 parity_wasm/elements/opcodes/F32LT.v.html create mode 100644 parity_wasm/elements/opcodes/F32MAX.v.html create mode 100644 parity_wasm/elements/opcodes/F32MIN.v.html create mode 100644 parity_wasm/elements/opcodes/F32MUL.v.html create mode 100644 parity_wasm/elements/opcodes/F32NE.v.html create mode 100644 parity_wasm/elements/opcodes/F32NEAREST.v.html create mode 100644 parity_wasm/elements/opcodes/F32NEG.v.html create mode 100644 parity_wasm/elements/opcodes/F32REINTERPRETI32.v.html create mode 100644 parity_wasm/elements/opcodes/F32SQRT.v.html create mode 100644 parity_wasm/elements/opcodes/F32STORE.v.html create mode 100644 parity_wasm/elements/opcodes/F32SUB.v.html create mode 100644 parity_wasm/elements/opcodes/F32TRUNC.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_ABS.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_ADD.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_CONVERT_S_I32X4.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_CONVERT_U_I32X4.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_DIV.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_EQ.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_EXTRACT_LANE.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_GE.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_GT.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_LE.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_LT.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_MAX.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_MIN.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_MUL.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_NE.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_NEG.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_SPLAT.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_SQRT.v.html create mode 100644 parity_wasm/elements/opcodes/F32X4_SUB.v.html create mode 100644 parity_wasm/elements/opcodes/F64ABS.v.html create mode 100644 parity_wasm/elements/opcodes/F64ADD.v.html create mode 100644 parity_wasm/elements/opcodes/F64CEIL.v.html create mode 100644 parity_wasm/elements/opcodes/F64CONST.v.html create mode 100644 parity_wasm/elements/opcodes/F64CONVERTSI32.v.html create mode 100644 parity_wasm/elements/opcodes/F64CONVERTSI64.v.html create mode 100644 parity_wasm/elements/opcodes/F64CONVERTUI32.v.html create mode 100644 parity_wasm/elements/opcodes/F64CONVERTUI64.v.html create mode 100644 parity_wasm/elements/opcodes/F64COPYSIGN.v.html create mode 100644 parity_wasm/elements/opcodes/F64DIV.v.html create mode 100644 parity_wasm/elements/opcodes/F64EQ.v.html create mode 100644 parity_wasm/elements/opcodes/F64FLOOR.v.html create mode 100644 parity_wasm/elements/opcodes/F64GE.v.html create mode 100644 parity_wasm/elements/opcodes/F64GT.v.html create mode 100644 parity_wasm/elements/opcodes/F64LE.v.html create mode 100644 parity_wasm/elements/opcodes/F64LOAD.v.html create mode 100644 parity_wasm/elements/opcodes/F64LT.v.html create mode 100644 parity_wasm/elements/opcodes/F64MAX.v.html create mode 100644 parity_wasm/elements/opcodes/F64MIN.v.html create mode 100644 parity_wasm/elements/opcodes/F64MUL.v.html create mode 100644 parity_wasm/elements/opcodes/F64NE.v.html create mode 100644 parity_wasm/elements/opcodes/F64NEAREST.v.html create mode 100644 parity_wasm/elements/opcodes/F64NEG.v.html create mode 100644 parity_wasm/elements/opcodes/F64PROMOTEF32.v.html create mode 100644 parity_wasm/elements/opcodes/F64REINTERPRETI64.v.html create mode 100644 parity_wasm/elements/opcodes/F64SQRT.v.html create mode 100644 parity_wasm/elements/opcodes/F64STORE.v.html create mode 100644 parity_wasm/elements/opcodes/F64SUB.v.html create mode 100644 parity_wasm/elements/opcodes/F64TRUNC.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_ABS.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_ADD.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_CONVERT_S_I64X2.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_CONVERT_U_I64X2.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_DIV.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_EQ.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_EXTRACT_LANE.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_GE.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_GT.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_LE.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_LT.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_MAX.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_MIN.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_MUL.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_NE.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_NEG.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_SPLAT.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_SQRT.v.html create mode 100644 parity_wasm/elements/opcodes/F64X2_SUB.v.html create mode 100644 parity_wasm/elements/opcodes/GETGLOBAL.v.html create mode 100644 parity_wasm/elements/opcodes/GETLOCAL.v.html create mode 100644 parity_wasm/elements/opcodes/GROWMEMORY.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_ADD.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_ADD_SATURATE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_ADD_SATURATE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_ALL_TRUE.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_ANY_TRUE.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_EQ.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_EXTRACT_LANE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_EXTRACT_LANE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_GE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_GE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_GT_S.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_GT_U.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_LE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_LE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_LT_S.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_LT_U.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_MUL.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_NE.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_NEG.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_SHL.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_SHR_S.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_SHR_U.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_SPLAT.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_SUB.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_SUB_SATURATE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I16X8_SUB_SATURATE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I32ADD.v.html create mode 100644 parity_wasm/elements/opcodes/I32AND.v.html create mode 100644 parity_wasm/elements/opcodes/I32CLZ.v.html create mode 100644 parity_wasm/elements/opcodes/I32CONST.v.html create mode 100644 parity_wasm/elements/opcodes/I32CTZ.v.html create mode 100644 parity_wasm/elements/opcodes/I32DIVS.v.html create mode 100644 parity_wasm/elements/opcodes/I32DIVU.v.html create mode 100644 parity_wasm/elements/opcodes/I32EQ.v.html create mode 100644 parity_wasm/elements/opcodes/I32EQZ.v.html create mode 100644 parity_wasm/elements/opcodes/I32GES.v.html create mode 100644 parity_wasm/elements/opcodes/I32GEU.v.html create mode 100644 parity_wasm/elements/opcodes/I32GTS.v.html create mode 100644 parity_wasm/elements/opcodes/I32GTU.v.html create mode 100644 parity_wasm/elements/opcodes/I32LES.v.html create mode 100644 parity_wasm/elements/opcodes/I32LEU.v.html create mode 100644 parity_wasm/elements/opcodes/I32LOAD.v.html create mode 100644 parity_wasm/elements/opcodes/I32LOAD16S.v.html create mode 100644 parity_wasm/elements/opcodes/I32LOAD16U.v.html create mode 100644 parity_wasm/elements/opcodes/I32LOAD8S.v.html create mode 100644 parity_wasm/elements/opcodes/I32LOAD8U.v.html create mode 100644 parity_wasm/elements/opcodes/I32LTS.v.html create mode 100644 parity_wasm/elements/opcodes/I32LTU.v.html create mode 100644 parity_wasm/elements/opcodes/I32MUL.v.html create mode 100644 parity_wasm/elements/opcodes/I32NE.v.html create mode 100644 parity_wasm/elements/opcodes/I32OR.v.html create mode 100644 parity_wasm/elements/opcodes/I32POPCNT.v.html create mode 100644 parity_wasm/elements/opcodes/I32REINTERPRETF32.v.html create mode 100644 parity_wasm/elements/opcodes/I32REMS.v.html create mode 100644 parity_wasm/elements/opcodes/I32REMU.v.html create mode 100644 parity_wasm/elements/opcodes/I32ROTL.v.html create mode 100644 parity_wasm/elements/opcodes/I32ROTR.v.html create mode 100644 parity_wasm/elements/opcodes/I32SHL.v.html create mode 100644 parity_wasm/elements/opcodes/I32SHRS.v.html create mode 100644 parity_wasm/elements/opcodes/I32SHRU.v.html create mode 100644 parity_wasm/elements/opcodes/I32STORE.v.html create mode 100644 parity_wasm/elements/opcodes/I32STORE16.v.html create mode 100644 parity_wasm/elements/opcodes/I32STORE8.v.html create mode 100644 parity_wasm/elements/opcodes/I32SUB.v.html create mode 100644 parity_wasm/elements/opcodes/I32TRUNCSF32.v.html create mode 100644 parity_wasm/elements/opcodes/I32TRUNCSF64.v.html create mode 100644 parity_wasm/elements/opcodes/I32TRUNCUF32.v.html create mode 100644 parity_wasm/elements/opcodes/I32TRUNCUF64.v.html create mode 100644 parity_wasm/elements/opcodes/I32WRAPI64.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_ADD.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_ALL_TRUE.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_ANY_TRUE.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_EQ.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_EXTRACT_LANE.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_GE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_GE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_GT_S.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_GT_U.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_LE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_LE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_LT_S.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_LT_U.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_MUL.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_NE.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_NEG.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_SHL.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_SHR_S.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_SHR_U.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_SPLAT.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_SUB.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_TRUNC_S_F32X4_SAT.v.html create mode 100644 parity_wasm/elements/opcodes/I32X4_TRUNC_U_F32X4_SAT.v.html create mode 100644 parity_wasm/elements/opcodes/I32XOR.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_LOAD.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_LOAD16U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_LOAD8U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD16U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD8U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND16U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND8U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG16U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG8U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR16U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR8U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB16U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB8U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG16U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG8U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR16U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR8U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_STORE.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_STORE16U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_STORE8U.v.html create mode 100644 parity_wasm/elements/opcodes/I32_ATOMIC_WAIT.v.html create mode 100644 parity_wasm/elements/opcodes/I32_EXTEND16_S.v.html create mode 100644 parity_wasm/elements/opcodes/I32_EXTEND8_S.v.html create mode 100644 parity_wasm/elements/opcodes/I64ADD.v.html create mode 100644 parity_wasm/elements/opcodes/I64AND.v.html create mode 100644 parity_wasm/elements/opcodes/I64CLZ.v.html create mode 100644 parity_wasm/elements/opcodes/I64CONST.v.html create mode 100644 parity_wasm/elements/opcodes/I64CTZ.v.html create mode 100644 parity_wasm/elements/opcodes/I64DIVS.v.html create mode 100644 parity_wasm/elements/opcodes/I64DIVU.v.html create mode 100644 parity_wasm/elements/opcodes/I64EQ.v.html create mode 100644 parity_wasm/elements/opcodes/I64EQZ.v.html create mode 100644 parity_wasm/elements/opcodes/I64EXTENDSI32.v.html create mode 100644 parity_wasm/elements/opcodes/I64EXTENDUI32.v.html create mode 100644 parity_wasm/elements/opcodes/I64GES.v.html create mode 100644 parity_wasm/elements/opcodes/I64GEU.v.html create mode 100644 parity_wasm/elements/opcodes/I64GTS.v.html create mode 100644 parity_wasm/elements/opcodes/I64GTU.v.html create mode 100644 parity_wasm/elements/opcodes/I64LES.v.html create mode 100644 parity_wasm/elements/opcodes/I64LEU.v.html create mode 100644 parity_wasm/elements/opcodes/I64LOAD.v.html create mode 100644 parity_wasm/elements/opcodes/I64LOAD16S.v.html create mode 100644 parity_wasm/elements/opcodes/I64LOAD16U.v.html create mode 100644 parity_wasm/elements/opcodes/I64LOAD32S.v.html create mode 100644 parity_wasm/elements/opcodes/I64LOAD32U.v.html create mode 100644 parity_wasm/elements/opcodes/I64LOAD8S.v.html create mode 100644 parity_wasm/elements/opcodes/I64LOAD8U.v.html create mode 100644 parity_wasm/elements/opcodes/I64LTS.v.html create mode 100644 parity_wasm/elements/opcodes/I64LTU.v.html create mode 100644 parity_wasm/elements/opcodes/I64MUL.v.html create mode 100644 parity_wasm/elements/opcodes/I64NE.v.html create mode 100644 parity_wasm/elements/opcodes/I64OR.v.html create mode 100644 parity_wasm/elements/opcodes/I64POPCNT.v.html create mode 100644 parity_wasm/elements/opcodes/I64REINTERPRETF64.v.html create mode 100644 parity_wasm/elements/opcodes/I64REMS.v.html create mode 100644 parity_wasm/elements/opcodes/I64REMU.v.html create mode 100644 parity_wasm/elements/opcodes/I64ROTL.v.html create mode 100644 parity_wasm/elements/opcodes/I64ROTR.v.html create mode 100644 parity_wasm/elements/opcodes/I64SHL.v.html create mode 100644 parity_wasm/elements/opcodes/I64SHRS.v.html create mode 100644 parity_wasm/elements/opcodes/I64SHRU.v.html create mode 100644 parity_wasm/elements/opcodes/I64STORE.v.html create mode 100644 parity_wasm/elements/opcodes/I64STORE16.v.html create mode 100644 parity_wasm/elements/opcodes/I64STORE32.v.html create mode 100644 parity_wasm/elements/opcodes/I64STORE8.v.html create mode 100644 parity_wasm/elements/opcodes/I64SUB.v.html create mode 100644 parity_wasm/elements/opcodes/I64TRUNCSF32.v.html create mode 100644 parity_wasm/elements/opcodes/I64TRUNCSF64.v.html create mode 100644 parity_wasm/elements/opcodes/I64TRUNCUF32.v.html create mode 100644 parity_wasm/elements/opcodes/I64TRUNCUF64.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_ADD.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_ALL_TRUE.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_ANY_TRUE.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_EXTRACT_LANE.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_GE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_GE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_GT_S.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_GT_U.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_LE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_LE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_LT_S.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_LT_U.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_NEG.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_SHL.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_SHR_S.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_SHR_U.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_SPLAT.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_SUB.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_TRUNC_S_F64X2_SAT.v.html create mode 100644 parity_wasm/elements/opcodes/I64X2_TRUNC_U_F64X2_SAT.v.html create mode 100644 parity_wasm/elements/opcodes/I64XOR.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_LOAD.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_LOAD16U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_LOAD32U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_LOAD8U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD16U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD32U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD8U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND16U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND32U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND8U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG16U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG32U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG8U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR16U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR32U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR8U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB16U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB32U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB8U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG16U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG32U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG8U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR16U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR32U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR8U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_STORE.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_STORE16U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_STORE32U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_STORE8U.v.html create mode 100644 parity_wasm/elements/opcodes/I64_ATOMIC_WAIT.v.html create mode 100644 parity_wasm/elements/opcodes/I64_EXTEND16_S.v.html create mode 100644 parity_wasm/elements/opcodes/I64_EXTEND32_S.v.html create mode 100644 parity_wasm/elements/opcodes/I64_EXTEND8_S.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_ADD.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_ADD_SATURATE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_ADD_SATURATE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_ALL_TRUE.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_ANY_TRUE.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_EQ.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_EXTRACT_LANE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_EXTRACT_LANE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_GE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_GE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_GT_S.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_GT_U.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_LE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_LE_U.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_LT_S.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_LT_U.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_MUL.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_NE.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_NEG.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_SHL.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_SHR_S.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_SHR_U.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_SPLAT.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_SUB.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_SUB_SATURATE_S.v.html create mode 100644 parity_wasm/elements/opcodes/I8X16_SUB_SATURATE_U.v.html create mode 100644 parity_wasm/elements/opcodes/IF.v.html create mode 100644 parity_wasm/elements/opcodes/LOOP.v.html create mode 100644 parity_wasm/elements/opcodes/NOP.v.html create mode 100644 parity_wasm/elements/opcodes/RETURN.v.html create mode 100644 parity_wasm/elements/opcodes/SELECT.v.html create mode 100644 parity_wasm/elements/opcodes/SETGLOBAL.v.html create mode 100644 parity_wasm/elements/opcodes/SETLOCAL.v.html create mode 100644 parity_wasm/elements/opcodes/SIMD_PREFIX.v.html create mode 100644 parity_wasm/elements/opcodes/TEELOCAL.v.html create mode 100644 parity_wasm/elements/opcodes/UNREACHABLE.v.html create mode 100644 parity_wasm/elements/opcodes/V128_AND.v.html create mode 100644 parity_wasm/elements/opcodes/V128_BITSELECT.v.html create mode 100644 parity_wasm/elements/opcodes/V128_CONST.v.html create mode 100644 parity_wasm/elements/opcodes/V128_LOAD.v.html create mode 100644 parity_wasm/elements/opcodes/V128_NOT.v.html create mode 100644 parity_wasm/elements/opcodes/V128_OR.v.html create mode 100644 parity_wasm/elements/opcodes/V128_STORE.v.html create mode 100644 parity_wasm/elements/opcodes/V128_XOR.v.html create mode 100644 parity_wasm/elements/opcodes/V8X16_SHUFFLE.v.html create mode 100644 parity_wasm/elements/opcodes/constant.ATOMIC_PREFIX.html create mode 100644 parity_wasm/elements/opcodes/constant.ATOMIC_WAKE.html create mode 100644 parity_wasm/elements/opcodes/constant.BLOCK.html create mode 100644 parity_wasm/elements/opcodes/constant.BR.html create mode 100644 parity_wasm/elements/opcodes/constant.BRIF.html create mode 100644 parity_wasm/elements/opcodes/constant.BRTABLE.html create mode 100644 parity_wasm/elements/opcodes/constant.CALL.html create mode 100644 parity_wasm/elements/opcodes/constant.CALLINDIRECT.html create mode 100644 parity_wasm/elements/opcodes/constant.CURRENTMEMORY.html create mode 100644 parity_wasm/elements/opcodes/constant.DROP.html create mode 100644 parity_wasm/elements/opcodes/constant.ELSE.html create mode 100644 parity_wasm/elements/opcodes/constant.END.html create mode 100644 parity_wasm/elements/opcodes/constant.F32ABS.html create mode 100644 parity_wasm/elements/opcodes/constant.F32ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.F32CEIL.html create mode 100644 parity_wasm/elements/opcodes/constant.F32CONST.html create mode 100644 parity_wasm/elements/opcodes/constant.F32CONVERTSI32.html create mode 100644 parity_wasm/elements/opcodes/constant.F32CONVERTSI64.html create mode 100644 parity_wasm/elements/opcodes/constant.F32CONVERTUI32.html create mode 100644 parity_wasm/elements/opcodes/constant.F32CONVERTUI64.html create mode 100644 parity_wasm/elements/opcodes/constant.F32COPYSIGN.html create mode 100644 parity_wasm/elements/opcodes/constant.F32DEMOTEF64.html create mode 100644 parity_wasm/elements/opcodes/constant.F32DIV.html create mode 100644 parity_wasm/elements/opcodes/constant.F32EQ.html create mode 100644 parity_wasm/elements/opcodes/constant.F32FLOOR.html create mode 100644 parity_wasm/elements/opcodes/constant.F32GE.html create mode 100644 parity_wasm/elements/opcodes/constant.F32GT.html create mode 100644 parity_wasm/elements/opcodes/constant.F32LE.html create mode 100644 parity_wasm/elements/opcodes/constant.F32LOAD.html create mode 100644 parity_wasm/elements/opcodes/constant.F32LT.html create mode 100644 parity_wasm/elements/opcodes/constant.F32MAX.html create mode 100644 parity_wasm/elements/opcodes/constant.F32MIN.html create mode 100644 parity_wasm/elements/opcodes/constant.F32MUL.html create mode 100644 parity_wasm/elements/opcodes/constant.F32NE.html create mode 100644 parity_wasm/elements/opcodes/constant.F32NEAREST.html create mode 100644 parity_wasm/elements/opcodes/constant.F32NEG.html create mode 100644 parity_wasm/elements/opcodes/constant.F32REINTERPRETI32.html create mode 100644 parity_wasm/elements/opcodes/constant.F32SQRT.html create mode 100644 parity_wasm/elements/opcodes/constant.F32STORE.html create mode 100644 parity_wasm/elements/opcodes/constant.F32SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.F32TRUNC.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_ABS.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_CONVERT_S_I32X4.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_CONVERT_U_I32X4.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_DIV.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_EQ.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_EXTRACT_LANE.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_GE.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_GT.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_LE.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_LT.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_MAX.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_MIN.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_MUL.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_NE.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_NEG.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_REPLACE_LANE.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_SPLAT.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_SQRT.html create mode 100644 parity_wasm/elements/opcodes/constant.F32X4_SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.F64ABS.html create mode 100644 parity_wasm/elements/opcodes/constant.F64ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.F64CEIL.html create mode 100644 parity_wasm/elements/opcodes/constant.F64CONST.html create mode 100644 parity_wasm/elements/opcodes/constant.F64CONVERTSI32.html create mode 100644 parity_wasm/elements/opcodes/constant.F64CONVERTSI64.html create mode 100644 parity_wasm/elements/opcodes/constant.F64CONVERTUI32.html create mode 100644 parity_wasm/elements/opcodes/constant.F64CONVERTUI64.html create mode 100644 parity_wasm/elements/opcodes/constant.F64COPYSIGN.html create mode 100644 parity_wasm/elements/opcodes/constant.F64DIV.html create mode 100644 parity_wasm/elements/opcodes/constant.F64EQ.html create mode 100644 parity_wasm/elements/opcodes/constant.F64FLOOR.html create mode 100644 parity_wasm/elements/opcodes/constant.F64GE.html create mode 100644 parity_wasm/elements/opcodes/constant.F64GT.html create mode 100644 parity_wasm/elements/opcodes/constant.F64LE.html create mode 100644 parity_wasm/elements/opcodes/constant.F64LOAD.html create mode 100644 parity_wasm/elements/opcodes/constant.F64LT.html create mode 100644 parity_wasm/elements/opcodes/constant.F64MAX.html create mode 100644 parity_wasm/elements/opcodes/constant.F64MIN.html create mode 100644 parity_wasm/elements/opcodes/constant.F64MUL.html create mode 100644 parity_wasm/elements/opcodes/constant.F64NE.html create mode 100644 parity_wasm/elements/opcodes/constant.F64NEAREST.html create mode 100644 parity_wasm/elements/opcodes/constant.F64NEG.html create mode 100644 parity_wasm/elements/opcodes/constant.F64PROMOTEF32.html create mode 100644 parity_wasm/elements/opcodes/constant.F64REINTERPRETI64.html create mode 100644 parity_wasm/elements/opcodes/constant.F64SQRT.html create mode 100644 parity_wasm/elements/opcodes/constant.F64STORE.html create mode 100644 parity_wasm/elements/opcodes/constant.F64SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.F64TRUNC.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_ABS.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_CONVERT_S_I64X2.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_CONVERT_U_I64X2.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_DIV.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_EQ.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_EXTRACT_LANE.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_GE.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_GT.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_LE.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_LT.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_MAX.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_MIN.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_MUL.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_NE.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_NEG.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_REPLACE_LANE.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_SPLAT.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_SQRT.html create mode 100644 parity_wasm/elements/opcodes/constant.F64X2_SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.GETGLOBAL.html create mode 100644 parity_wasm/elements/opcodes/constant.GETLOCAL.html create mode 100644 parity_wasm/elements/opcodes/constant.GROWMEMORY.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_ADD_SATURATE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_ADD_SATURATE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_ALL_TRUE.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_ANY_TRUE.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_EQ.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_EXTRACT_LANE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_EXTRACT_LANE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_GE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_GE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_GT_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_GT_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_LE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_LE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_LT_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_LT_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_MUL.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_NE.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_NEG.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_REPLACE_LANE.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_SHL.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_SHR_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_SHR_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_SPLAT.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_SUB_SATURATE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I16X8_SUB_SATURATE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.I32AND.html create mode 100644 parity_wasm/elements/opcodes/constant.I32CLZ.html create mode 100644 parity_wasm/elements/opcodes/constant.I32CONST.html create mode 100644 parity_wasm/elements/opcodes/constant.I32CTZ.html create mode 100644 parity_wasm/elements/opcodes/constant.I32DIVS.html create mode 100644 parity_wasm/elements/opcodes/constant.I32DIVU.html create mode 100644 parity_wasm/elements/opcodes/constant.I32EQ.html create mode 100644 parity_wasm/elements/opcodes/constant.I32EQZ.html create mode 100644 parity_wasm/elements/opcodes/constant.I32GES.html create mode 100644 parity_wasm/elements/opcodes/constant.I32GEU.html create mode 100644 parity_wasm/elements/opcodes/constant.I32GTS.html create mode 100644 parity_wasm/elements/opcodes/constant.I32GTU.html create mode 100644 parity_wasm/elements/opcodes/constant.I32LES.html create mode 100644 parity_wasm/elements/opcodes/constant.I32LEU.html create mode 100644 parity_wasm/elements/opcodes/constant.I32LOAD.html create mode 100644 parity_wasm/elements/opcodes/constant.I32LOAD16S.html create mode 100644 parity_wasm/elements/opcodes/constant.I32LOAD16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32LOAD8S.html create mode 100644 parity_wasm/elements/opcodes/constant.I32LOAD8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32LTS.html create mode 100644 parity_wasm/elements/opcodes/constant.I32LTU.html create mode 100644 parity_wasm/elements/opcodes/constant.I32MUL.html create mode 100644 parity_wasm/elements/opcodes/constant.I32NE.html create mode 100644 parity_wasm/elements/opcodes/constant.I32OR.html create mode 100644 parity_wasm/elements/opcodes/constant.I32POPCNT.html create mode 100644 parity_wasm/elements/opcodes/constant.I32REINTERPRETF32.html create mode 100644 parity_wasm/elements/opcodes/constant.I32REMS.html create mode 100644 parity_wasm/elements/opcodes/constant.I32REMU.html create mode 100644 parity_wasm/elements/opcodes/constant.I32ROTL.html create mode 100644 parity_wasm/elements/opcodes/constant.I32ROTR.html create mode 100644 parity_wasm/elements/opcodes/constant.I32SHL.html create mode 100644 parity_wasm/elements/opcodes/constant.I32SHRS.html create mode 100644 parity_wasm/elements/opcodes/constant.I32SHRU.html create mode 100644 parity_wasm/elements/opcodes/constant.I32STORE.html create mode 100644 parity_wasm/elements/opcodes/constant.I32STORE16.html create mode 100644 parity_wasm/elements/opcodes/constant.I32STORE8.html create mode 100644 parity_wasm/elements/opcodes/constant.I32SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.I32TRUNCSF32.html create mode 100644 parity_wasm/elements/opcodes/constant.I32TRUNCSF64.html create mode 100644 parity_wasm/elements/opcodes/constant.I32TRUNCUF32.html create mode 100644 parity_wasm/elements/opcodes/constant.I32TRUNCUF64.html create mode 100644 parity_wasm/elements/opcodes/constant.I32WRAPI64.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_ALL_TRUE.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_ANY_TRUE.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_EQ.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_EXTRACT_LANE.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_GE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_GE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_GT_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_GT_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_LE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_LE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_LT_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_LT_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_MUL.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_NE.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_NEG.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_REPLACE_LANE.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_SHL.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_SHR_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_SHR_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_SPLAT.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_TRUNC_S_F32X4_SAT.html create mode 100644 parity_wasm/elements/opcodes/constant.I32X4_TRUNC_U_F32X4_SAT.html create mode 100644 parity_wasm/elements/opcodes/constant.I32XOR.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_ATOMIC_WAIT.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_EXTEND16_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I32_EXTEND8_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I64ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.I64AND.html create mode 100644 parity_wasm/elements/opcodes/constant.I64CLZ.html create mode 100644 parity_wasm/elements/opcodes/constant.I64CONST.html create mode 100644 parity_wasm/elements/opcodes/constant.I64CTZ.html create mode 100644 parity_wasm/elements/opcodes/constant.I64DIVS.html create mode 100644 parity_wasm/elements/opcodes/constant.I64DIVU.html create mode 100644 parity_wasm/elements/opcodes/constant.I64EQ.html create mode 100644 parity_wasm/elements/opcodes/constant.I64EQZ.html create mode 100644 parity_wasm/elements/opcodes/constant.I64EXTENDSI32.html create mode 100644 parity_wasm/elements/opcodes/constant.I64EXTENDUI32.html create mode 100644 parity_wasm/elements/opcodes/constant.I64GES.html create mode 100644 parity_wasm/elements/opcodes/constant.I64GEU.html create mode 100644 parity_wasm/elements/opcodes/constant.I64GTS.html create mode 100644 parity_wasm/elements/opcodes/constant.I64GTU.html create mode 100644 parity_wasm/elements/opcodes/constant.I64LES.html create mode 100644 parity_wasm/elements/opcodes/constant.I64LEU.html create mode 100644 parity_wasm/elements/opcodes/constant.I64LOAD.html create mode 100644 parity_wasm/elements/opcodes/constant.I64LOAD16S.html create mode 100644 parity_wasm/elements/opcodes/constant.I64LOAD16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64LOAD32S.html create mode 100644 parity_wasm/elements/opcodes/constant.I64LOAD32U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64LOAD8S.html create mode 100644 parity_wasm/elements/opcodes/constant.I64LOAD8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64LTS.html create mode 100644 parity_wasm/elements/opcodes/constant.I64LTU.html create mode 100644 parity_wasm/elements/opcodes/constant.I64MUL.html create mode 100644 parity_wasm/elements/opcodes/constant.I64NE.html create mode 100644 parity_wasm/elements/opcodes/constant.I64OR.html create mode 100644 parity_wasm/elements/opcodes/constant.I64POPCNT.html create mode 100644 parity_wasm/elements/opcodes/constant.I64REINTERPRETF64.html create mode 100644 parity_wasm/elements/opcodes/constant.I64REMS.html create mode 100644 parity_wasm/elements/opcodes/constant.I64REMU.html create mode 100644 parity_wasm/elements/opcodes/constant.I64ROTL.html create mode 100644 parity_wasm/elements/opcodes/constant.I64ROTR.html create mode 100644 parity_wasm/elements/opcodes/constant.I64SHL.html create mode 100644 parity_wasm/elements/opcodes/constant.I64SHRS.html create mode 100644 parity_wasm/elements/opcodes/constant.I64SHRU.html create mode 100644 parity_wasm/elements/opcodes/constant.I64STORE.html create mode 100644 parity_wasm/elements/opcodes/constant.I64STORE16.html create mode 100644 parity_wasm/elements/opcodes/constant.I64STORE32.html create mode 100644 parity_wasm/elements/opcodes/constant.I64STORE8.html create mode 100644 parity_wasm/elements/opcodes/constant.I64SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.I64TRUNCSF32.html create mode 100644 parity_wasm/elements/opcodes/constant.I64TRUNCSF64.html create mode 100644 parity_wasm/elements/opcodes/constant.I64TRUNCUF32.html create mode 100644 parity_wasm/elements/opcodes/constant.I64TRUNCUF64.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_ALL_TRUE.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_ANY_TRUE.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_EXTRACT_LANE.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_GE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_GE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_GT_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_GT_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_LE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_LE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_LT_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_LT_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_NEG.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_REPLACE_LANE.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_SHL.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_SHR_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_SHR_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_SPLAT.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_TRUNC_S_F64X2_SAT.html create mode 100644 parity_wasm/elements/opcodes/constant.I64X2_TRUNC_U_F64X2_SAT.html create mode 100644 parity_wasm/elements/opcodes/constant.I64XOR.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD32U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD32U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND32U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG32U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR32U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB32U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG32U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR32U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE16U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE32U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE8U.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_ATOMIC_WAIT.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_EXTEND16_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_EXTEND32_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I64_EXTEND8_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_ADD.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_ADD_SATURATE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_ADD_SATURATE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_ALL_TRUE.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_ANY_TRUE.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_EQ.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_EXTRACT_LANE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_EXTRACT_LANE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_GE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_GE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_GT_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_GT_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_LE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_LE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_LT_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_LT_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_MUL.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_NE.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_NEG.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_REPLACE_LANE.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_SHL.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_SHR_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_SHR_U.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_SPLAT.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_SUB.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_SUB_SATURATE_S.html create mode 100644 parity_wasm/elements/opcodes/constant.I8X16_SUB_SATURATE_U.html create mode 100644 parity_wasm/elements/opcodes/constant.IF.html create mode 100644 parity_wasm/elements/opcodes/constant.LOOP.html create mode 100644 parity_wasm/elements/opcodes/constant.NOP.html create mode 100644 parity_wasm/elements/opcodes/constant.RETURN.html create mode 100644 parity_wasm/elements/opcodes/constant.SELECT.html create mode 100644 parity_wasm/elements/opcodes/constant.SETGLOBAL.html create mode 100644 parity_wasm/elements/opcodes/constant.SETLOCAL.html create mode 100644 parity_wasm/elements/opcodes/constant.SIMD_PREFIX.html create mode 100644 parity_wasm/elements/opcodes/constant.TEELOCAL.html create mode 100644 parity_wasm/elements/opcodes/constant.UNREACHABLE.html create mode 100644 parity_wasm/elements/opcodes/constant.V128_AND.html create mode 100644 parity_wasm/elements/opcodes/constant.V128_BITSELECT.html create mode 100644 parity_wasm/elements/opcodes/constant.V128_CONST.html create mode 100644 parity_wasm/elements/opcodes/constant.V128_LOAD.html create mode 100644 parity_wasm/elements/opcodes/constant.V128_NOT.html create mode 100644 parity_wasm/elements/opcodes/constant.V128_OR.html create mode 100644 parity_wasm/elements/opcodes/constant.V128_STORE.html create mode 100644 parity_wasm/elements/opcodes/constant.V128_XOR.html create mode 100644 parity_wasm/elements/opcodes/constant.V8X16_SHUFFLE.html create mode 100644 parity_wasm/elements/opcodes/index.html create mode 100644 parity_wasm/elements/opcodes/sidebar-items.js create mode 100644 parity_wasm/elements/ops/InitExpr.t.html create mode 100644 parity_wasm/elements/ops/Instruction.t.html create mode 100644 parity_wasm/elements/ops/Instructions.t.html create mode 100644 parity_wasm/elements/ops/enum.Instruction.html create mode 100644 parity_wasm/elements/ops/opcodes/ATOMIC_PREFIX.v.html create mode 100644 parity_wasm/elements/ops/opcodes/ATOMIC_WAKE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/BLOCK.v.html create mode 100644 parity_wasm/elements/ops/opcodes/BR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/BRIF.v.html create mode 100644 parity_wasm/elements/ops/opcodes/BRTABLE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/CALL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/CALLINDIRECT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/CURRENTMEMORY.v.html create mode 100644 parity_wasm/elements/ops/opcodes/DROP.v.html create mode 100644 parity_wasm/elements/ops/opcodes/ELSE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/END.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32ABS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32CEIL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32CONST.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32CONVERTSI32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32CONVERTSI64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32CONVERTUI32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32CONVERTUI64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32COPYSIGN.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32DEMOTEF64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32DIV.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32EQ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32FLOOR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32GE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32GT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32LE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32LOAD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32LT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32MAX.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32MIN.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32MUL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32NE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32NEAREST.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32NEG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32REINTERPRETI32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32SQRT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32STORE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32TRUNC.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_ABS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_CONVERT_S_I32X4.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_CONVERT_U_I32X4.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_DIV.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_EQ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_EXTRACT_LANE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_GE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_GT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_LE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_LT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_MAX.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_MIN.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_MUL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_NE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_NEG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_SPLAT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_SQRT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F32X4_SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64ABS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64CEIL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64CONST.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64CONVERTSI32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64CONVERTSI64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64CONVERTUI32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64CONVERTUI64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64COPYSIGN.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64DIV.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64EQ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64FLOOR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64GE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64GT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64LE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64LOAD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64LT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64MAX.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64MIN.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64MUL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64NE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64NEAREST.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64NEG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64PROMOTEF32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64REINTERPRETI64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64SQRT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64STORE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64TRUNC.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_ABS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_CONVERT_S_I64X2.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_CONVERT_U_I64X2.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_DIV.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_EQ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_EXTRACT_LANE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_GE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_GT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_LE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_LT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_MAX.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_MIN.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_MUL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_NE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_NEG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_SPLAT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_SQRT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/F64X2_SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/GETGLOBAL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/GETLOCAL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/GROWMEMORY.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_ADD_SATURATE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_ADD_SATURATE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_ALL_TRUE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_ANY_TRUE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_EQ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_EXTRACT_LANE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_EXTRACT_LANE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_GE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_GE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_GT_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_GT_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_LE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_LE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_LT_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_LT_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_MUL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_NE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_NEG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_SHL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_SHR_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_SHR_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_SPLAT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_SUB_SATURATE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I16X8_SUB_SATURATE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32AND.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32CLZ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32CONST.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32CTZ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32DIVS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32DIVU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32EQ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32EQZ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32GES.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32GEU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32GTS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32GTU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32LES.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32LEU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32LOAD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32LOAD16S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32LOAD16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32LOAD8S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32LOAD8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32LTS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32LTU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32MUL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32NE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32OR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32POPCNT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32REINTERPRETF32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32REMS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32REMU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32ROTL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32ROTR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32SHL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32SHRS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32SHRU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32STORE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32STORE16.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32STORE8.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32TRUNCSF32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32TRUNCSF64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32TRUNCUF32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32TRUNCUF64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32WRAPI64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_ALL_TRUE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_ANY_TRUE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_EQ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_EXTRACT_LANE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_GE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_GE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_GT_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_GT_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_LE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_LE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_LT_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_LT_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_MUL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_NE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_NEG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_SHL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_SHR_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_SHR_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_SPLAT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_TRUNC_S_F32X4_SAT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32X4_TRUNC_U_F32X4_SAT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32XOR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_ATOMIC_WAIT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_EXTEND16_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I32_EXTEND8_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64AND.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64CLZ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64CONST.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64CTZ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64DIVS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64DIVU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64EQ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64EQZ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64EXTENDSI32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64EXTENDUI32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64GES.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64GEU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64GTS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64GTU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64LES.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64LEU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64LOAD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64LOAD16S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64LOAD16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64LOAD32S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64LOAD32U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64LOAD8S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64LOAD8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64LTS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64LTU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64MUL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64NE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64OR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64POPCNT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64REINTERPRETF64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64REMS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64REMU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64ROTL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64ROTR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64SHL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64SHRS.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64SHRU.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64STORE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64STORE16.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64STORE32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64STORE8.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64TRUNCSF32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64TRUNCSF64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64TRUNCUF32.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64TRUNCUF64.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_ALL_TRUE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_ANY_TRUE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_EXTRACT_LANE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_GE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_GE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_GT_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_GT_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_LE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_LE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_LT_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_LT_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_NEG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_SHL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_SHR_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_SHR_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_SPLAT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_TRUNC_S_F64X2_SAT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64X2_TRUNC_U_F64X2_SAT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64XOR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD32U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD32U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND32U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG32U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR32U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB32U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG32U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR32U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE16U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE32U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE8U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_ATOMIC_WAIT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_EXTEND16_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_EXTEND32_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I64_EXTEND8_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_ADD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_ADD_SATURATE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_ADD_SATURATE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_ALL_TRUE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_ANY_TRUE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_EQ.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_EXTRACT_LANE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_EXTRACT_LANE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_GE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_GE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_GT_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_GT_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_LE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_LE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_LT_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_LT_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_MUL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_NE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_NEG.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_REPLACE_LANE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_SHL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_SHR_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_SHR_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_SPLAT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_SUB.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_SUB_SATURATE_S.v.html create mode 100644 parity_wasm/elements/ops/opcodes/I8X16_SUB_SATURATE_U.v.html create mode 100644 parity_wasm/elements/ops/opcodes/IF.v.html create mode 100644 parity_wasm/elements/ops/opcodes/LOOP.v.html create mode 100644 parity_wasm/elements/ops/opcodes/NOP.v.html create mode 100644 parity_wasm/elements/ops/opcodes/RETURN.v.html create mode 100644 parity_wasm/elements/ops/opcodes/SELECT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/SETGLOBAL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/SETLOCAL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/SIMD_PREFIX.v.html create mode 100644 parity_wasm/elements/ops/opcodes/TEELOCAL.v.html create mode 100644 parity_wasm/elements/ops/opcodes/UNREACHABLE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/V128_AND.v.html create mode 100644 parity_wasm/elements/ops/opcodes/V128_BITSELECT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/V128_CONST.v.html create mode 100644 parity_wasm/elements/ops/opcodes/V128_LOAD.v.html create mode 100644 parity_wasm/elements/ops/opcodes/V128_NOT.v.html create mode 100644 parity_wasm/elements/ops/opcodes/V128_OR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/V128_STORE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/V128_XOR.v.html create mode 100644 parity_wasm/elements/ops/opcodes/V8X16_SHUFFLE.v.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.ATOMIC_PREFIX.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.ATOMIC_WAKE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.BLOCK.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.BR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.BRIF.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.BRTABLE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.CALL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.CALLINDIRECT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.CURRENTMEMORY.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.DROP.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.ELSE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.END.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32ABS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32CEIL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32CONST.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32CONVERTSI32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32CONVERTSI64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32CONVERTUI32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32CONVERTUI64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32COPYSIGN.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32DEMOTEF64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32DIV.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32EQ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32FLOOR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32GE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32GT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32LE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32LOAD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32LT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32MAX.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32MIN.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32MUL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32NE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32NEAREST.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32NEG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32REINTERPRETI32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32SQRT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32STORE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32TRUNC.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_ABS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_CONVERT_S_I32X4.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_CONVERT_U_I32X4.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_DIV.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_EQ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_EXTRACT_LANE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_GE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_GT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_LE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_LT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_MAX.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_MIN.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_MUL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_NE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_NEG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_REPLACE_LANE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_SPLAT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_SQRT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F32X4_SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64ABS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64CEIL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64CONST.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64CONVERTSI32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64CONVERTSI64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64CONVERTUI32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64CONVERTUI64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64COPYSIGN.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64DIV.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64EQ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64FLOOR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64GE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64GT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64LE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64LOAD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64LT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64MAX.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64MIN.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64MUL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64NE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64NEAREST.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64NEG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64PROMOTEF32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64REINTERPRETI64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64SQRT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64STORE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64TRUNC.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_ABS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_CONVERT_S_I64X2.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_CONVERT_U_I64X2.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_DIV.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_EQ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_EXTRACT_LANE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_GE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_GT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_LE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_LT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_MAX.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_MIN.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_MUL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_NE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_NEG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_REPLACE_LANE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_SPLAT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_SQRT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.F64X2_SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.GETGLOBAL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.GETLOCAL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.GROWMEMORY.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_ADD_SATURATE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_ADD_SATURATE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_ALL_TRUE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_ANY_TRUE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_EQ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_EXTRACT_LANE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_EXTRACT_LANE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_GE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_GE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_GT_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_GT_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_LE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_LE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_LT_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_LT_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_MUL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_NE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_NEG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_REPLACE_LANE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_SHL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_SHR_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_SHR_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_SPLAT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_SUB_SATURATE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I16X8_SUB_SATURATE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32AND.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32CLZ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32CONST.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32CTZ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32DIVS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32DIVU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32EQ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32EQZ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32GES.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32GEU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32GTS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32GTU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32LES.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32LEU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32LOAD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32LOAD16S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32LOAD16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32LOAD8S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32LOAD8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32LTS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32LTU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32MUL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32NE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32OR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32POPCNT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32REINTERPRETF32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32REMS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32REMU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32ROTL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32ROTR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32SHL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32SHRS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32SHRU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32STORE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32STORE16.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32STORE8.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32TRUNCSF32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32TRUNCSF64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32TRUNCUF32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32TRUNCUF64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32WRAPI64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_ALL_TRUE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_ANY_TRUE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_EQ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_EXTRACT_LANE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_GE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_GE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_GT_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_GT_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_LE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_LE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_LT_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_LT_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_MUL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_NE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_NEG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_REPLACE_LANE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_SHL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_SHR_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_SHR_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_SPLAT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_TRUNC_S_F32X4_SAT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32X4_TRUNC_U_F32X4_SAT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32XOR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_WAIT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_EXTEND16_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I32_EXTEND8_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64AND.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64CLZ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64CONST.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64CTZ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64DIVS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64DIVU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64EQ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64EQZ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64EXTENDSI32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64EXTENDUI32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64GES.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64GEU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64GTS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64GTU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64LES.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64LEU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64LOAD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64LOAD16S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64LOAD16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64LOAD32S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64LOAD32U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64LOAD8S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64LOAD8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64LTS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64LTU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64MUL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64NE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64OR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64POPCNT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64REINTERPRETF64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64REMS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64REMU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64ROTL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64ROTR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64SHL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64SHRS.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64SHRU.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64STORE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64STORE16.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64STORE32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64STORE8.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64TRUNCSF32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64TRUNCSF64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64TRUNCUF32.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64TRUNCUF64.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_ALL_TRUE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_ANY_TRUE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_EXTRACT_LANE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_GE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_GE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_GT_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_GT_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_LE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_LE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_LT_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_LT_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_NEG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_REPLACE_LANE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_SHL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_SHR_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_SHR_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_SPLAT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_TRUNC_S_F64X2_SAT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64X2_TRUNC_U_F64X2_SAT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64XOR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD32U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD32U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND32U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG32U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR32U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB32U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG32U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR32U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE16U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE32U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE8U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_WAIT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_EXTEND16_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_EXTEND32_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I64_EXTEND8_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_ADD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_ADD_SATURATE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_ADD_SATURATE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_ALL_TRUE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_ANY_TRUE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_EQ.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_EXTRACT_LANE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_EXTRACT_LANE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_GE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_GE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_GT_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_GT_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_LE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_LE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_LT_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_LT_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_MUL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_NE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_NEG.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_REPLACE_LANE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_SHL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_SHR_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_SHR_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_SPLAT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_SUB.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_SUB_SATURATE_S.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.I8X16_SUB_SATURATE_U.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.IF.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.LOOP.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.NOP.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.RETURN.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.SELECT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.SETGLOBAL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.SETLOCAL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.SIMD_PREFIX.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.TEELOCAL.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.UNREACHABLE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.V128_AND.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.V128_BITSELECT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.V128_CONST.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.V128_LOAD.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.V128_NOT.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.V128_OR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.V128_STORE.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.V128_XOR.html create mode 100644 parity_wasm/elements/ops/opcodes/constant.V8X16_SHUFFLE.html create mode 100644 parity_wasm/elements/ops/opcodes/index.html create mode 100644 parity_wasm/elements/ops/struct.InitExpr.html create mode 100644 parity_wasm/elements/ops/struct.Instructions.html create mode 100644 parity_wasm/elements/peek_size.v.html create mode 100644 parity_wasm/elements/primitives/CountedList.t.html create mode 100644 parity_wasm/elements/primitives/CountedListWriter.t.html create mode 100644 parity_wasm/elements/primitives/CountedWriter.t.html create mode 100644 parity_wasm/elements/primitives/Uint32.t.html create mode 100644 parity_wasm/elements/primitives/Uint64.t.html create mode 100644 parity_wasm/elements/primitives/Uint8.t.html create mode 100644 parity_wasm/elements/primitives/VarInt32.t.html create mode 100644 parity_wasm/elements/primitives/VarInt64.t.html create mode 100644 parity_wasm/elements/primitives/VarInt7.t.html create mode 100644 parity_wasm/elements/primitives/VarUint1.t.html create mode 100644 parity_wasm/elements/primitives/VarUint32.t.html create mode 100644 parity_wasm/elements/primitives/VarUint64.t.html create mode 100644 parity_wasm/elements/primitives/VarUint7.t.html create mode 100644 parity_wasm/elements/primitives/struct.CountedList.html create mode 100644 parity_wasm/elements/primitives/struct.CountedListWriter.html create mode 100644 parity_wasm/elements/primitives/struct.CountedWriter.html create mode 100644 parity_wasm/elements/primitives/struct.Uint32.html create mode 100644 parity_wasm/elements/primitives/struct.Uint64.html create mode 100644 parity_wasm/elements/primitives/struct.Uint8.html create mode 100644 parity_wasm/elements/primitives/struct.VarInt32.html create mode 100644 parity_wasm/elements/primitives/struct.VarInt64.html create mode 100644 parity_wasm/elements/primitives/struct.VarInt7.html create mode 100644 parity_wasm/elements/primitives/struct.VarUint1.html create mode 100644 parity_wasm/elements/primitives/struct.VarUint32.html create mode 100644 parity_wasm/elements/primitives/struct.VarUint64.html create mode 100644 parity_wasm/elements/primitives/struct.VarUint7.html create mode 100644 parity_wasm/elements/reloc_section/RelocSection.t.html create mode 100644 parity_wasm/elements/reloc_section/RelocationEntry.t.html create mode 100644 parity_wasm/elements/reloc_section/enum.RelocationEntry.html create mode 100644 parity_wasm/elements/reloc_section/struct.RelocSection.html create mode 100644 parity_wasm/elements/section/CodeSection.t.html create mode 100644 parity_wasm/elements/section/CustomSection.t.html create mode 100644 parity_wasm/elements/section/DataSection.t.html create mode 100644 parity_wasm/elements/section/ElementSection.t.html create mode 100644 parity_wasm/elements/section/ExportSection.t.html create mode 100644 parity_wasm/elements/section/FunctionSection.t.html create mode 100644 parity_wasm/elements/section/GlobalSection.t.html create mode 100644 parity_wasm/elements/section/ImportSection.t.html create mode 100644 parity_wasm/elements/section/MemorySection.t.html create mode 100644 parity_wasm/elements/section/Section.t.html create mode 100644 parity_wasm/elements/section/TableSection.t.html create mode 100644 parity_wasm/elements/section/TypeSection.t.html create mode 100644 parity_wasm/elements/section/enum.Section.html create mode 100644 parity_wasm/elements/section/struct.CodeSection.html create mode 100644 parity_wasm/elements/section/struct.CustomSection.html create mode 100644 parity_wasm/elements/section/struct.DataSection.html create mode 100644 parity_wasm/elements/section/struct.ElementSection.html create mode 100644 parity_wasm/elements/section/struct.ExportSection.html create mode 100644 parity_wasm/elements/section/struct.FunctionSection.html create mode 100644 parity_wasm/elements/section/struct.GlobalSection.html create mode 100644 parity_wasm/elements/section/struct.ImportSection.html create mode 100644 parity_wasm/elements/section/struct.MemorySection.html create mode 100644 parity_wasm/elements/section/struct.TableSection.html create mode 100644 parity_wasm/elements/section/struct.TypeSection.html create mode 100644 parity_wasm/elements/segment/DataSegment.t.html create mode 100644 parity_wasm/elements/segment/ElementSegment.t.html create mode 100644 parity_wasm/elements/segment/struct.DataSegment.html create mode 100644 parity_wasm/elements/segment/struct.ElementSegment.html create mode 100644 parity_wasm/elements/serialize.v.html create mode 100644 parity_wasm/elements/serialize_to_file.v.html create mode 100644 parity_wasm/elements/sidebar-items.js create mode 100644 parity_wasm/elements/struct.CodeSection.html create mode 100644 parity_wasm/elements/struct.CountedList.html create mode 100644 parity_wasm/elements/struct.CountedListWriter.html create mode 100644 parity_wasm/elements/struct.CountedWriter.html create mode 100644 parity_wasm/elements/struct.CustomSection.html create mode 100644 parity_wasm/elements/struct.DataSection.html create mode 100644 parity_wasm/elements/struct.DataSegment.html create mode 100644 parity_wasm/elements/struct.ElementSection.html create mode 100644 parity_wasm/elements/struct.ElementSegment.html create mode 100644 parity_wasm/elements/struct.ExportEntry.html create mode 100644 parity_wasm/elements/struct.ExportSection.html create mode 100644 parity_wasm/elements/struct.Func.html create mode 100644 parity_wasm/elements/struct.FuncBody.html create mode 100644 parity_wasm/elements/struct.FunctionNameSection.html create mode 100644 parity_wasm/elements/struct.FunctionSection.html create mode 100644 parity_wasm/elements/struct.FunctionType.html create mode 100644 parity_wasm/elements/struct.GlobalEntry.html create mode 100644 parity_wasm/elements/struct.GlobalSection.html create mode 100644 parity_wasm/elements/struct.GlobalType.html create mode 100644 parity_wasm/elements/struct.ImportEntry.html create mode 100644 parity_wasm/elements/struct.ImportSection.html create mode 100644 parity_wasm/elements/struct.IndexMap.html create mode 100644 parity_wasm/elements/struct.InitExpr.html create mode 100644 parity_wasm/elements/struct.Instructions.html create mode 100644 parity_wasm/elements/struct.Local.html create mode 100644 parity_wasm/elements/struct.LocalNameSection.html create mode 100644 parity_wasm/elements/struct.MemorySection.html create mode 100644 parity_wasm/elements/struct.MemoryType.html create mode 100644 parity_wasm/elements/struct.Module.html create mode 100644 parity_wasm/elements/struct.ModuleNameSection.html create mode 100644 parity_wasm/elements/struct.RelocSection.html create mode 100644 parity_wasm/elements/struct.ResizableLimits.html create mode 100644 parity_wasm/elements/struct.TableSection.html create mode 100644 parity_wasm/elements/struct.TableType.html create mode 100644 parity_wasm/elements/struct.TypeSection.html create mode 100644 parity_wasm/elements/struct.Uint32.html create mode 100644 parity_wasm/elements/struct.Uint64.html create mode 100644 parity_wasm/elements/struct.Uint8.html create mode 100644 parity_wasm/elements/struct.Unparsed.html create mode 100644 parity_wasm/elements/struct.VarInt32.html create mode 100644 parity_wasm/elements/struct.VarInt64.html create mode 100644 parity_wasm/elements/struct.VarInt7.html create mode 100644 parity_wasm/elements/struct.VarUint1.html create mode 100644 parity_wasm/elements/struct.VarUint32.html create mode 100644 parity_wasm/elements/struct.VarUint64.html create mode 100644 parity_wasm/elements/struct.VarUint7.html create mode 100644 parity_wasm/elements/trait.Deserialize.html create mode 100644 parity_wasm/elements/trait.Serialize.html create mode 100644 parity_wasm/elements/type.NameMap.html create mode 100644 parity_wasm/elements/types/BlockType.t.html create mode 100644 parity_wasm/elements/types/FunctionType.t.html create mode 100644 parity_wasm/elements/types/TableElementType.t.html create mode 100644 parity_wasm/elements/types/Type.t.html create mode 100644 parity_wasm/elements/types/ValueType.t.html create mode 100644 parity_wasm/elements/types/enum.BlockType.html create mode 100644 parity_wasm/elements/types/enum.TableElementType.html create mode 100644 parity_wasm/elements/types/enum.Type.html create mode 100644 parity_wasm/elements/types/enum.ValueType.html create mode 100644 parity_wasm/elements/types/struct.FunctionType.html create mode 100644 parity_wasm/fn.peek_size.html create mode 100644 parity_wasm/index.html create mode 100644 parity_wasm/peek_size.v.html create mode 100644 parity_wasm/sidebar-items.js create mode 100644 rustdoc.css create mode 100644 search-index.js create mode 100644 settings.css create mode 100644 settings.html create mode 100644 settings.js create mode 100644 src/byteorder/io.rs.html create mode 100644 src/byteorder/lib.rs.html create mode 100644 src/parity_wasm/builder/code.rs.html create mode 100644 src/parity_wasm/builder/data.rs.html create mode 100644 src/parity_wasm/builder/export.rs.html create mode 100644 src/parity_wasm/builder/global.rs.html create mode 100644 src/parity_wasm/builder/import.rs.html create mode 100644 src/parity_wasm/builder/invoke.rs.html create mode 100644 src/parity_wasm/builder/memory.rs.html create mode 100644 src/parity_wasm/builder/misc.rs.html create mode 100644 src/parity_wasm/builder/mod.rs.html create mode 100644 src/parity_wasm/builder/module.rs.html create mode 100644 src/parity_wasm/builder/table.rs.html create mode 100644 src/parity_wasm/elements/export_entry.rs.html create mode 100644 src/parity_wasm/elements/func.rs.html create mode 100644 src/parity_wasm/elements/global_entry.rs.html create mode 100644 src/parity_wasm/elements/import_entry.rs.html create mode 100644 src/parity_wasm/elements/index_map.rs.html create mode 100644 src/parity_wasm/elements/mod.rs.html create mode 100644 src/parity_wasm/elements/module.rs.html create mode 100644 src/parity_wasm/elements/name_section.rs.html create mode 100644 src/parity_wasm/elements/ops.rs.html create mode 100644 src/parity_wasm/elements/primitives.rs.html create mode 100644 src/parity_wasm/elements/reloc_section.rs.html create mode 100644 src/parity_wasm/elements/section.rs.html create mode 100644 src/parity_wasm/elements/segment.rs.html create mode 100644 src/parity_wasm/elements/types.rs.html create mode 100644 src/parity_wasm/io.rs.html create mode 100644 src/parity_wasm/lib.rs.html create mode 100644 storage.js create mode 100644 theme.js create mode 100644 wheel.svg diff --git a/.lock b/.lock new file mode 100755 index 0000000..e69de29 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt new file mode 100644 index 0000000..c69861a --- /dev/null +++ b/COPYRIGHT.txt @@ -0,0 +1,59 @@ +These documentation pages include resources by third parties. This copyright +file applies only to those resources. The following third party resources are +included, and carry their own copyright notices and license terms: + +* Fira Sans (FiraSans-Regular.woff, FiraSans-Medium.woff): + + Copyright (c) 2014, Mozilla Foundation https://mozilla.org/ + with Reserved Font Name Fira Sans. + + Copyright (c) 2014, Telefonica S.A. + + Licensed under the SIL Open Font License, Version 1.1. + See FiraSans-LICENSE.txt. + +* Heuristica (Heuristica-Italic.woff): + + Copyright 1989, 1991 Adobe Systems Incorporated. All rights reserved. + Utopia is either a registered trademark or trademark of Adobe Systems + Incorporated in the United States and/or other countries. Used under + license. + + Copyright 2006 Han The Thanh, Vntopia font family, http://vntex.sf.net + + Copyright (c) 2008-2012, Andrey V. Panov (panov@canopus.iacp.dvo.ru), + with Reserved Font Name Heuristica. + + Licensed under the SIL Open Font License, Version 1.1. + See Heuristica-LICENSE.txt. + +* rustdoc.css, main.js, and playpen.js: + + Copyright 2015 The Rust Developers. + Licensed under the Apache License, Version 2.0 (see LICENSE-APACHE.txt) or + the MIT license (LICENSE-MIT.txt) at your option. + +* normalize.css: + + Copyright (c) Nicolas Gallagher and Jonathan Neal. + Licensed under the MIT license (see LICENSE-MIT.txt). + +* Source Code Pro (SourceCodePro-Regular.woff, SourceCodePro-Semibold.woff): + + Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), + with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark + of Adobe Systems Incorporated in the United States and/or other countries. + + Licensed under the SIL Open Font License, Version 1.1. + See SourceCodePro-LICENSE.txt. + +* Source Serif Pro (SourceSerifPro-Regular.woff, SourceSerifPro-Bold.woff): + + Copyright 2014 Adobe Systems Incorporated (http://www.adobe.com/), with + Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of + Adobe Systems Incorporated in the United States and/or other countries. + + Licensed under the SIL Open Font License, Version 1.1. + See SourceSerifPro-LICENSE.txt. + +This copyright file is intended to be distributed with rustdoc output. diff --git a/FiraSans-LICENSE.txt b/FiraSans-LICENSE.txt new file mode 100644 index 0000000..b4a3967 --- /dev/null +++ b/FiraSans-LICENSE.txt @@ -0,0 +1,99 @@ +Copyright (c) 2014, Mozilla Foundation https://mozilla.org/ +with Reserved Font Name Fira Sans. + +Copyright (c) 2014, Mozilla Foundation https://mozilla.org/ +with Reserved Font Name Fira Mono. + +Copyright (c) 2014, Telefonica S.A. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/FiraSans-Medium.woff b/FiraSans-Medium.woff new file mode 100644 index 0000000000000000000000000000000000000000..5627227744ae5b2ffb83e632cb32b237428c8962 GIT binary patch literal 89883 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%0Dk_#%Y{EcU_rFP4oA@FKf8}T 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�*_BmXVd#S5mW8HYZxRlrC2S%~o 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 literal 0 HcmV?d00001 diff --git a/Heuristica-LICENSE.txt b/Heuristica-LICENSE.txt new file mode 100644 index 0000000..dd85e40 --- /dev/null +++ b/Heuristica-LICENSE.txt @@ -0,0 +1,101 @@ +Copyright 1989, 1991 Adobe Systems Incorporated. All rights reserved. +Utopia is either a registered trademark or trademark of Adobe Systems +Incorporated in the United States and/or other countries. Used under +license. + +Copyright 2006 Han The Thanh, Vntopia font family, http://vntex.sf.net + +Copyright (c) 2008-2012, Andrey V. Panov (panov@canopus.iacp.dvo.ru), +with Reserved Font Name Heuristica. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/LICENSE-APACHE.txt b/LICENSE-APACHE.txt new file mode 100644 index 0000000..16fe87b --- /dev/null +++ b/LICENSE-APACHE.txt @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/LICENSE-MIT.txt b/LICENSE-MIT.txt new file mode 100644 index 0000000..31aa793 --- /dev/null +++ b/LICENSE-MIT.txt @@ -0,0 +1,23 @@ +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/SourceCodePro-LICENSE.txt b/SourceCodePro-LICENSE.txt new file mode 100644 index 0000000..0754257 --- /dev/null +++ b/SourceCodePro-LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/SourceCodePro-Regular.woff b/SourceCodePro-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..5576670903aea90041f214624c8dd1176fdf6081 GIT binary patch literal 55472 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 N>i-Ak^d1HP005RYhx7md literal 0 HcmV?d00001 diff --git a/SourceCodePro-Semibold.woff b/SourceCodePro-Semibold.woff new file mode 100644 index 0000000000000000000000000000000000000000..ca972a11dc428209dd66212e382b884f168e83f7 GIT binary patch literal 55360 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

d?~=$y_z?$}zMRxO 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

-nf}~4k^lgCB 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 d&xU0F2O@Pp9zf@HhMqK>r}n002Tsb2$J2 literal 0 HcmV?d00001 diff --git a/SourceSerifPro-Bold.woff b/SourceSerifPro-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..ac1b1b3a0bb7a673d52495743d8f86fd55188b44 GIT binary patch literal 48720 zcmZ5mV{m3mw|?V^ZA_d@Y-3{Ewr$(CZQHi(iEZ1-&G~-bu6n9>uU_cg#&VGn76t$T zenPh_0O=t$CZDAC zdqrer6aavfKmY)B6#&pI?3QYs7Ew^*2LR%U0RXTcUa0YP{YelR1zH9G02tv%m&y-x zwV<2;23C5u0021751$DD0MXxI1+rn_?1&Elz-;{Rkp2fCMd%7+TN5h)0Q$!U5bzHi zz|}HYP4paoWaD;zcz*qd?{5HziKUw{0Dwpb02rkJ085<(T0t15MtX)nGKoJtEdK%M z>%nuD9{{v-TjaA>D`u|Y}lI%%XE~*31^$36jIr*UgW&-~H{Of;lzQZ@) zS3PJvNb(OaB;bEk0Kj$4K-W-LH~Yzk2n1x}>pS`zSB;b&AQTIfzyQdE1sD5I_(wM| z5x^7x2Ji$x{Lj))bNtYL>JR`50QygdvFCVWh+mSQUs=Q-e?PxIY<|XJdJOt;U?DZO zR5dl#v{Y4J`-{JmqX4jI8tG~nC>WTYv{dWQ_rcy?uBf@+qggQV2Axw(@S=a{=zst$ z=`eFYW$RkfvQ!kp7``<*@|F5!)zV({yM7|M`5a5FPpTPK3as)MwV;APelEYJM(ASz zm3acGy&03f6h5c{U3jc5kX-(-t4LxYYaj+TuRkKJ%0?a}ItJy*Ew9NjRnr>DZ9i#G zCu4)dQKsARCA)J?@ZpztWvxil?3L2+mGYXmxF;yKo#g3`v(Y4|Hf+g-+3+$YGLB+F zmRv_x{x@iG<0Kvdja-SBkk~u)rI$K}rtYQ~^Ez(5GxNSgVoMB#*_YuK9oCYWxcDke zwozwkZ;8dSv_J#2bIp%*O7#5Hbz@*0gf z8NcA@wl7(ao^Y?b(Cm>S?&RkzN&9(?9~teczlIMjtINoJ?xCU`Xj9fxCvGiiw&_!z z)i>A&O%NSCwot1wdeU+uIvt$pIor62H=tHK8y7_D%W*I9dkrz8HQ=7rW0#gOykn0*YAUx#3F7_TYRQ-l zVp=9VUf*mE^1M3cKt60*qA}j?X>j)cO4&H(xIa5#jH!#%ae3^iT;E^0tQ9((d~cL; zG`_DkQ#J*(4AH;%vz6|a->-$jMtkc{C5)eT&Wolg96Tk;cV{tFJ!rJe2<-{&ksb|f zm21|Lx>u76KdX;uW3bLt{5ES4Di9?MadfJ376xa^ z93ggVtvrl=O|Qeu%rlNIU#OE9o51tNUZiM{z%?dwQV22k zVla~FP3x4(l;Wsz19Vv>?wZlr+Oq+9B};q$w6@Y1#s3FoyZH4yRd{WVlXi?4}$gJFhFv6$9dyWoyvca$tXp(RJPf>h~TI%q~x-pTNH` zM6Re~ThQP8k39gf6q~{S=98o(H^oFHjNzPPIDGPP7II)l@B34LS#|3!lpi#WnYpo? zur*1#nYvlgKmRsjYs0+@#5(Y!a8~xC8SaP} z>SH(WA>7$wyk3khZHziyNJ10EO_>VQ2fLuC`jQjh5Z}9nhO}juxTd44jv{jn5KAX? zCDa9EKkV3LACltjvxC>tRM6vE&EXNzL2+VAB72>R*u2rDu-XBKZA`*ePI0h>++PSr z3BNgDuMwajo`hMS!~nTse$v4V7^URB{6fAZSiYsf4Hy5TVkB!lF64HDr>WU8nrV?r zK`$DsE!9@_OK^|5EiQ&0%)<@r5T}MM(d+7w^MNYLs z=p|Cqgr>4J%iH$*KQ*7!cFAqYK}ypFz3$acoxyFQ}DOdcjC9=BRPA{ zL_7az$E$0vQpw|S94C>fk*iRR!k@yUKP9Fh0Px~j6^$;9j)A;i`+b`b+A8|KlyUi{ za*D4thbt2`z(yH(({(9HBuR&B663<+-}$AZ+NM1=J$f?@to0g~?cAH$#=rGqYEmsY z%{cWYQmz%{f~^9m$5_T$8rj-gmF!&Y7WRgRjB`honLg!Di%?b?lqBCVbCKM_BViI} z{PJJOm;{;L^4OBbGzXP5iI`J|sikR9@3Cs`lVjzScw0OohG?ECoo4TaT^q6v!DCeJ(~^lj7@}G7_`Th_-k4ON?oq1g`$#Z zLLp#*(W}d~CeLKY@45tP#w{jdd)TJmm~l3cZy;F5SW7T&geor)PaoHDT~e{GR{FZ1kyJkMzw|ZaXI#RIt~Fp@Kd-O&}$DOJ@mGm z1QeY_7`Z}D&?8jP|FXD&THaNvMCZ4PZQl%Cse`oH@qiIdSGF}URU>4`hz1KXZX1QoaY-+TLYfj{%C zRxG#lARR)`2piP_xF}jYH6;pV%}JR&TbykAUve&3-uY_5Cpb|vQ%&3CJVq^=VBPqr z=6}PC*Hb6=4amM0NC#FgXnW8JFYl5&H9q(duXmkd_?gQ}*J7RZYz~%{urBkb>4tK= z;1L{Wu02uh%hxs<fgvn3aTlJ!CZ1-RmvskMKNb0b8lyL6hotuF}J=#5T98b{I}Mu z_vTL3hQ)=6W!NDzhHgw(mXZG%oa)W%$`XPd*Z()2ihfv335#S1<-`cmfWcB%-(X>* zD{EUdm1ujr)fbC^Qs*b<4kB;>KFk9sy+oq;+3TVJ7yx{LP(b|8H~cpe019XofCLN! zfCmozLDmmee|UaubNBm*VtD`nw(p1O4$9M;Sv_~1962-0Ce>=EP8MC<4e#0&lkA*R zlhrk(1c-=;gop;BgP|CR^n`Cjgoc8Ff`b?Y`-q6Qp+9;1h_|t>qJzIMuX9HB?-752 zR)1R_q}`F;Pv7IdW`Mc&nfEE>HPLAiQ>4?3L*e#EaRzhhgi8(8?cH|-cSI1DnTjTM zu6SRIS|X5LOI*o_Kg2g7*^Rl1RVPv)Cr>43i9-~vLVQ6$Fle%naJrlNvl3aMyWnp2{ftE)mpG(o)7B=kNo=r>$xMMCGq?-nFH}{zAperZ`7@1*IRtN%SFczm zf0o2NE=*GKK<;)J%TSC|URZ9Q#AhVOTqbXxwN_cY6uDLfS6*;t_t;?{B3wdmVG3Jd zXFM+z6V09Cw~PpEO*Ag}luHc3WO=)V|e98ZclF9kkE&Mw_eWHKgXFJ&?> z#}P7J1bqVTl%_NMaQJqqlh`wzi1)s(GR$`N-{w4pHsZdT7d6t95n1e9A~W5+P(1w!kvCY)wNOiTk~&q)vCG%{v5NQsypC72tY*ma7emno}iSvxRwD-Y=Ds+&QV`%<=${r zOpWO?HAaa#=jNTJn%lIeLcYcUD#B))0JCn(@ zt3i&etck3VYKj$&mG1MWrt3!&mu`=@sKcr7k%QN@AQx)KLpFHyL*cfUZ{t=}>xlJz z={CxmUdl&hcWUhrms!qTt-EY@+Ds*bEDW`!eRhMD-PZjR&?5^wx zUnV-#f0s#*(htV|s3C~dV4-Q-DRS$_Nuf&l@G<(5h_O&!C4mD{drOcE zkT{1iQeHum$SKTwX+ww0zH&M`RccZ&>E=?mzn^an+RLXs9?!NKavWy3Qx@zs*rRFh zTpYMc4q-CW8XO?nM%b*~uMIM*kUTRR?3Uw%z-x7VgBGHx@Q&GB4IJ9vVjM!dJTez- zPrmVv9mi2YJRoB1xu!99&6|>)&o(i=inGijtXwuQMZTS%53k*1F0MKZuH9z*q@l9d z0=u8~r=e*(W#4XNBxpNr?|?9{MTAFguaB?&U1+ZC-2&mb@F7f8giVJ4lz0Rnru2U$ zfZ#?9aMb-Xbm^QK6!Co0U}9^yhF5pnA*;`Kf6su!(^YaRzPE+yq@-Q%a4 zJ9dRxEjRtX%I~KxyL8O0->3IlLb^kkW_aF{)TbV2$`}!l-D@G`*}o^rP6%+(cDa_79kBkv%xk#@=lA3adCZZah-9WR2Vyl zF!daaggoWC$!0&LYX6WfXMlUuE0nCW$9fBID^~4;s^fIL834qcD4MF!X_(D@LnG`a zY$Grxh-u8!&w92+E^b_C*gxzM_{$Sd=%YCML+$gPHFIvA$Mc@wNv6#tB9<2A_}!rH z>s7z#%=?08PUWB1XSEjV1&u54v(~w|O{cE$(MOco%Fo%B&g%;3t+f@0l{#iV3gS>X ziXjqcm&R!a4I?kCbKoTg=u7G*UG7Hb2wIdZkREa4@mCMpanLwFC(>y~4XK;=z;MO0 zqC32HPuabf|JmY$8Zxqp6q!g3_VY}qRpfTYw%t;HbITPKz~3hIRsocV;Ykm}BeNq` z;}7U&+&xC`LY&AS>oknkQL_7ayJ--W%D@z^UNeGz9m2l?prp#t4nT(rx&CJP*#rOZ6MQK2!H$GNrBu$SO}dJdH2?TV?0M zHGBU&?dfvJU7EOZ@bSE5nSYZ$1?u?2rD4Ibf%?n;6dSLsd} z?lB!C0D*3UDK^l^QM}caR+u0OWiK%bxqlg_Mm`#Q`y4ln!@PF6lG5g|+fCJ$b?XP$ z<7~j$%kDgl-rMh*wJP2-==%E2|KStP3Q^%m;F=_sI0{RqGt$)b@71C^2gD(P$|DJ% zi-ku+iDN4QvVnX&p!1H{1vIL+bt-;$nt43hHkedY$aC78b^7GtJP|O3fEF$tyP!br z+FpNI9353}Zl6PLyb9lDua`{cBs`>jJaM7f2-kcA+?8524&9P&n8eH7hUoFDfnDi) zE94hQVd&)kZV)(_L7B?;I{Nu&Lo6o=p6w(Am7eZvg6rD(he(1ofcAl)vZq;3y{Kck zKm6Tg^O*60A^-Q9VdZ&j@{qJ0{MLLs8m9A_1%-P)oM%Dm*DB0xcRu_j0RcgC9^#T2 z3Ezl*Ltwwpz{BNgkGJ%&)bPkwn@qqFcmi*!8@8&Z&WLRE(Cf1qSB;_fObui3>M)Tp zr$(0ydNYS5j}wx^?2zt{wfpP46z{t{*MNg{VVy9N$-kCofH!7(Z5X@q%V8L|%vCf8 z9+Ey~+gvDAZhSAw>kQZ`4z7^uo zF3eSP@6@&U+_Q4d+;+~78YY8g8<}4;uF@l{A_eKk-l_)&ZvN-m0a^k;BA78 zzj!OItwUn$EG#c|ybIzBq-EeTBAk@`K5=#$aw(D^Yz%4N;6dAk%goCwCTI7{CbEti zHFb<5@QDuRd*wfkdyMlet~abD3%^5^7ZV@|V3*B5-2Tkbk>DUq<$qk5IUdn6!@;kC z=pLhB!_o7C!Z>j;fL!ma_48`~awPmR248Rl7Q_B^gnpdEt$Lm5W_Fwu@KiQaAdo_U z>@(|rN1(lsM&NL2cZ!{5_MmKm`_8KC!2{ep0{d3~XGXYJ09i30M)z-^eM&M?0Q>k- zdIko<*@Etjgq=xhmD@%VHf734y|oKk&yl7NhwG|eclT!sJe+oSPtA3&k*UD>g;mp9 zbAv{e!_7H6xi-KC#AEZ)i`Alp1w<=_BqxB8E0z4*S^pf8OQ{>Gz^UBW6S zHT#@Pk-ee0|11QnVQ6yWFVf7PcFlcW$(!xH<_U-R8x-QD%+ye)w32WjB`j-Z-|M>S zY7WCa(Gp^~dmsiQSSOGZ!3RXH)hC0BKS6k~k|g2x0b)?AAfY31zl z{aE8!ALR>pXPb(3OfH)BK*(^&_6w+-9#Pn&jqdycv03k;oeMLY59-={F5S{Fw$53; z!~`S|H6&OEz7@*ydkoTZ_+t2`pua2vSGYo@k-L%cw?hGizZ2BqLV7QV;DuzslH~Mo z&nZGgZGn^ujW>Ae=w}L^g~zjPNe&mleaGdzLn=>b+lI3*W>iEb`5b2xD#1g7eL*cE)k}(=ZmVWPL zT8H2(4-_yqDO=r|dOFtico7$E)BK8;%{jBk&Dbmw=G4qQj{yJlu}xa#kWC8rr*yt5 z{*WZXdFc6+0vE7h)^U>4palqM!gL~Bya`xXcDZ}+*&M<1F=bmK=X}87fj%s}yM2-B zB_wZGZxSQiN=A1(p@WyTC%Zx7+*MJ1#fdPaJP0{JubJv=X)c4oAE7M2fO`izn|TeJ6kpuT5eI` zfQargS{dsUoJxSaN|}PkScbv#Lf9qP=6e1)LymhE|XTKHUKINLst&4#9DI_v2xVq-;p!0>1!4o0EWlzLhU}r2PWu6 z7c{~%E=&*SBAQxh=AL_5Bzi0nmUTZTak1p<#i;N-b?f9rHu6m zdM)Q(G#HDDz2V;=IJ8}aYVeY}@$SZ$f?C7{;pZzH-I%3-yk~{&u0Icw<4ssK0 zog<>=R7;S?;AsWHIr4Y`yj*dZn>D>Jmusf;9u#x&i?~&L8ycp(nFK|b_%bmw@rAw% z^)8mHb-IEV7QLBq%ZOCKW zN9xH^tns}iAs-|Vx?t?tr#DHz?PqhBCYGF$w=>}a7b^C@==Oq&O)G3+9;Aav6GIT{A z=705Hfsj*sev|VLT(uUZ(qVIni45Lb?vu3uBV7nb)~)0r0eVyv9e z@@S?_LZelT>CX~sTP$;U82HcZ(658EsZt?C!NP|Z@h?|3oDmgJ2ZA%mi{fNHD;~Xn z^%1B>azu&%-Ta%O^+P4MWv!Vf)#5s$!yjQs{R;pArWmYu4LYm_iM#}cOK&P(B_iU> z0?U@%gn-SZ2Fi>LSh+xA0aLAOF*1O1oo9p@D`qL1iOmEde{L@Q_KST^99dJUJ6IAd z7JrSJ67|&WR>XlfcZ`86kkYAr#A#%I#$l@+F{%kMsH+nw5C|bt*uC-XGL3T{o`r~9 zjo+0Xl5vH55j#7QOH*g9uE4ib#3<~X)cmuf=Vbp2yefdeAjbDd9#SILL<`-@oHm-& zo)IEr_0;{JCajSgtSqylj7Lk1@%s?vND15&}hVDNp)K{;rnIPDy!!tjjVunxW0 zT)|A`XhN72KP_4Ne8RnJgWR+2n8qE?CwlOxq*}4MH&yLpL^Gaa!sa2hbn^4H(|U%` zf-VzH0yWBu12XB#7~BBR8|3T+3~-sNGd)*cDip+-pz5UG6fRzqidrt+z^0>L|KuLV z#iaaE!>zNRm%AOR78o~0k^gEcBPyy#tns>SosQ%$bSvviY$@>si1ejbWz~@WIMt@p zSmBAsA>6b?4}B86n|CjN*nZ4 zOhxY9QnT&uXc_~P@QQzfGUrCrTDl1V{cGfBPWg93>=(QUgu^#LzRIOPDkQ&t7vwF# zAUlcqKw5RON89!*Zz>Bt1R?$JjFomIF;U!KQLF}YsrH-Q(>kBnBVrLmK}){35SANx z*S44zB=y%e_A4y6YDU)`#_}}FLEk8h8_*}YHjWhqHaIS8g1l9jf^EB-O^3{AS?avf zb9}Bpe2Y%MzrfvCfmg^aleNGu2`kVli;yvKjnrW5$+{G$3~Ql&3pza^D!NoeZMwgq z-~0YU)1W5~298_s$ zt!ei0YOJv_EUdA4fM};1zz&u-NRsWss(QC7`kSxvFr6qb z0H#A~aQ61z@%Kq$V_jLOeRwG?ctNy#jqHx?z%nJ`RWM%sili9TwiI1E-bou?4c?#| z!I`+U`KffiUs1?In5ox*SYY^C{U|t&7SlRJj@LWlv4M>G5Cog0fUs7=-Q>g8hY{;7 z;9qrPktp*+fZze|NrZ<~$CD1uc2a-+Zy-TYd{$NWnH^TSsdBu0y9KN0(wBr$h*sAR%i$5-awHKc+dZN}9Zm(J$wct?Ex>ScqVLS3#DcGuC(fT4M*Ur9vCl&d4ejcMRJe#^Yq z<#Z&;d*(TKS%oV~4cl#Ij;KBS#y%NNS+thj6Z}0b38}N^VaErQOGqyPT*L9K(eba{ z9YbMSavFLAjgr0D>z7F>B__##kN3^lGBaL2->W{VR9~eyX<=0dbJIH9`ry5D(-rlZ z`Q$sjt5Fk}mzn2pL)_uq%+zC)bE@N+j*+Uk69xmXfu<0N*Tp8i+DLO_lM;7yS0Ggp zD+6rO4!9>9>{kBJ=m(!^+tkdg&3e#tYoDV}S7vrpL*VO_KqI5rF|h?<>c+$Hlj~(cxXniq*vM41 zZ?T|Dud4ayHJ{J*m~b#|2m;@BFGX{=W7clKzcRiYI<(WvbTI5o7>i~vn1<__!Jy9a z16NL1v~ae=lu!afucI#GeP5OzrvLepAw8_uRoavtz`w*3&S`Ki;1ogjz?;hNU+pL- z6Fbsp5Be5D-C&YU_$2t!$sV=! zUi?XN>mj2kFizru@L7g%rT6!w*kWCP&=RZ-CnWXAm@@ zsPDDssl4c%1si0G9lVYX%6o5NmiemuYvXHr^uDE zpA|IwT6bwCx%WVmbd`Tk!58@`mZ}1hd6xtiW{2BAZ8A}JS=5AVPlH<`fmFz0D74jC zb})5n4&>CR=yv~$Hs7(tiG^aa)=#dyAb%Gp9x6cu($ z64c1bu53pF_CP4-x}ICvfy(;6Rns`7wT`_`%2umUz#=qc$~q-tYNq)E${oZ9=mzzv z_aaGQ=+k1*+ljEZP*!{Zg+T&b_Zdn=uAp?+@89@XJix|wra723cZ@o3AVnJsO-gRX zmW`JQi#n)hmZfVy%OESKa9@~{Y^6yuAHCOIyVbm^l@li!g*ls}siGN^z=$5B#M#Mm z>Wi&9(Lhcq@gFFA@Nc2T1d}@<0#f7g%p^RVPYkt{J1!z)rrfYKK zZO{sjMheSDt@mGH!u>JC3BoKsI^#xWOQy2i9(sDU*Ewhj=QI!gr80?OBv6!0-=&u9f*iqO`aH8g2FDjU z8LTKKWWKp>FReUr&%Rgm4H*c`z~itR+?hR?NtggRzUk!l(4j;GPuIx7cVeZq!DSJJ zptgVJl(;M7qG1!*cFZu z7`(_^`+ToXGe1lZ@&U>>=XWF0N=Lk?cD|5@ zgq^ttowi+2-im%Aa~i)g7eA3&v-@0}cK=f1KC>L&)45gq-D;a^wW4N~`Tzc@0HzKa zuJB^Tn<}V{m^Y=HdSI7=Ag3Ind>|-@PDup3f*a5`2&1nSi)oHmeRT&N42G z%Wa!3=PIDzoG)@oyjr%#eOMkA7n}_2Y|84}undH(ryMly@9zs%qPqho!xo#&;07`? zVIZDqdMbOL|J;zb`=2mEZI}0EMWO>|>FmF;f#C`GOr|ZnMTc&QXA79m{<_kV41Qw3 zst(jJS|z?IfZCv$K=Zp+*pc?lKzUIHyV9}qQSKyk&`oQ~_lnxKtWXGfkb zpU$FPXbB!uQ#UtZdmM9|D1{p$`7bxcp`mh>&0jYWh)66*t!kxI)F&E#;#u40aYl-Ui%E z&u#8(pR(ZG>2hwNllEUn6Dm|w%ai&i8s2ABw}XTw1*_+jnt_3d7Gq{ccwU3@YROQT z1}Re^+SP>>b9PRv*;%s;#zWiBOTntcKy~JH?Xq&5I$QrX-te}KVqXl!4LO#wL(M(y{jtHtNN*e~3@A){2D-HqFb!R6qo&YH@nUnefJE6xkXi$Ju zTWX|;;Y?n$u&-VDE6O%_4w3@jR8oyAcfEwwZd@<*6jJME9pZ-7 zyTa?T)Sl~wyOKQ(dVLRVE6vcM8WemoLa-IDCv0SbUxi!3E|#7No#56idRehRR7z3N z-dSu@n`Eds>@*GL=)1%&b0JcCyOm*AbkC?UOlr)@YwB^AjjA;5l)$aeYhmMUzzOw0 z!YuRQ1MngW>?SQFa@2us$&H8liU)2XsDS!X0=xR_jrxHJb|nCg`k@DQ#gB&i0Rg4? z7Y_9!1&YgeM9jPy*faeg(#7tYbz

9E8XSY2)E(Vq?32Bxtg&VLnC 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 QJ&hM32>KVoT7vcf00b!O^8f$< literal 0 HcmV?d00001 diff --git a/SourceSerifPro-LICENSE.txt b/SourceSerifPro-LICENSE.txt new file mode 100644 index 0000000..b77d653 --- /dev/null +++ b/SourceSerifPro-LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2014 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/SourceSerifPro-Regular.woff b/SourceSerifPro-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..e8c43b852e10e1556268d6c17b47bd0644d6edec GIT binary patch literal 49960 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%0AHnr$&HP)99eOG;&C)H59oX7tVW8CpZqiv(kJ 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 T#x!RM8#a#Gm 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 T`>xjor2he>K@jvWkwJRWB`#{9 literal 0 HcmV?d00001 diff --git a/aliases.js b/aliases.js new file mode 100644 index 0000000..bb704f6 --- /dev/null +++ b/aliases.js @@ -0,0 +1,3 @@ +var ALIASES = {}; +ALIASES['byteorder'] = {}; +ALIASES['parity_wasm'] = {}; diff --git a/brush.svg b/brush.svg new file mode 100644 index 0000000..072264a --- /dev/null +++ b/brush.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/byteorder/BE.t.html b/byteorder/BE.t.html new file mode 100644 index 0000000..5b41663 --- /dev/null +++ b/byteorder/BE.t.html @@ -0,0 +1,10 @@ + + + + + + +

+ + + \ No newline at end of file diff --git a/byteorder/BigEndian.t.html b/byteorder/BigEndian.t.html new file mode 100644 index 0000000..5f3e16d --- /dev/null +++ b/byteorder/BigEndian.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.BigEndian.html...

+ + + \ No newline at end of file diff --git a/byteorder/ByteOrder.t.html b/byteorder/ByteOrder.t.html new file mode 100644 index 0000000..a622ae4 --- /dev/null +++ b/byteorder/ByteOrder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to trait.ByteOrder.html...

+ + + \ No newline at end of file diff --git a/byteorder/LE.t.html b/byteorder/LE.t.html new file mode 100644 index 0000000..1f24eb6 --- /dev/null +++ b/byteorder/LE.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to type.LE.html...

+ + + \ No newline at end of file diff --git a/byteorder/LittleEndian.t.html b/byteorder/LittleEndian.t.html new file mode 100644 index 0000000..ba90fac --- /dev/null +++ b/byteorder/LittleEndian.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.LittleEndian.html...

+ + + \ No newline at end of file diff --git a/byteorder/NativeEndian.t.html b/byteorder/NativeEndian.t.html new file mode 100644 index 0000000..f971c74 --- /dev/null +++ b/byteorder/NativeEndian.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to type.NativeEndian.html...

+ + + \ No newline at end of file diff --git a/byteorder/NetworkEndian.t.html b/byteorder/NetworkEndian.t.html new file mode 100644 index 0000000..c7e3244 --- /dev/null +++ b/byteorder/NetworkEndian.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to type.NetworkEndian.html...

+ + + \ No newline at end of file diff --git a/byteorder/ReadBytesExt.t.html b/byteorder/ReadBytesExt.t.html new file mode 100644 index 0000000..bec163e --- /dev/null +++ b/byteorder/ReadBytesExt.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to trait.ReadBytesExt.html...

+ + + \ No newline at end of file diff --git a/byteorder/WriteBytesExt.t.html b/byteorder/WriteBytesExt.t.html new file mode 100644 index 0000000..5db13fb --- /dev/null +++ b/byteorder/WriteBytesExt.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to trait.WriteBytesExt.html...

+ + + \ No newline at end of file diff --git a/byteorder/all.html b/byteorder/all.html new file mode 100644 index 0000000..3cd9be6 --- /dev/null +++ b/byteorder/all.html @@ -0,0 +1,3 @@ +List of all items in this crate

List of all items[] + +

Enums

Traits

Typedefs

\ No newline at end of file diff --git a/byteorder/enum.BigEndian.html b/byteorder/enum.BigEndian.html new file mode 100644 index 0000000..036caf9 --- /dev/null +++ b/byteorder/enum.BigEndian.html @@ -0,0 +1,86 @@ +byteorder::BigEndian - Rust

Enum byteorder::BigEndian[][src]

pub enum BigEndian {}

Defines big-endian serialization.

+

Note that this type has no value constructor. It is used purely at the +type level.

+

Examples

+

Write and read u32 numbers in big endian order:

+ +
+use byteorder::{ByteOrder, BigEndian};
+
+let mut buf = [0; 4];
+BigEndian::write_u32(&mut buf, 1_000_000);
+assert_eq!(1_000_000, BigEndian::read_u32(&buf));
+

Trait Implementations

impl Clone for BigEndian
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Copy for BigEndian
[src]

impl Debug for BigEndian
[src]

Formats the value using the given formatter. Read more

+

impl Eq for BigEndian
[src]

impl Hash for BigEndian
[src]

Feeds this value into the given [Hasher]. Read more

+

Feeds a slice of this type into the given [Hasher]. Read more

+

impl Ord for BigEndian
[src]

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

impl PartialEq for BigEndian
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl PartialOrd for BigEndian
[src]

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

+

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

+

impl Default for BigEndian
[src]

Returns the "default value" for a type. Read more

+

impl ByteOrder for BigEndian
[src]

Reads an unsigned 16 bit integer from buf. Read more

+

Reads an unsigned 32 bit integer from buf. Read more

+

Reads an unsigned 64 bit integer from buf. Read more

+

Reads an unsigned n-bytes integer from buf. Read more

+

Writes an unsigned 16 bit integer n to buf. Read more

+

Writes an unsigned 32 bit integer n to buf. Read more

+

Writes an unsigned 64 bit integer n to buf. Read more

+

Writes an unsigned integer n to buf using only nbytes. Read more

+

Reads unsigned 16 bit integers from src into dst. Read more

+

Reads unsigned 32 bit integers from src into dst. Read more

+

Reads unsigned 64 bit integers from src into dst. Read more

+

Writes unsigned 16 bit integers from src into dst. Read more

+

Writes unsigned 32 bit integers from src into dst. Read more

+

Writes unsigned 64 bit integers from src into dst. Read more

+

Converts the given slice of unsigned 16 bit integers to a particular endianness. Read more

+

Converts the given slice of unsigned 32 bit integers to a particular endianness. Read more

+

Converts the given slice of unsigned 64 bit integers to a particular endianness. Read more

+

Converts the given slice of IEEE754 single-precision (4 bytes) floating point numbers to a particular endianness. Read more

+

Converts the given slice of IEEE754 double-precision (8 bytes) floating point numbers to a particular endianness. Read more

+

Reads an unsigned 24 bit integer from buf, stored in u32. Read more

+

Reads an unsigned 48 bit integer from buf, stored in u64. Read more

+

Writes an unsigned 24 bit integer n to buf, stored in u32. Read more

+

Writes an unsigned 48 bit integer n to buf, stored in u64. Read more

+

Reads a signed 16 bit integer from buf. Read more

+

Reads a signed 24 bit integer from buf, stored in i32. Read more

+

Reads a signed 32 bit integer from buf. Read more

+

Reads a signed 48 bit integer from buf, stored in i64. Read more

+

Reads a signed 64 bit integer from buf. Read more

+

Reads a signed n-bytes integer from buf. Read more

+

Reads a IEEE754 single-precision (4 bytes) floating point number. Read more

+

Reads a IEEE754 double-precision (8 bytes) floating point number. Read more

+

Writes a signed 16 bit integer n to buf. Read more

+

Writes a signed 24 bit integer n to buf, stored in i32. Read more

+

Writes a signed 32 bit integer n to buf. Read more

+

Writes a signed 48 bit integer n to buf, stored in i64. Read more

+

Writes a signed 64 bit integer n to buf. Read more

+

Writes a signed integer n to buf using only nbytes. Read more

+

Writes a IEEE754 single-precision (4 bytes) floating point number. Read more

+

Writes a IEEE754 double-precision (8 bytes) floating point number. Read more

+

Reads signed 16 bit integers from src to dst. Read more

+

Reads signed 32 bit integers from src into dst. Read more

+

Reads signed 64 bit integers from src into dst. Read more

+

Reads IEEE754 single-precision (4 bytes) floating point numbers from src into dst. Read more

+

Reads IEEE754 single-precision (4 bytes) floating point numbers from src into dst. Read more

+

Writes signed 16 bit integers from src into dst. Read more

+

Writes signed 32 bit integers from src into dst. Read more

+

Writes signed 64 bit integers from src into dst. Read more

+

Writes IEEE754 single-precision (4 bytes) floating point numbers from src into dst. Read more

+

Writes IEEE754 double-precision (8 bytes) floating point numbers from src into dst. Read more

+

Converts the given slice of signed 16 bit integers to a particular endianness. Read more

+

Converts the given slice of signed 32 bit integers to a particular endianness. Read more

+

Converts the given slice of signed 64 bit integers to a particular endianness. Read more

+

Auto Trait Implementations

impl Send for BigEndian

impl Sync for BigEndian

\ No newline at end of file diff --git a/byteorder/enum.LittleEndian.html b/byteorder/enum.LittleEndian.html new file mode 100644 index 0000000..b33e792 --- /dev/null +++ b/byteorder/enum.LittleEndian.html @@ -0,0 +1,86 @@ +byteorder::LittleEndian - Rust

Enum byteorder::LittleEndian[][src]

pub enum LittleEndian {}

Defines little-endian serialization.

+

Note that this type has no value constructor. It is used purely at the +type level.

+

Examples

+

Write and read u32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 4];
+LittleEndian::write_u32(&mut buf, 1_000_000);
+assert_eq!(1_000_000, LittleEndian::read_u32(&buf));
+

Trait Implementations

impl Clone for LittleEndian
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Copy for LittleEndian
[src]

impl Debug for LittleEndian
[src]

Formats the value using the given formatter. Read more

+

impl Eq for LittleEndian
[src]

impl Hash for LittleEndian
[src]

Feeds this value into the given [Hasher]. Read more

+

Feeds a slice of this type into the given [Hasher]. Read more

+

impl Ord for LittleEndian
[src]

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

impl PartialEq for LittleEndian
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl PartialOrd for LittleEndian
[src]

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

+

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

+

impl Default for LittleEndian
[src]

Returns the "default value" for a type. Read more

+

impl ByteOrder for LittleEndian
[src]

Reads an unsigned 16 bit integer from buf. Read more

+

Reads an unsigned 32 bit integer from buf. Read more

+

Reads an unsigned 64 bit integer from buf. Read more

+

Reads an unsigned n-bytes integer from buf. Read more

+

Writes an unsigned 16 bit integer n to buf. Read more

+

Writes an unsigned 32 bit integer n to buf. Read more

+

Writes an unsigned 64 bit integer n to buf. Read more

+

Writes an unsigned integer n to buf using only nbytes. Read more

+

Reads unsigned 16 bit integers from src into dst. Read more

+

Reads unsigned 32 bit integers from src into dst. Read more

+

Reads unsigned 64 bit integers from src into dst. Read more

+

Writes unsigned 16 bit integers from src into dst. Read more

+

Writes unsigned 32 bit integers from src into dst. Read more

+

Writes unsigned 64 bit integers from src into dst. Read more

+

Converts the given slice of unsigned 16 bit integers to a particular endianness. Read more

+

Converts the given slice of unsigned 32 bit integers to a particular endianness. Read more

+

Converts the given slice of unsigned 64 bit integers to a particular endianness. Read more

+

Converts the given slice of IEEE754 single-precision (4 bytes) floating point numbers to a particular endianness. Read more

+

Converts the given slice of IEEE754 double-precision (8 bytes) floating point numbers to a particular endianness. Read more

+

Reads an unsigned 24 bit integer from buf, stored in u32. Read more

+

Reads an unsigned 48 bit integer from buf, stored in u64. Read more

+

Writes an unsigned 24 bit integer n to buf, stored in u32. Read more

+

Writes an unsigned 48 bit integer n to buf, stored in u64. Read more

+

Reads a signed 16 bit integer from buf. Read more

+

Reads a signed 24 bit integer from buf, stored in i32. Read more

+

Reads a signed 32 bit integer from buf. Read more

+

Reads a signed 48 bit integer from buf, stored in i64. Read more

+

Reads a signed 64 bit integer from buf. Read more

+

Reads a signed n-bytes integer from buf. Read more

+

Reads a IEEE754 single-precision (4 bytes) floating point number. Read more

+

Reads a IEEE754 double-precision (8 bytes) floating point number. Read more

+

Writes a signed 16 bit integer n to buf. Read more

+

Writes a signed 24 bit integer n to buf, stored in i32. Read more

+

Writes a signed 32 bit integer n to buf. Read more

+

Writes a signed 48 bit integer n to buf, stored in i64. Read more

+

Writes a signed 64 bit integer n to buf. Read more

+

Writes a signed integer n to buf using only nbytes. Read more

+

Writes a IEEE754 single-precision (4 bytes) floating point number. Read more

+

Writes a IEEE754 double-precision (8 bytes) floating point number. Read more

+

Reads signed 16 bit integers from src to dst. Read more

+

Reads signed 32 bit integers from src into dst. Read more

+

Reads signed 64 bit integers from src into dst. Read more

+

Reads IEEE754 single-precision (4 bytes) floating point numbers from src into dst. Read more

+

Reads IEEE754 single-precision (4 bytes) floating point numbers from src into dst. Read more

+

Writes signed 16 bit integers from src into dst. Read more

+

Writes signed 32 bit integers from src into dst. Read more

+

Writes signed 64 bit integers from src into dst. Read more

+

Writes IEEE754 single-precision (4 bytes) floating point numbers from src into dst. Read more

+

Writes IEEE754 double-precision (8 bytes) floating point numbers from src into dst. Read more

+

Converts the given slice of signed 16 bit integers to a particular endianness. Read more

+

Converts the given slice of signed 32 bit integers to a particular endianness. Read more

+

Converts the given slice of signed 64 bit integers to a particular endianness. Read more

+

Auto Trait Implementations

\ No newline at end of file diff --git a/byteorder/index.html b/byteorder/index.html new file mode 100644 index 0000000..b7a5c6a --- /dev/null +++ b/byteorder/index.html @@ -0,0 +1,114 @@ +byteorder - Rust

Crate byteorder[][src]

This crate provides convenience methods for encoding and decoding numbers +in either big-endian or little-endian order.

+

The organization of the crate is pretty simple. A trait, ByteOrder, specifies +byte conversion methods for each type of number in Rust (sans numbers that have +a platform dependent size like usize and isize). Two types, BigEndian +and LittleEndian implement these methods. Finally, ReadBytesExt and +WriteBytesExt provide convenience methods available to all types that +implement Read and Write.

+

An alias, NetworkEndian, for BigEndian is provided to help improve +code clarity.

+

An additional alias, NativeEndian, is provided for the endianness of the +local platform. This is convenient when serializing data for use and +conversions are not desired.

+

Examples

+

Read unsigned 16 bit big-endian integers from a Read type:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
+// Note that we use type parameters to indicate which kind of byte order
+// we want!
+assert_eq!(517, rdr.read_u16::<BigEndian>().unwrap());
+assert_eq!(768, rdr.read_u16::<BigEndian>().unwrap());
+

Write unsigned 16 bit little-endian integers to a Write type:

+ +
+use byteorder::{LittleEndian, WriteBytesExt};
+
+let mut wtr = vec![];
+wtr.write_u16::<LittleEndian>(517).unwrap();
+wtr.write_u16::<LittleEndian>(768).unwrap();
+assert_eq!(wtr, vec![5, 2, 0, 3]);
+

Optional Features

+

This crate optionally provides support for 128 bit values (i128 and u128) +when built with the i128 feature enabled.

+

This crate can also be used without the standard library.

+

Enums

+ + + + + + + + +
BigEndian +

Defines big-endian serialization.

+ +
LittleEndian +

Defines little-endian serialization.

+ +

Traits

+ + + + + + + + + + + + +
ByteOrder +

ByteOrder describes types that can serialize integers as bytes.

+ +
ReadBytesExt +

Extends Read with methods for reading numbers. (For std::io.)

+ +
WriteBytesExt +

Extends Write with methods for writing numbers. (For std::io.)

+ +

Type Definitions

+ + + + + + + + + + + + + + + + +
BE +

A type alias for BigEndian.

+ +
LE +

A type alias for LittleEndian.

+ +
NativeEndian +

Defines system native-endian serialization.

+ +
NetworkEndian +

Defines network byte order serialization.

+ +
\ No newline at end of file diff --git a/byteorder/io/ReadBytesExt.t.html b/byteorder/io/ReadBytesExt.t.html new file mode 100644 index 0000000..bec163e --- /dev/null +++ b/byteorder/io/ReadBytesExt.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to trait.ReadBytesExt.html...

+ + + \ No newline at end of file diff --git a/byteorder/io/WriteBytesExt.t.html b/byteorder/io/WriteBytesExt.t.html new file mode 100644 index 0000000..5db13fb --- /dev/null +++ b/byteorder/io/WriteBytesExt.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to trait.WriteBytesExt.html...

+ + + \ No newline at end of file diff --git a/byteorder/io/trait.ReadBytesExt.html b/byteorder/io/trait.ReadBytesExt.html new file mode 100644 index 0000000..c93c35f --- /dev/null +++ b/byteorder/io/trait.ReadBytesExt.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../byteorder/trait.ReadBytesExt.html...

+ + + \ No newline at end of file diff --git a/byteorder/io/trait.WriteBytesExt.html b/byteorder/io/trait.WriteBytesExt.html new file mode 100644 index 0000000..bd7d12d --- /dev/null +++ b/byteorder/io/trait.WriteBytesExt.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../byteorder/trait.WriteBytesExt.html...

+ + + \ No newline at end of file diff --git a/byteorder/sidebar-items.js b/byteorder/sidebar-items.js new file mode 100644 index 0000000..0a93e8d --- /dev/null +++ b/byteorder/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["BigEndian","Defines big-endian serialization."],["LittleEndian","Defines little-endian serialization."]],"trait":[["ByteOrder","`ByteOrder` describes types that can serialize integers as bytes."],["ReadBytesExt","Extends [`Read`] with methods for reading numbers. (For `std::io`.)"],["WriteBytesExt","Extends [`Write`] with methods for writing numbers. (For `std::io`.)"]],"type":[["BE","A type alias for [`BigEndian`]."],["LE","A type alias for [`LittleEndian`]."],["NativeEndian","Defines system native-endian serialization."],["NetworkEndian","Defines network byte order serialization."]]}); \ No newline at end of file diff --git a/byteorder/trait.ByteOrder.html b/byteorder/trait.ByteOrder.html new file mode 100644 index 0000000..14560f5 --- /dev/null +++ b/byteorder/trait.ByteOrder.html @@ -0,0 +1,779 @@ +byteorder::ByteOrder - Rust

Trait byteorder::ByteOrder[][src]

pub trait ByteOrder: Clone + Copy + Debug + Default + Eq + Hash + Ord + PartialEq + PartialOrd + Sealed {
+    fn read_u16(buf: &[u8]) -> u16;
+
fn read_u32(buf: &[u8]) -> u32; +
fn read_u64(buf: &[u8]) -> u64; +
fn read_uint(buf: &[u8], nbytes: usize) -> u64; +
fn write_u16(buf: &mut [u8], n: u16); +
fn write_u32(buf: &mut [u8], n: u32); +
fn write_u64(buf: &mut [u8], n: u64); +
fn write_uint(buf: &mut [u8], n: u64, nbytes: usize); +
fn read_u16_into(src: &[u8], dst: &mut [u16]); +
fn read_u32_into(src: &[u8], dst: &mut [u32]); +
fn read_u64_into(src: &[u8], dst: &mut [u64]); +
fn write_u16_into(src: &[u16], dst: &mut [u8]); +
fn write_u32_into(src: &[u32], dst: &mut [u8]); +
fn write_u64_into(src: &[u64], dst: &mut [u8]); +
fn from_slice_u16(numbers: &mut [u16]); +
fn from_slice_u32(numbers: &mut [u32]); +
fn from_slice_u64(numbers: &mut [u64]); +
fn from_slice_f32(numbers: &mut [f32]); +
fn from_slice_f64(numbers: &mut [f64]); + + fn read_u24(buf: &[u8]) -> u32 { ... } +
fn read_u48(buf: &[u8]) -> u64 { ... } +
fn write_u24(buf: &mut [u8], n: u32) { ... } +
fn write_u48(buf: &mut [u8], n: u64) { ... } +
fn read_i16(buf: &[u8]) -> i16 { ... } +
fn read_i24(buf: &[u8]) -> i32 { ... } +
fn read_i32(buf: &[u8]) -> i32 { ... } +
fn read_i48(buf: &[u8]) -> i64 { ... } +
fn read_i64(buf: &[u8]) -> i64 { ... } +
fn read_int(buf: &[u8], nbytes: usize) -> i64 { ... } +
fn read_f32(buf: &[u8]) -> f32 { ... } +
fn read_f64(buf: &[u8]) -> f64 { ... } +
fn write_i16(buf: &mut [u8], n: i16) { ... } +
fn write_i24(buf: &mut [u8], n: i32) { ... } +
fn write_i32(buf: &mut [u8], n: i32) { ... } +
fn write_i48(buf: &mut [u8], n: i64) { ... } +
fn write_i64(buf: &mut [u8], n: i64) { ... } +
fn write_int(buf: &mut [u8], n: i64, nbytes: usize) { ... } +
fn write_f32(buf: &mut [u8], n: f32) { ... } +
fn write_f64(buf: &mut [u8], n: f64) { ... } +
fn read_i16_into(src: &[u8], dst: &mut [i16]) { ... } +
fn read_i32_into(src: &[u8], dst: &mut [i32]) { ... } +
fn read_i64_into(src: &[u8], dst: &mut [i64]) { ... } +
fn read_f32_into_unchecked(src: &[u8], dst: &mut [f32]) { ... } +
fn read_f64_into_unchecked(src: &[u8], dst: &mut [f64]) { ... } +
fn write_i16_into(src: &[i16], dst: &mut [u8]) { ... } +
fn write_i32_into(src: &[i32], dst: &mut [u8]) { ... } +
fn write_i64_into(src: &[i64], dst: &mut [u8]) { ... } +
fn write_f32_into(src: &[f32], dst: &mut [u8]) { ... } +
fn write_f64_into(src: &[f64], dst: &mut [u8]) { ... } +
fn from_slice_i16(src: &mut [i16]) { ... } +
fn from_slice_i32(src: &mut [i32]) { ... } +
fn from_slice_i64(src: &mut [i64]) { ... } +}

ByteOrder describes types that can serialize integers as bytes.

+

Note that Self does not appear anywhere in this trait's definition! +Therefore, in order to use it, you'll need to use syntax like +T::read_u16(&[0, 1]) where T implements ByteOrder.

+

This crate provides two types that implement ByteOrder: BigEndian +and LittleEndian. +This trait is sealed and cannot be implemented for callers to avoid +breaking backwards compatibility when adding new derived traits.

+

Examples

+

Write and read u32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 4];
+LittleEndian::write_u32(&mut buf, 1_000_000);
+assert_eq!(1_000_000, LittleEndian::read_u32(&buf));
+

Write and read i16 numbers in big endian order:

+ +
+use byteorder::{ByteOrder, BigEndian};
+
+let mut buf = [0; 2];
+BigEndian::write_i16(&mut buf, -50_000);
+assert_eq!(-50_000, BigEndian::read_i16(&buf));
+
+

+ Required Methods +

+
+

Reads an unsigned 16 bit integer from buf.

+

Panics

+

Panics when buf.len() < 2.

+

Reads an unsigned 32 bit integer from buf.

+

Panics

+

Panics when buf.len() < 4.

+

Examples

+

Write and read u32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 4];
+LittleEndian::write_u32(&mut buf, 1_000_000);
+assert_eq!(1_000_000, LittleEndian::read_u32(&buf));
+

Reads an unsigned 64 bit integer from buf.

+

Panics

+

Panics when buf.len() < 8.

+

Examples

+

Write and read u64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 8];
+LittleEndian::write_u64(&mut buf, 1_000_000);
+assert_eq!(1_000_000, LittleEndian::read_u64(&buf));
+

Reads an unsigned n-bytes integer from buf.

+

Panics

+

Panics when nbytes < 1 or nbytes > 8 or +buf.len() < nbytes

+

Examples

+

Write and read an n-byte number in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 3];
+LittleEndian::write_uint(&mut buf, 1_000_000, 3);
+assert_eq!(1_000_000, LittleEndian::read_uint(&buf, 3));
+

Writes an unsigned 16 bit integer n to buf.

+

Panics

+

Panics when buf.len() < 2.

+

Examples

+

Write and read u16 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 2];
+LittleEndian::write_u16(&mut buf, 1_000_000);
+assert_eq!(1_000_000, LittleEndian::read_u16(&buf));
+

Writes an unsigned 32 bit integer n to buf.

+

Panics

+

Panics when buf.len() < 4.

+

Examples

+

Write and read u32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 4];
+LittleEndian::write_u32(&mut buf, 1_000_000);
+assert_eq!(1_000_000, LittleEndian::read_u32(&buf));
+

Writes an unsigned 64 bit integer n to buf.

+

Panics

+

Panics when buf.len() < 8.

+

Examples

+

Write and read u64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 8];
+LittleEndian::write_u64(&mut buf, 1_000_000);
+assert_eq!(1_000_000, LittleEndian::read_u64(&buf));
+

Writes an unsigned integer n to buf using only nbytes.

+

Panics

+

If n is not representable in nbytes, or if nbytes is > 8, then +this method panics.

+

Examples

+

Write and read an n-byte number in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 3];
+LittleEndian::write_uint(&mut buf, 1_000_000, 3);
+assert_eq!(1_000_000, LittleEndian::read_uint(&buf, 3));
+

Reads unsigned 16 bit integers from src into dst.

+

Panics

+

Panics when src.len() != 2*dst.len().

+

Examples

+

Write and read u16 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 8];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_u16_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_u16_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Reads unsigned 32 bit integers from src into dst.

+

Panics

+

Panics when src.len() != 4*dst.len().

+

Examples

+

Write and read u32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 16];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_u32_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_u32_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Reads unsigned 64 bit integers from src into dst.

+

Panics

+

Panics when src.len() != 8*dst.len().

+

Examples

+

Write and read u64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 32];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_u64_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_u64_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Writes unsigned 16 bit integers from src into dst.

+

Panics

+

Panics when dst.len() != 2*src.len().

+

Examples

+

Write and read u16 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 8];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_u16_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_u16_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Writes unsigned 32 bit integers from src into dst.

+

Panics

+

Panics when dst.len() != 4*src.len().

+

Examples

+

Write and read u32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 16];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_u32_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_u32_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Writes unsigned 64 bit integers from src into dst.

+

Panics

+

Panics when dst.len() != 8*src.len().

+

Examples

+

Write and read u64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 32];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_u64_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_u64_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Converts the given slice of unsigned 16 bit integers to a particular +endianness.

+

If the endianness matches the endianness of the host platform, then +this is a no-op.

+

Examples

+

Convert the host platform's endianness to big-endian:

+ +
+use byteorder::{ByteOrder, BigEndian};
+
+let mut numbers = [5, 65000];
+BigEndian::from_slice_u16(&mut numbers);
+assert_eq!(numbers, [5u16.to_be(), 65000u16.to_be()]);
+

Converts the given slice of unsigned 32 bit integers to a particular +endianness.

+

If the endianness matches the endianness of the host platform, then +this is a no-op.

+

Examples

+

Convert the host platform's endianness to big-endian:

+ +
+use byteorder::{ByteOrder, BigEndian};
+
+let mut numbers = [5, 65000];
+BigEndian::from_slice_u32(&mut numbers);
+assert_eq!(numbers, [5u32.to_be(), 65000u32.to_be()]);
+

Converts the given slice of unsigned 64 bit integers to a particular +endianness.

+

If the endianness matches the endianness of the host platform, then +this is a no-op.

+

Examples

+

Convert the host platform's endianness to big-endian:

+ +
+use byteorder::{ByteOrder, BigEndian};
+
+let mut numbers = [5, 65000];
+BigEndian::from_slice_u64(&mut numbers);
+assert_eq!(numbers, [5u64.to_be(), 65000u64.to_be()]);
+

Converts the given slice of IEEE754 single-precision (4 bytes) floating +point numbers to a particular endianness.

+

If the endianness matches the endianness of the host platform, then +this is a no-op.

+

Converts the given slice of IEEE754 double-precision (8 bytes) floating +point numbers to a particular endianness.

+

If the endianness matches the endianness of the host platform, then +this is a no-op.

+
+

+ Provided Methods +

+
+

Reads an unsigned 24 bit integer from buf, stored in u32.

+

Panics

+

Panics when buf.len() < 3.

+

Examples

+

Write and read 24 bit u32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 3];
+LittleEndian::write_u24(&mut buf, 1_000_000);
+assert_eq!(1_000_000, LittleEndian::read_u24(&buf));
+

Reads an unsigned 48 bit integer from buf, stored in u64.

+

Panics

+

Panics when buf.len() < 6.

+

Examples

+

Write and read 48 bit u64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 6];
+LittleEndian::write_u48(&mut buf, 1_000_000_000_000);
+assert_eq!(1_000_000_000_000, LittleEndian::read_u48(&buf));
+

Writes an unsigned 24 bit integer n to buf, stored in u32.

+

Panics

+

Panics when buf.len() < 3.

+

Examples

+

Write and read 24 bit u32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 3];
+LittleEndian::write_u24(&mut buf, 1_000_000);
+assert_eq!(1_000_000, LittleEndian::read_u24(&buf));
+

Writes an unsigned 48 bit integer n to buf, stored in u64.

+

Panics

+

Panics when buf.len() < 6.

+

Examples

+

Write and read 48 bit u64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 6];
+LittleEndian::write_u48(&mut buf, 1_000_000_000_000);
+assert_eq!(1_000_000_000_000, LittleEndian::read_u48(&buf));
+

Reads a signed 16 bit integer from buf.

+

Panics

+

Panics when buf.len() < 2.

+

Examples

+

Write and read i16 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 2];
+LittleEndian::write_i16(&mut buf, -1_000);
+assert_eq!(-1_000, LittleEndian::read_i16(&buf));
+

Reads a signed 24 bit integer from buf, stored in i32.

+

Panics

+

Panics when buf.len() < 3.

+

Examples

+

Write and read 24 bit i32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 3];
+LittleEndian::write_i24(&mut buf, -1_000_000);
+assert_eq!(-1_000_000, LittleEndian::read_i24(&buf));
+

Reads a signed 32 bit integer from buf.

+

Panics

+

Panics when buf.len() < 4.

+

Examples

+

Write and read i32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 4];
+LittleEndian::write_i32(&mut buf, -1_000_000);
+assert_eq!(-1_000_000, LittleEndian::read_i32(&buf));
+

Reads a signed 48 bit integer from buf, stored in i64.

+

Panics

+

Panics when buf.len() < 6.

+

Examples

+

Write and read 48 bit i64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 6];
+LittleEndian::write_i48(&mut buf, -1_000_000_000_000);
+assert_eq!(-1_000_000_000_000, LittleEndian::read_i48(&buf));
+

Reads a signed 64 bit integer from buf.

+

Panics

+

Panics when buf.len() < 8.

+

Examples

+

Write and read i64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 8];
+LittleEndian::write_i64(&mut buf, -1_000_000_000);
+assert_eq!(-1_000_000_000, LittleEndian::read_i64(&buf));
+

Reads a signed n-bytes integer from buf.

+

Panics

+

Panics when nbytes < 1 or nbytes > 8 or +buf.len() < nbytes

+

Examples

+

Write and read n-length signed numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 3];
+LittleEndian::write_int(&mut buf, -1_000, 3);
+assert_eq!(-1_000, LittleEndian::read_int(&buf, 3));
+

Reads a IEEE754 single-precision (4 bytes) floating point number.

+

Panics

+

Panics when buf.len() < 4.

+

Examples

+

Write and read f32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let e = 2.71828;
+let mut buf = [0; 4];
+LittleEndian::write_f32(&mut buf, e);
+assert_eq!(e, LittleEndian::read_f32(&buf));
+

Reads a IEEE754 double-precision (8 bytes) floating point number.

+

Panics

+

Panics when buf.len() < 8.

+

Examples

+

Write and read f64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let phi = 1.6180339887;
+let mut buf = [0; 8];
+LittleEndian::write_f64(&mut buf, phi);
+assert_eq!(phi, LittleEndian::read_f64(&buf));
+

Writes a signed 16 bit integer n to buf.

+

Panics

+

Panics when buf.len() < 2.

+

Examples

+

Write and read i16 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 2];
+LittleEndian::write_i16(&mut buf, -1_000);
+assert_eq!(-1_000, LittleEndian::read_i16(&buf));
+

Writes a signed 24 bit integer n to buf, stored in i32.

+

Panics

+

Panics when buf.len() < 3.

+

Examples

+

Write and read 24 bit i32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 3];
+LittleEndian::write_i24(&mut buf, -1_000_000);
+assert_eq!(-1_000_000, LittleEndian::read_i24(&buf));
+

Writes a signed 32 bit integer n to buf.

+

Panics

+

Panics when buf.len() < 4.

+

Examples

+

Write and read i32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 4];
+LittleEndian::write_i32(&mut buf, -1_000_000);
+assert_eq!(-1_000_000, LittleEndian::read_i32(&buf));
+

Writes a signed 48 bit integer n to buf, stored in i64.

+

Panics

+

Panics when buf.len() < 6.

+

Examples

+

Write and read 48 bit i64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 6];
+LittleEndian::write_i48(&mut buf, -1_000_000_000_000);
+assert_eq!(-1_000_000_000_000, LittleEndian::read_i48(&buf));
+

Writes a signed 64 bit integer n to buf.

+

Panics

+

Panics when buf.len() < 8.

+

Examples

+

Write and read i64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 8];
+LittleEndian::write_i64(&mut buf, -1_000_000_000);
+assert_eq!(-1_000_000_000, LittleEndian::read_i64(&buf));
+

Writes a signed integer n to buf using only nbytes.

+

Panics

+

If n is not representable in nbytes, or if nbytes is > 8, then +this method panics.

+

Examples

+

Write and read an n-byte number in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut buf = [0; 3];
+LittleEndian::write_int(&mut buf, -1_000, 3);
+assert_eq!(-1_000, LittleEndian::read_int(&buf, 3));
+

Writes a IEEE754 single-precision (4 bytes) floating point number.

+

Panics

+

Panics when buf.len() < 4.

+

Examples

+

Write and read f32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let e = 2.71828;
+let mut buf = [0; 4];
+LittleEndian::write_f32(&mut buf, e);
+assert_eq!(e, LittleEndian::read_f32(&buf));
+

Writes a IEEE754 double-precision (8 bytes) floating point number.

+

Panics

+

Panics when buf.len() < 8.

+

Examples

+

Write and read f64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let phi = 1.6180339887;
+let mut buf = [0; 8];
+LittleEndian::write_f64(&mut buf, phi);
+assert_eq!(phi, LittleEndian::read_f64(&buf));
+

Reads signed 16 bit integers from src to dst.

+

Panics

+

Panics when buf.len() != 2*dst.len().

+

Examples

+

Write and read i16 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 8];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_i16_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_i16_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Reads signed 32 bit integers from src into dst.

+

Panics

+

Panics when src.len() != 4*dst.len().

+

Examples

+

Write and read i32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 16];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_i32_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_i32_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Reads signed 64 bit integers from src into dst.

+

Panics

+

Panics when src.len() != 8*dst.len().

+

Examples

+

Write and read i64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 32];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_i64_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_i64_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Reads IEEE754 single-precision (4 bytes) floating point numbers from +src into dst.

+

Panics

+

Panics when src.len() != 4*dst.len().

+

Examples

+

Write and read f32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 16];
+let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91];
+LittleEndian::write_f32_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0.0; 4];
+LittleEndian::read_f32_into_unchecked(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Reads IEEE754 single-precision (4 bytes) floating point numbers from +src into dst.

+

Panics

+

Panics when src.len() != 8*dst.len().

+

Examples

+

Write and read f64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 32];
+let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91];
+LittleEndian::write_f64_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0.0; 4];
+LittleEndian::read_f64_into_unchecked(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Writes signed 16 bit integers from src into dst.

+

Panics

+

Panics when buf.len() != 2*src.len().

+

Examples

+

Write and read i16 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 8];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_i16_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_i16_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Writes signed 32 bit integers from src into dst.

+

Panics

+

Panics when dst.len() != 4*src.len().

+

Examples

+

Write and read i32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 16];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_i32_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_i32_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Writes signed 64 bit integers from src into dst.

+

Panics

+

Panics when dst.len() != 8*src.len().

+

Examples

+

Write and read i64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 32];
+let numbers_given = [1, 2, 0xf00f, 0xffee];
+LittleEndian::write_i64_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0; 4];
+LittleEndian::read_i64_into(&bytes, &mut numbers_got);
+assert_eq!(numbers_given, numbers_got);
+

Writes IEEE754 single-precision (4 bytes) floating point numbers from +src into dst.

+

Panics

+

Panics when src.len() != 4*dst.len().

+

Examples

+

Write and read f32 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 16];
+let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91];
+LittleEndian::write_f32_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0.0; 4];
+unsafe {
+    LittleEndian::read_f32_into_unchecked(&bytes, &mut numbers_got);
+}
+assert_eq!(numbers_given, numbers_got);
+

Writes IEEE754 double-precision (8 bytes) floating point numbers from +src into dst.

+

Panics

+

Panics when src.len() != 8*dst.len().

+

Examples

+

Write and read f64 numbers in little endian order:

+ +
+use byteorder::{ByteOrder, LittleEndian};
+
+let mut bytes = [0; 32];
+let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91];
+LittleEndian::write_f64_into(&numbers_given, &mut bytes);
+
+let mut numbers_got = [0.0; 4];
+unsafe {
+    LittleEndian::read_f64_into_unchecked(&bytes, &mut numbers_got);
+}
+assert_eq!(numbers_given, numbers_got);
+

Converts the given slice of signed 16 bit integers to a particular +endianness.

+

If the endianness matches the endianness of the host platform, then +this is a no-op.

+

Examples

+

Convert the host platform's endianness to big-endian:

+ +
+use byteorder::{ByteOrder, BigEndian};
+
+let mut numbers = [5, 65000];
+BigEndian::from_slice_i16(&mut numbers);
+assert_eq!(numbers, [5i16.to_be(), 65000i16.to_be()]);
+

Converts the given slice of signed 32 bit integers to a particular +endianness.

+

If the endianness matches the endianness of the host platform, then +this is a no-op.

+

Examples

+

Convert the host platform's endianness to big-endian:

+ +
+use byteorder::{ByteOrder, BigEndian};
+
+let mut numbers = [5, 65000];
+BigEndian::from_slice_i32(&mut numbers);
+assert_eq!(numbers, [5i32.to_be(), 65000i32.to_be()]);
+

Converts the given slice of signed 64 bit integers to a particular +endianness.

+

If the endianness matches the endianness of the host platform, then +this is a no-op.

+

Examples

+

Convert the host platform's endianness to big-endian:

+ +
+use byteorder::{ByteOrder, BigEndian};
+
+let mut numbers = [5, 65000];
+BigEndian::from_slice_i64(&mut numbers);
+assert_eq!(numbers, [5i64.to_be(), 65000i64.to_be()]);
+

Implementors

\ No newline at end of file diff --git a/byteorder/trait.ReadBytesExt.html b/byteorder/trait.ReadBytesExt.html new file mode 100644 index 0000000..6393168 --- /dev/null +++ b/byteorder/trait.ReadBytesExt.html @@ -0,0 +1,470 @@ +byteorder::ReadBytesExt - Rust

Trait byteorder::ReadBytesExt[][src]

pub trait ReadBytesExt: Read {
+    fn read_u8(&mut self) -> Result<u8> { ... }
+
fn read_i8(&mut self) -> Result<i8> { ... } +
fn read_u16<T: ByteOrder>(&mut self) -> Result<u16> { ... } +
fn read_i16<T: ByteOrder>(&mut self) -> Result<i16> { ... } +
fn read_u24<T: ByteOrder>(&mut self) -> Result<u32> { ... } +
fn read_i24<T: ByteOrder>(&mut self) -> Result<i32> { ... } +
fn read_u32<T: ByteOrder>(&mut self) -> Result<u32> { ... } +
fn read_i32<T: ByteOrder>(&mut self) -> Result<i32> { ... } +
fn read_u48<T: ByteOrder>(&mut self) -> Result<u64> { ... } +
fn read_i48<T: ByteOrder>(&mut self) -> Result<i64> { ... } +
fn read_u64<T: ByteOrder>(&mut self) -> Result<u64> { ... } +
fn read_i64<T: ByteOrder>(&mut self) -> Result<i64> { ... } +
fn read_uint<T: ByteOrder>(&mut self, nbytes: usize) -> Result<u64> { ... } +
fn read_int<T: ByteOrder>(&mut self, nbytes: usize) -> Result<i64> { ... } +
fn read_f32<T: ByteOrder>(&mut self) -> Result<f32> { ... } +
fn read_f64<T: ByteOrder>(&mut self) -> Result<f64> { ... } +
fn read_u16_into<T: ByteOrder>(&mut self, dst: &mut [u16]) -> Result<()> { ... } +
fn read_u32_into<T: ByteOrder>(&mut self, dst: &mut [u32]) -> Result<()> { ... } +
fn read_u64_into<T: ByteOrder>(&mut self, dst: &mut [u64]) -> Result<()> { ... } +
fn read_i16_into<T: ByteOrder>(&mut self, dst: &mut [i16]) -> Result<()> { ... } +
fn read_i32_into<T: ByteOrder>(&mut self, dst: &mut [i32]) -> Result<()> { ... } +
fn read_i64_into<T: ByteOrder>(&mut self, dst: &mut [i64]) -> Result<()> { ... } +
fn read_f32_into<T: ByteOrder>(&mut self, dst: &mut [f32]) -> Result<()> { ... } +
fn read_f32_into_unchecked<T: ByteOrder>(
        &mut self,
        dst: &mut [f32]
    ) -> Result<()> { ... } +
fn read_f64_into<T: ByteOrder>(&mut self, dst: &mut [f64]) -> Result<()> { ... } +
fn read_f64_into_unchecked<T: ByteOrder>(
        &mut self,
        dst: &mut [f64]
    ) -> Result<()> { ... } +}

Extends Read with methods for reading numbers. (For std::io.)

+

Most of the methods defined here have an unconstrained type parameter that +must be explicitly instantiated. Typically, it is instantiated with either +the BigEndian or LittleEndian types defined in this crate.

+

Examples

+

Read unsigned 16 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
+assert_eq!(517, rdr.read_u16::<BigEndian>().unwrap());
+assert_eq!(768, rdr.read_u16::<BigEndian>().unwrap());
+
+

+ Provided Methods +

+
+

Reads an unsigned 8 bit integer from the underlying reader.

+

Note that since this reads a single byte, no byte order conversions +are used. It is included for completeness.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read unsigned 8 bit integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::ReadBytesExt;
+
+let mut rdr = Cursor::new(vec![2, 5]);
+assert_eq!(2, rdr.read_u8().unwrap());
+assert_eq!(5, rdr.read_u8().unwrap());
+

Reads a signed 8 bit integer from the underlying reader.

+

Note that since this reads a single byte, no byte order conversions +are used. It is included for completeness.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read signed 8 bit integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::ReadBytesExt;
+
+let mut rdr = Cursor::new(vec![0x02, 0xfb]);
+assert_eq!(2, rdr.read_i8().unwrap());
+assert_eq!(-5, rdr.read_i8().unwrap());
+

Reads an unsigned 16 bit integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read unsigned 16 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
+assert_eq!(517, rdr.read_u16::<BigEndian>().unwrap());
+assert_eq!(768, rdr.read_u16::<BigEndian>().unwrap());
+

Reads a signed 16 bit integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read signed 16 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0x00, 0xc1, 0xff, 0x7c]);
+assert_eq!(193, rdr.read_i16::<BigEndian>().unwrap());
+assert_eq!(-132, rdr.read_i16::<BigEndian>().unwrap());
+

Reads an unsigned 24 bit integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read unsigned 24 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0x00, 0x01, 0x0b]);
+assert_eq!(267, rdr.read_u24::<BigEndian>().unwrap());
+

Reads a signed 24 bit integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read signed 24 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0xff, 0x7a, 0x33]);
+assert_eq!(-34253, rdr.read_i24::<BigEndian>().unwrap());
+

Reads an unsigned 32 bit integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read unsigned 32 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0x00, 0x00, 0x01, 0x0b]);
+assert_eq!(267, rdr.read_u32::<BigEndian>().unwrap());
+

Reads a signed 32 bit integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read signed 32 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0xff, 0xff, 0x7a, 0x33]);
+assert_eq!(-34253, rdr.read_i32::<BigEndian>().unwrap());
+

Reads an unsigned 48 bit integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read unsigned 48 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0xb6, 0x71, 0x6b, 0xdc, 0x2b, 0x31]);
+assert_eq!(200598257150769, rdr.read_u48::<BigEndian>().unwrap());
+

Reads a signed 48 bit integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read signed 48 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0x9d, 0x71, 0xab, 0xe7, 0x97, 0x8f]);
+assert_eq!(-108363435763825, rdr.read_i48::<BigEndian>().unwrap());
+

Reads an unsigned 64 bit integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read an unsigned 64 bit big-endian integer from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83]);
+assert_eq!(918733457491587, rdr.read_u64::<BigEndian>().unwrap());
+

Reads a signed 64 bit integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a signed 64 bit big-endian integer from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0x80, 0, 0, 0, 0, 0, 0, 0]);
+assert_eq!(i64::min_value(), rdr.read_i64::<BigEndian>().unwrap());
+

Reads an unsigned n-bytes integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read an unsigned n-byte big-endian integer from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0x80, 0x74, 0xfa]);
+assert_eq!(8418554, rdr.read_uint::<BigEndian>(3).unwrap());
+

Reads a signed n-bytes integer from the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read an unsigned n-byte big-endian integer from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0xc1, 0xff, 0x7c]);
+assert_eq!(-4063364, rdr.read_int::<BigEndian>(3).unwrap());
+

Reads a IEEE754 single-precision (4 bytes) floating point number from +the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a big-endian single-precision floating point number from a Read:

+ +
+use std::f32;
+use std::io::Cursor;
+
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![
+    0x40, 0x49, 0x0f, 0xdb,
+]);
+assert_eq!(f32::consts::PI, rdr.read_f32::<BigEndian>().unwrap());
+

Reads a IEEE754 double-precision (8 bytes) floating point number from +the underlying reader.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a big-endian double-precision floating point number from a Read:

+ +
+use std::f64;
+use std::io::Cursor;
+
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![
+    0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18,
+]);
+assert_eq!(f64::consts::PI, rdr.read_f64::<BigEndian>().unwrap());
+

Reads a sequence of unsigned 16 bit integers from the underlying +reader.

+

The given buffer is either filled completely or an error is returned. +If an error is returned, the contents of dst are unspecified.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a sequence of unsigned 16 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
+let mut dst = [0; 2];
+rdr.read_u16_into::<BigEndian>(&mut dst).unwrap();
+assert_eq!([517, 768], dst);
+

Reads a sequence of unsigned 32 bit integers from the underlying +reader.

+

The given buffer is either filled completely or an error is returned. +If an error is returned, the contents of dst are unspecified.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a sequence of unsigned 32 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0, 0, 2, 5, 0, 0, 3, 0]);
+let mut dst = [0; 2];
+rdr.read_u32_into::<BigEndian>(&mut dst).unwrap();
+assert_eq!([517, 768], dst);
+

Reads a sequence of unsigned 64 bit integers from the underlying +reader.

+

The given buffer is either filled completely or an error is returned. +If an error is returned, the contents of dst are unspecified.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a sequence of unsigned 64 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![
+    0, 0, 0, 0, 0, 0, 2, 5,
+    0, 0, 0, 0, 0, 0, 3, 0,
+]);
+let mut dst = [0; 2];
+rdr.read_u64_into::<BigEndian>(&mut dst).unwrap();
+assert_eq!([517, 768], dst);
+

Reads a sequence of signed 16 bit integers from the underlying +reader.

+

The given buffer is either filled completely or an error is returned. +If an error is returned, the contents of dst are unspecified.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a sequence of signed 16 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
+let mut dst = [0; 2];
+rdr.read_i16_into::<BigEndian>(&mut dst).unwrap();
+assert_eq!([517, 768], dst);
+

Reads a sequence of signed 32 bit integers from the underlying +reader.

+

The given buffer is either filled completely or an error is returned. +If an error is returned, the contents of dst are unspecified.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a sequence of signed 32 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![0, 0, 2, 5, 0, 0, 3, 0]);
+let mut dst = [0; 2];
+rdr.read_i32_into::<BigEndian>(&mut dst).unwrap();
+assert_eq!([517, 768], dst);
+

Reads a sequence of signed 64 bit integers from the underlying +reader.

+

The given buffer is either filled completely or an error is returned. +If an error is returned, the contents of dst are unspecified.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a sequence of signed 64 bit big-endian integers from a Read:

+ +
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![
+    0, 0, 0, 0, 0, 0, 2, 5,
+    0, 0, 0, 0, 0, 0, 3, 0,
+]);
+let mut dst = [0; 2];
+rdr.read_i64_into::<BigEndian>(&mut dst).unwrap();
+assert_eq!([517, 768], dst);
+

Reads a sequence of IEEE754 single-precision (4 bytes) floating +point numbers from the underlying reader.

+

The given buffer is either filled completely or an error is returned. +If an error is returned, the contents of dst are unspecified.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a sequence of big-endian single-precision floating point number +from a Read:

+ +
+use std::f32;
+use std::io::Cursor;
+
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![
+    0x40, 0x49, 0x0f, 0xdb,
+    0x3f, 0x80, 0x00, 0x00,
+]);
+let mut dst = [0.0; 2];
+rdr.read_f32_into::<BigEndian>(&mut dst).unwrap();
+assert_eq!([f32::consts::PI, 1.0], dst);
+

Deprecated since 1.2.0

: please use read_f32_into instead

+

DEPRECATED.

+

This method is deprecated. Use read_f32_into instead.

+

Reads a sequence of IEEE754 single-precision (4 bytes) floating +point numbers from the underlying reader.

+

The given buffer is either filled completely or an error is returned. +If an error is returned, the contents of dst are unspecified.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a sequence of big-endian single-precision floating point number +from a Read:

+ +
+use std::f32;
+use std::io::Cursor;
+
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![
+    0x40, 0x49, 0x0f, 0xdb,
+    0x3f, 0x80, 0x00, 0x00,
+]);
+let mut dst = [0.0; 2];
+rdr.read_f32_into_unchecked::<BigEndian>(&mut dst).unwrap();
+assert_eq!([f32::consts::PI, 1.0], dst);
+

Reads a sequence of IEEE754 double-precision (8 bytes) floating +point numbers from the underlying reader.

+

The given buffer is either filled completely or an error is returned. +If an error is returned, the contents of dst are unspecified.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a sequence of big-endian single-precision floating point number +from a Read:

+ +
+use std::f64;
+use std::io::Cursor;
+
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![
+    0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18,
+    0x3f, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+]);
+let mut dst = [0.0; 2];
+rdr.read_f64_into::<BigEndian>(&mut dst).unwrap();
+assert_eq!([f64::consts::PI, 1.0], dst);
+

Deprecated since 1.2.0

: please use read_f64_into instead

+

DEPRECATED.

+

This method is deprecated. Use read_f64_into instead.

+

Reads a sequence of IEEE754 double-precision (8 bytes) floating +point numbers from the underlying reader.

+

The given buffer is either filled completely or an error is returned. +If an error is returned, the contents of dst are unspecified.

+

Safety

+

This method is unsafe because there are no guarantees made about the +floating point values. In particular, this method does not check for +signaling NaNs, which may result in undefined behavior.

+

Errors

+

This method returns the same errors as Read::read_exact.

+

Examples

+

Read a sequence of big-endian single-precision floating point number +from a Read:

+ +
+use std::f64;
+use std::io::Cursor;
+
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![
+    0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18,
+    0x3f, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+]);
+let mut dst = [0.0; 2];
+rdr.read_f64_into_unchecked::<BigEndian>(&mut dst).unwrap();
+assert_eq!([f64::consts::PI, 1.0], dst);
+

Implementors

\ No newline at end of file diff --git a/byteorder/trait.WriteBytesExt.html b/byteorder/trait.WriteBytesExt.html new file mode 100644 index 0000000..6cfb20e --- /dev/null +++ b/byteorder/trait.WriteBytesExt.html @@ -0,0 +1,262 @@ +byteorder::WriteBytesExt - Rust

Trait byteorder::WriteBytesExt[][src]

pub trait WriteBytesExt: Write {
+    fn write_u8(&mut self, n: u8) -> Result<()> { ... }
+
fn write_i8(&mut self, n: i8) -> Result<()> { ... } +
fn write_u16<T: ByteOrder>(&mut self, n: u16) -> Result<()> { ... } +
fn write_i16<T: ByteOrder>(&mut self, n: i16) -> Result<()> { ... } +
fn write_u24<T: ByteOrder>(&mut self, n: u32) -> Result<()> { ... } +
fn write_i24<T: ByteOrder>(&mut self, n: i32) -> Result<()> { ... } +
fn write_u32<T: ByteOrder>(&mut self, n: u32) -> Result<()> { ... } +
fn write_i32<T: ByteOrder>(&mut self, n: i32) -> Result<()> { ... } +
fn write_u48<T: ByteOrder>(&mut self, n: u64) -> Result<()> { ... } +
fn write_i48<T: ByteOrder>(&mut self, n: i64) -> Result<()> { ... } +
fn write_u64<T: ByteOrder>(&mut self, n: u64) -> Result<()> { ... } +
fn write_i64<T: ByteOrder>(&mut self, n: i64) -> Result<()> { ... } +
fn write_uint<T: ByteOrder>(&mut self, n: u64, nbytes: usize) -> Result<()> { ... } +
fn write_int<T: ByteOrder>(&mut self, n: i64, nbytes: usize) -> Result<()> { ... } +
fn write_f32<T: ByteOrder>(&mut self, n: f32) -> Result<()> { ... } +
fn write_f64<T: ByteOrder>(&mut self, n: f64) -> Result<()> { ... } +}

Extends Write with methods for writing numbers. (For std::io.)

+

Most of the methods defined here have an unconstrained type parameter that +must be explicitly instantiated. Typically, it is instantiated with either +the BigEndian or LittleEndian types defined in this crate.

+

Examples

+

Write unsigned 16 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = vec![];
+wtr.write_u16::<BigEndian>(517).unwrap();
+wtr.write_u16::<BigEndian>(768).unwrap();
+assert_eq!(wtr, vec![2, 5, 3, 0]);
+
+

+ Provided Methods +

+
+

Writes an unsigned 8 bit integer to the underlying writer.

+

Note that since this writes a single byte, no byte order conversions +are used. It is included for completeness.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write unsigned 8 bit integers to a Write:

+ +
+use byteorder::WriteBytesExt;
+
+let mut wtr = Vec::new();
+wtr.write_u8(2).unwrap();
+wtr.write_u8(5).unwrap();
+assert_eq!(wtr, b"\x02\x05");
+

Writes a signed 8 bit integer to the underlying writer.

+

Note that since this writes a single byte, no byte order conversions +are used. It is included for completeness.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write signed 8 bit integers to a Write:

+ +
+use byteorder::WriteBytesExt;
+
+let mut wtr = Vec::new();
+wtr.write_i8(2).unwrap();
+wtr.write_i8(-5).unwrap();
+assert_eq!(wtr, b"\x02\xfb");
+

Writes an unsigned 16 bit integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write unsigned 16 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_u16::<BigEndian>(517).unwrap();
+wtr.write_u16::<BigEndian>(768).unwrap();
+assert_eq!(wtr, b"\x02\x05\x03\x00");
+

Writes a signed 16 bit integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write signed 16 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_i16::<BigEndian>(193).unwrap();
+wtr.write_i16::<BigEndian>(-132).unwrap();
+assert_eq!(wtr, b"\x00\xc1\xff\x7c");
+

Writes an unsigned 24 bit integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write unsigned 24 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_u24::<BigEndian>(267).unwrap();
+wtr.write_u24::<BigEndian>(120111).unwrap();
+assert_eq!(wtr, b"\x00\x01\x0b\x01\xd5\x2f");
+

Writes a signed 24 bit integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write signed 24 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_i24::<BigEndian>(-34253).unwrap();
+wtr.write_i24::<BigEndian>(120111).unwrap();
+assert_eq!(wtr, b"\xff\x7a\x33\x01\xd5\x2f");
+

Writes an unsigned 32 bit integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write unsigned 32 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_u32::<BigEndian>(267).unwrap();
+wtr.write_u32::<BigEndian>(1205419366).unwrap();
+assert_eq!(wtr, b"\x00\x00\x01\x0b\x47\xd9\x3d\x66");
+

Writes a signed 32 bit integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write signed 32 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_i32::<BigEndian>(-34253).unwrap();
+wtr.write_i32::<BigEndian>(1205419366).unwrap();
+assert_eq!(wtr, b"\xff\xff\x7a\x33\x47\xd9\x3d\x66");
+

Writes an unsigned 48 bit integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write unsigned 48 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_u48::<BigEndian>(52360336390828).unwrap();
+wtr.write_u48::<BigEndian>(541).unwrap();
+assert_eq!(wtr, b"\x2f\x9f\x17\x40\x3a\xac\x00\x00\x00\x00\x02\x1d");
+

Writes a signed 48 bit integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write signed 48 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_i48::<BigEndian>(-108363435763825).unwrap();
+wtr.write_i48::<BigEndian>(77).unwrap();
+assert_eq!(wtr, b"\x9d\x71\xab\xe7\x97\x8f\x00\x00\x00\x00\x00\x4d");
+

Writes an unsigned 64 bit integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write unsigned 64 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_u64::<BigEndian>(918733457491587).unwrap();
+wtr.write_u64::<BigEndian>(143).unwrap();
+assert_eq!(wtr, b"\x00\x03\x43\x95\x4d\x60\x86\x83\x00\x00\x00\x00\x00\x00\x00\x8f");
+

Writes a signed 64 bit integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write signed 64 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_i64::<BigEndian>(i64::min_value()).unwrap();
+wtr.write_i64::<BigEndian>(i64::max_value()).unwrap();
+assert_eq!(wtr, b"\x80\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff");
+

Writes an unsigned n-bytes integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Panics

+

If the given integer is not representable in the given number of bytes, +this method panics. If nbytes > 8, this method panics.

+

Examples

+

Write unsigned 40 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_uint::<BigEndian>(312550384361, 5).unwrap();
+wtr.write_uint::<BigEndian>(43, 5).unwrap();
+assert_eq!(wtr, b"\x48\xc5\x74\x62\xe9\x00\x00\x00\x00\x2b");
+

Writes a signed n-bytes integer to the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Panics

+

If the given integer is not representable in the given number of bytes, +this method panics. If nbytes > 8, this method panics.

+

Examples

+

Write signed 56 bit big-endian integers to a Write:

+ +
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_int::<BigEndian>(-3548172039376767, 7).unwrap();
+wtr.write_int::<BigEndian>(43, 7).unwrap();
+assert_eq!(wtr, b"\xf3\x64\xf4\xd1\xfd\xb0\x81\x00\x00\x00\x00\x00\x00\x2b");
+

Writes a IEEE754 single-precision (4 bytes) floating point number to +the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write a big-endian single-precision floating point number to a Write:

+ +
+use std::f32;
+
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_f32::<BigEndian>(f32::consts::PI).unwrap();
+assert_eq!(wtr, b"\x40\x49\x0f\xdb");
+

Writes a IEEE754 double-precision (8 bytes) floating point number to +the underlying writer.

+

Errors

+

This method returns the same errors as Write::write_all.

+

Examples

+

Write a big-endian double-precision floating point number to a Write:

+ +
+use std::f64;
+
+use byteorder::{BigEndian, WriteBytesExt};
+
+let mut wtr = Vec::new();
+wtr.write_f64::<BigEndian>(f64::consts::PI).unwrap();
+assert_eq!(wtr, b"\x40\x09\x21\xfb\x54\x44\x2d\x18");
+

Implementors

\ No newline at end of file diff --git a/byteorder/type.BE.html b/byteorder/type.BE.html new file mode 100644 index 0000000..8b423b8 --- /dev/null +++ b/byteorder/type.BE.html @@ -0,0 +1,2 @@ +byteorder::BE - Rust

Type Definition byteorder::BE[][src]

type BE = BigEndian;

A type alias for BigEndian.

+
\ No newline at end of file diff --git a/byteorder/type.LE.html b/byteorder/type.LE.html new file mode 100644 index 0000000..dc4a335 --- /dev/null +++ b/byteorder/type.LE.html @@ -0,0 +1,2 @@ +byteorder::LE - Rust

Type Definition byteorder::LE[][src]

type LE = LittleEndian;

A type alias for LittleEndian.

+
\ No newline at end of file diff --git a/byteorder/type.NativeEndian.html b/byteorder/type.NativeEndian.html new file mode 100644 index 0000000..ca35806 --- /dev/null +++ b/byteorder/type.NativeEndian.html @@ -0,0 +1,5 @@ +byteorder::NativeEndian - Rust

Type Definition byteorder::NativeEndian[][src]

type NativeEndian = LittleEndian;

Defines system native-endian serialization.

+

Note that this type has no value constructor. It is used purely at the +type level.

+

On this platform, this is an alias for LittleEndian.

+
\ No newline at end of file diff --git a/byteorder/type.NetworkEndian.html b/byteorder/type.NetworkEndian.html new file mode 100644 index 0000000..9ab541e --- /dev/null +++ b/byteorder/type.NetworkEndian.html @@ -0,0 +1,16 @@ +byteorder::NetworkEndian - Rust

Type Definition byteorder::NetworkEndian[][src]

type NetworkEndian = BigEndian;

Defines network byte order serialization.

+

Network byte order is defined by RFC 1700 to be big-endian, and is +referred to in several protocol specifications. This type is an alias of +BigEndian.

+

Note that this type has no value constructor. It is used purely at the +type level.

+

Examples

+

Write and read i16 numbers in big endian order:

+ +
+use byteorder::{ByteOrder, NetworkEndian, BigEndian};
+
+let mut buf = [0; 2];
+BigEndian::write_i16(&mut buf, -50_000);
+assert_eq!(-50_000, NetworkEndian::read_i16(&buf));
+
\ No newline at end of file diff --git a/dark.css b/dark.css new file mode 100644 index 0000000..7d4a819 --- /dev/null +++ b/dark.css @@ -0,0 +1,12 @@ +/*! + * Copyright 2015 The Rust Project Developers. See the COPYRIGHT + * file at the top-level directory of this distribution and at + * http://rust-lang.org/COPYRIGHT. + * + * Licensed under the Apache License, Version 2.0 or the MIT license + * , at your + * option. This file may not be copied, modified, or distributed + * except according to those terms. + */ +body{background-color:#353535;color:#ddd;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock p>code,.docblock-short p>code{background-color:#2A2A2A;}pre{background-color:#2A2A2A;}.sidebar{background-color:#505050;}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table{border-color:#ddd;}.docblock table td{border-top-color:#ddd;border-bottom-color:#ddd;}.docblock table th{border-top-color:#ddd;border-bottom-color:#ddd;}:target{background:#494a3d;}:target>.in-band{background:#494a3d;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.content .highlighted{color:#eee !important;background-color:#616161;}.content .highlighted a,.content .highlighted span{color:#eee !important;}.content .highlighted.trait{background-color:#013191;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.mod{background-color:#803a1b;}.content .highlighted.externcrate{background-color:#396bac;}.content .highlighted.enum{background-color:#5b4e68;}.content .highlighted.struct{background-color:#194e9f;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#4950ed;}.content .highlighted.type{background-color:#38902c;}.content .highlighted.foreigntype{background-color:#b200d6;}.content .highlighted.macro{background-color:#217d1c;}.content .highlighted.constant,.content .highlighted.static{background-color:#0063cc;}.content .highlighted.primitive{background-color:#00708a;}.content .highlighted.keyword{background-color:#884719;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav{border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.stability a{color:#D2991D;}a.test-arrow{color:#dedede;}.collapse-toggle{color:#999;}.search-input{color:#111;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;background-color:#f0f0f0;}.search-input:focus{border-color:#008dfd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#404040;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;color:#404040;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;color:#404040;}.module-item .stab{color:#ddd;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);color:black;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code{background-color:#494a3d;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.6);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.6);}.information>.compile_fail:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:rgba(255,142,0,1);}.search-failed>a{color:#0089ff;}.tooltip .tooltiptext{background-color:black;color:#fff;}.tooltip .tooltiptext::after{border-color:transparent black transparent transparent;}.important-traits .tooltip .tooltiptext{background-color:white;color:black;border-color:black;}#titles>div{border-bottom-color:#ccc;}#titles>div.selected{border-bottom-color:#0078ee;}#titles>div:hover{border-bottom-color:#0089ff;}#titles>div>div.count{color:#888;}.modal{background-color:rgba(0,0,0,0.3);}.modal-content{background-color:#272727;border-color:#999;}.modal-content>.close{background-color:#272727;border-color:#999;}.modal-content>.close:hover{background-color:#ff1f1f;color:white;}.modal-content>.whiter{background-color:#272727;}.modal-content>.close:hover+.whiter{background-color:#ff1f1f;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu{border-color:#e0e0e0;background:#f0f0f0;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus{border-color:#ffb900;}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results td span.alias{color:#fff;}.search-results td span.grey{color:#ccc;} \ No newline at end of file diff --git a/implementors/byteorder/trait.ByteOrder.js b/implementors/byteorder/trait.ByteOrder.js new file mode 100644 index 0000000..65a542f --- /dev/null +++ b/implementors/byteorder/trait.ByteOrder.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["byteorder"] = []; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/byteorder/trait.ReadBytesExt.js b/implementors/byteorder/trait.ReadBytesExt.js new file mode 100644 index 0000000..65a542f --- /dev/null +++ b/implementors/byteorder/trait.ReadBytesExt.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["byteorder"] = []; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/byteorder/trait.WriteBytesExt.js b/implementors/byteorder/trait.WriteBytesExt.js new file mode 100644 index 0000000..65a542f --- /dev/null +++ b/implementors/byteorder/trait.WriteBytesExt.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["byteorder"] = []; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js new file mode 100644 index 0000000..24a44b7 --- /dev/null +++ b/implementors/core/clone/trait.Clone.js @@ -0,0 +1,11 @@ +(function() {var implementors = {}; +implementors["byteorder"] = [{text:"impl Clone for BigEndian",synthetic:false,types:["byteorder::BigEndian"]},{text:"impl Clone for LittleEndian",synthetic:false,types:["byteorder::LittleEndian"]},]; +implementors["parity_wasm"] = [{text:"impl Clone for VarUint32",synthetic:false,types:["parity_wasm::elements::primitives::VarUint32"]},{text:"impl Clone for VarUint64",synthetic:false,types:["parity_wasm::elements::primitives::VarUint64"]},{text:"impl Clone for VarUint7",synthetic:false,types:["parity_wasm::elements::primitives::VarUint7"]},{text:"impl Clone for VarInt7",synthetic:false,types:["parity_wasm::elements::primitives::VarInt7"]},{text:"impl Clone for Uint8",synthetic:false,types:["parity_wasm::elements::primitives::Uint8"]},{text:"impl Clone for VarInt32",synthetic:false,types:["parity_wasm::elements::primitives::VarInt32"]},{text:"impl Clone for VarInt64",synthetic:false,types:["parity_wasm::elements::primitives::VarInt64"]},{text:"impl Clone for Uint32",synthetic:false,types:["parity_wasm::elements::primitives::Uint32"]},{text:"impl Clone for Uint64",synthetic:false,types:["parity_wasm::elements::primitives::Uint64"]},{text:"impl Clone for VarUint1",synthetic:false,types:["parity_wasm::elements::primitives::VarUint1"]},{text:"impl<T: Clone + Deserialize> Clone for CountedList<T>",synthetic:false,types:["parity_wasm::elements::primitives::CountedList"]},{text:"impl<I: Clone + Serialize<Error = Error>, T: Clone + IntoIterator<Item = I>> Clone for CountedListWriter<I, T>",synthetic:false,types:["parity_wasm::elements::primitives::CountedListWriter"]},{text:"impl Clone for Module",synthetic:false,types:["parity_wasm::elements::module::Module"]},{text:"impl Clone for ImportCountType",synthetic:false,types:["parity_wasm::elements::module::ImportCountType"]},{text:"impl Clone for Section",synthetic:false,types:["parity_wasm::elements::section::Section"]},{text:"impl Clone for CustomSection",synthetic:false,types:["parity_wasm::elements::section::CustomSection"]},{text:"impl Clone for TypeSection",synthetic:false,types:["parity_wasm::elements::section::TypeSection"]},{text:"impl Clone for ImportSection",synthetic:false,types:["parity_wasm::elements::section::ImportSection"]},{text:"impl Clone for FunctionSection",synthetic:false,types:["parity_wasm::elements::section::FunctionSection"]},{text:"impl Clone for TableSection",synthetic:false,types:["parity_wasm::elements::section::TableSection"]},{text:"impl Clone for MemorySection",synthetic:false,types:["parity_wasm::elements::section::MemorySection"]},{text:"impl Clone for GlobalSection",synthetic:false,types:["parity_wasm::elements::section::GlobalSection"]},{text:"impl Clone for ExportSection",synthetic:false,types:["parity_wasm::elements::section::ExportSection"]},{text:"impl Clone for CodeSection",synthetic:false,types:["parity_wasm::elements::section::CodeSection"]},{text:"impl Clone for ElementSection",synthetic:false,types:["parity_wasm::elements::section::ElementSection"]},{text:"impl Clone for DataSection",synthetic:false,types:["parity_wasm::elements::section::DataSection"]},{text:"impl Clone for Type",synthetic:false,types:["parity_wasm::elements::types::Type"]},{text:"impl Clone for ValueType",synthetic:false,types:["parity_wasm::elements::types::ValueType"]},{text:"impl Clone for BlockType",synthetic:false,types:["parity_wasm::elements::types::BlockType"]},{text:"impl Clone for FunctionType",synthetic:false,types:["parity_wasm::elements::types::FunctionType"]},{text:"impl Clone for TableElementType",synthetic:false,types:["parity_wasm::elements::types::TableElementType"]},{text:"impl Clone for GlobalType",synthetic:false,types:["parity_wasm::elements::import_entry::GlobalType"]},{text:"impl Clone for TableType",synthetic:false,types:["parity_wasm::elements::import_entry::TableType"]},{text:"impl Clone for ResizableLimits",synthetic:false,types:["parity_wasm::elements::import_entry::ResizableLimits"]},{text:"impl Clone for MemoryType",synthetic:false,types:["parity_wasm::elements::import_entry::MemoryType"]},{text:"impl Clone for External",synthetic:false,types:["parity_wasm::elements::import_entry::External"]},{text:"impl Clone for ImportEntry",synthetic:false,types:["parity_wasm::elements::import_entry::ImportEntry"]},{text:"impl Clone for Internal",synthetic:false,types:["parity_wasm::elements::export_entry::Internal"]},{text:"impl Clone for ExportEntry",synthetic:false,types:["parity_wasm::elements::export_entry::ExportEntry"]},{text:"impl Clone for GlobalEntry",synthetic:false,types:["parity_wasm::elements::global_entry::GlobalEntry"]},{text:"impl Clone for Instructions",synthetic:false,types:["parity_wasm::elements::ops::Instructions"]},{text:"impl Clone for InitExpr",synthetic:false,types:["parity_wasm::elements::ops::InitExpr"]},{text:"impl Clone for Instruction",synthetic:false,types:["parity_wasm::elements::ops::Instruction"]},{text:"impl Clone for Func",synthetic:false,types:["parity_wasm::elements::func::Func"]},{text:"impl Clone for Local",synthetic:false,types:["parity_wasm::elements::func::Local"]},{text:"impl Clone for FuncBody",synthetic:false,types:["parity_wasm::elements::func::FuncBody"]},{text:"impl Clone for ElementSegment",synthetic:false,types:["parity_wasm::elements::segment::ElementSegment"]},{text:"impl Clone for DataSegment",synthetic:false,types:["parity_wasm::elements::segment::DataSegment"]},{text:"impl<T: Clone> Clone for IndexMap<T>",synthetic:false,types:["parity_wasm::elements::index_map::IndexMap"]},{text:"impl Clone for NameSection",synthetic:false,types:["parity_wasm::elements::name_section::NameSection"]},{text:"impl Clone for ModuleNameSection",synthetic:false,types:["parity_wasm::elements::name_section::ModuleNameSection"]},{text:"impl Clone for FunctionNameSection",synthetic:false,types:["parity_wasm::elements::name_section::FunctionNameSection"]},{text:"impl Clone for LocalNameSection",synthetic:false,types:["parity_wasm::elements::name_section::LocalNameSection"]},{text:"impl Clone for RelocSection",synthetic:false,types:["parity_wasm::elements::reloc_section::RelocSection"]},{text:"impl Clone for RelocationEntry",synthetic:false,types:["parity_wasm::elements::reloc_section::RelocationEntry"]},{text:"impl Clone for Error",synthetic:false,types:["parity_wasm::elements::Error"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/cmp/trait.Eq.js b/implementors/core/cmp/trait.Eq.js new file mode 100644 index 0000000..2bcdafc --- /dev/null +++ b/implementors/core/cmp/trait.Eq.js @@ -0,0 +1,11 @@ +(function() {var implementors = {}; +implementors["byteorder"] = [{text:"impl Eq for BigEndian",synthetic:false,types:["byteorder::BigEndian"]},{text:"impl Eq for LittleEndian",synthetic:false,types:["byteorder::LittleEndian"]},]; +implementors["parity_wasm"] = [{text:"impl<T: Eq> Eq for IndexMap<T>",synthetic:false,types:["parity_wasm::elements::index_map::IndexMap"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/cmp/trait.Ord.js b/implementors/core/cmp/trait.Ord.js new file mode 100644 index 0000000..eaf11df --- /dev/null +++ b/implementors/core/cmp/trait.Ord.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["byteorder"] = [{text:"impl Ord for BigEndian",synthetic:false,types:["byteorder::BigEndian"]},{text:"impl Ord for LittleEndian",synthetic:false,types:["byteorder::LittleEndian"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js new file mode 100644 index 0000000..22605d7 --- /dev/null +++ b/implementors/core/cmp/trait.PartialEq.js @@ -0,0 +1,11 @@ +(function() {var implementors = {}; +implementors["byteorder"] = [{text:"impl PartialEq for BigEndian",synthetic:false,types:["byteorder::BigEndian"]},{text:"impl PartialEq for LittleEndian",synthetic:false,types:["byteorder::LittleEndian"]},]; +implementors["parity_wasm"] = [{text:"impl PartialEq for VarUint32",synthetic:false,types:["parity_wasm::elements::primitives::VarUint32"]},{text:"impl PartialEq for VarUint64",synthetic:false,types:["parity_wasm::elements::primitives::VarUint64"]},{text:"impl PartialEq for VarUint7",synthetic:false,types:["parity_wasm::elements::primitives::VarUint7"]},{text:"impl PartialEq for VarInt7",synthetic:false,types:["parity_wasm::elements::primitives::VarInt7"]},{text:"impl PartialEq for Uint8",synthetic:false,types:["parity_wasm::elements::primitives::Uint8"]},{text:"impl PartialEq for VarInt32",synthetic:false,types:["parity_wasm::elements::primitives::VarInt32"]},{text:"impl PartialEq for VarInt64",synthetic:false,types:["parity_wasm::elements::primitives::VarInt64"]},{text:"impl PartialEq for Uint32",synthetic:false,types:["parity_wasm::elements::primitives::Uint32"]},{text:"impl PartialEq for Uint64",synthetic:false,types:["parity_wasm::elements::primitives::Uint64"]},{text:"impl PartialEq for VarUint1",synthetic:false,types:["parity_wasm::elements::primitives::VarUint1"]},{text:"impl PartialEq for Module",synthetic:false,types:["parity_wasm::elements::module::Module"]},{text:"impl PartialEq for ImportCountType",synthetic:false,types:["parity_wasm::elements::module::ImportCountType"]},{text:"impl PartialEq for Section",synthetic:false,types:["parity_wasm::elements::section::Section"]},{text:"impl PartialEq for CustomSection",synthetic:false,types:["parity_wasm::elements::section::CustomSection"]},{text:"impl PartialEq for TypeSection",synthetic:false,types:["parity_wasm::elements::section::TypeSection"]},{text:"impl PartialEq for ImportSection",synthetic:false,types:["parity_wasm::elements::section::ImportSection"]},{text:"impl PartialEq for FunctionSection",synthetic:false,types:["parity_wasm::elements::section::FunctionSection"]},{text:"impl PartialEq for TableSection",synthetic:false,types:["parity_wasm::elements::section::TableSection"]},{text:"impl PartialEq for MemorySection",synthetic:false,types:["parity_wasm::elements::section::MemorySection"]},{text:"impl PartialEq for GlobalSection",synthetic:false,types:["parity_wasm::elements::section::GlobalSection"]},{text:"impl PartialEq for ExportSection",synthetic:false,types:["parity_wasm::elements::section::ExportSection"]},{text:"impl PartialEq for CodeSection",synthetic:false,types:["parity_wasm::elements::section::CodeSection"]},{text:"impl PartialEq for ElementSection",synthetic:false,types:["parity_wasm::elements::section::ElementSection"]},{text:"impl PartialEq for DataSection",synthetic:false,types:["parity_wasm::elements::section::DataSection"]},{text:"impl PartialEq for Type",synthetic:false,types:["parity_wasm::elements::types::Type"]},{text:"impl PartialEq for ValueType",synthetic:false,types:["parity_wasm::elements::types::ValueType"]},{text:"impl PartialEq for BlockType",synthetic:false,types:["parity_wasm::elements::types::BlockType"]},{text:"impl PartialEq for FunctionType",synthetic:false,types:["parity_wasm::elements::types::FunctionType"]},{text:"impl PartialEq for TableElementType",synthetic:false,types:["parity_wasm::elements::types::TableElementType"]},{text:"impl PartialEq for GlobalType",synthetic:false,types:["parity_wasm::elements::import_entry::GlobalType"]},{text:"impl PartialEq for TableType",synthetic:false,types:["parity_wasm::elements::import_entry::TableType"]},{text:"impl PartialEq for ResizableLimits",synthetic:false,types:["parity_wasm::elements::import_entry::ResizableLimits"]},{text:"impl PartialEq for MemoryType",synthetic:false,types:["parity_wasm::elements::import_entry::MemoryType"]},{text:"impl PartialEq for External",synthetic:false,types:["parity_wasm::elements::import_entry::External"]},{text:"impl PartialEq for ImportEntry",synthetic:false,types:["parity_wasm::elements::import_entry::ImportEntry"]},{text:"impl PartialEq for Internal",synthetic:false,types:["parity_wasm::elements::export_entry::Internal"]},{text:"impl PartialEq for ExportEntry",synthetic:false,types:["parity_wasm::elements::export_entry::ExportEntry"]},{text:"impl PartialEq for GlobalEntry",synthetic:false,types:["parity_wasm::elements::global_entry::GlobalEntry"]},{text:"impl PartialEq for Instructions",synthetic:false,types:["parity_wasm::elements::ops::Instructions"]},{text:"impl PartialEq for InitExpr",synthetic:false,types:["parity_wasm::elements::ops::InitExpr"]},{text:"impl PartialEq for Instruction",synthetic:false,types:["parity_wasm::elements::ops::Instruction"]},{text:"impl PartialEq for Func",synthetic:false,types:["parity_wasm::elements::func::Func"]},{text:"impl PartialEq for Local",synthetic:false,types:["parity_wasm::elements::func::Local"]},{text:"impl PartialEq for FuncBody",synthetic:false,types:["parity_wasm::elements::func::FuncBody"]},{text:"impl PartialEq for ElementSegment",synthetic:false,types:["parity_wasm::elements::segment::ElementSegment"]},{text:"impl PartialEq for DataSegment",synthetic:false,types:["parity_wasm::elements::segment::DataSegment"]},{text:"impl<T: PartialEq> PartialEq<IndexMap<T>> for IndexMap<T>",synthetic:false,types:["parity_wasm::elements::index_map::IndexMap"]},{text:"impl PartialEq for NameSection",synthetic:false,types:["parity_wasm::elements::name_section::NameSection"]},{text:"impl PartialEq for ModuleNameSection",synthetic:false,types:["parity_wasm::elements::name_section::ModuleNameSection"]},{text:"impl PartialEq for FunctionNameSection",synthetic:false,types:["parity_wasm::elements::name_section::FunctionNameSection"]},{text:"impl PartialEq for LocalNameSection",synthetic:false,types:["parity_wasm::elements::name_section::LocalNameSection"]},{text:"impl PartialEq for RelocSection",synthetic:false,types:["parity_wasm::elements::reloc_section::RelocSection"]},{text:"impl PartialEq for RelocationEntry",synthetic:false,types:["parity_wasm::elements::reloc_section::RelocationEntry"]},{text:"impl PartialEq for TableDefinition",synthetic:false,types:["parity_wasm::builder::table::TableDefinition"]},{text:"impl PartialEq for TableEntryDefinition",synthetic:false,types:["parity_wasm::builder::table::TableEntryDefinition"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/cmp/trait.PartialOrd.js b/implementors/core/cmp/trait.PartialOrd.js new file mode 100644 index 0000000..8c39b21 --- /dev/null +++ b/implementors/core/cmp/trait.PartialOrd.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["byteorder"] = [{text:"impl PartialOrd for BigEndian",synthetic:false,types:["byteorder::BigEndian"]},{text:"impl PartialOrd for LittleEndian",synthetic:false,types:["byteorder::LittleEndian"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js new file mode 100644 index 0000000..975334a --- /dev/null +++ b/implementors/core/convert/trait.From.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["parity_wasm"] = [{text:"impl From<VarUint32> for usize",synthetic:false,types:[]},{text:"impl From<VarUint32> for u32",synthetic:false,types:[]},{text:"impl From<u32> for VarUint32",synthetic:false,types:["parity_wasm::elements::primitives::VarUint32"]},{text:"impl From<usize> for VarUint32",synthetic:false,types:["parity_wasm::elements::primitives::VarUint32"]},{text:"impl From<VarUint64> for u64",synthetic:false,types:[]},{text:"impl From<u64> for VarUint64",synthetic:false,types:["parity_wasm::elements::primitives::VarUint64"]},{text:"impl From<VarUint7> for u8",synthetic:false,types:[]},{text:"impl From<u8> for VarUint7",synthetic:false,types:["parity_wasm::elements::primitives::VarUint7"]},{text:"impl From<VarInt7> for i8",synthetic:false,types:[]},{text:"impl From<i8> for VarInt7",synthetic:false,types:["parity_wasm::elements::primitives::VarInt7"]},{text:"impl From<Uint8> for u8",synthetic:false,types:[]},{text:"impl From<u8> for Uint8",synthetic:false,types:["parity_wasm::elements::primitives::Uint8"]},{text:"impl From<VarInt32> for i32",synthetic:false,types:[]},{text:"impl From<i32> for VarInt32",synthetic:false,types:["parity_wasm::elements::primitives::VarInt32"]},{text:"impl From<VarInt64> for i64",synthetic:false,types:[]},{text:"impl From<i64> for VarInt64",synthetic:false,types:["parity_wasm::elements::primitives::VarInt64"]},{text:"impl From<Uint32> for u32",synthetic:false,types:[]},{text:"impl From<u32> for Uint32",synthetic:false,types:["parity_wasm::elements::primitives::Uint32"]},{text:"impl From<u64> for Uint64",synthetic:false,types:["parity_wasm::elements::primitives::Uint64"]},{text:"impl From<Uint64> for u64",synthetic:false,types:[]},{text:"impl From<VarUint1> for bool",synthetic:false,types:[]},{text:"impl From<bool> for VarUint1",synthetic:false,types:["parity_wasm::elements::primitives::VarUint1"]},{text:"impl From<Unparsed> for Vec<u8>",synthetic:false,types:["alloc::vec::Vec"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js new file mode 100644 index 0000000..ad469b6 --- /dev/null +++ b/implementors/core/default/trait.Default.js @@ -0,0 +1,11 @@ +(function() {var implementors = {}; +implementors["byteorder"] = [{text:"impl Default for BigEndian",synthetic:false,types:["byteorder::BigEndian"]},{text:"impl Default for LittleEndian",synthetic:false,types:["byteorder::LittleEndian"]},]; +implementors["parity_wasm"] = [{text:"impl Default for Module",synthetic:false,types:["parity_wasm::elements::module::Module"]},{text:"impl Default for CustomSection",synthetic:false,types:["parity_wasm::elements::section::CustomSection"]},{text:"impl Default for TypeSection",synthetic:false,types:["parity_wasm::elements::section::TypeSection"]},{text:"impl Default for ImportSection",synthetic:false,types:["parity_wasm::elements::section::ImportSection"]},{text:"impl Default for FunctionSection",synthetic:false,types:["parity_wasm::elements::section::FunctionSection"]},{text:"impl Default for TableSection",synthetic:false,types:["parity_wasm::elements::section::TableSection"]},{text:"impl Default for MemorySection",synthetic:false,types:["parity_wasm::elements::section::MemorySection"]},{text:"impl Default for GlobalSection",synthetic:false,types:["parity_wasm::elements::section::GlobalSection"]},{text:"impl Default for ExportSection",synthetic:false,types:["parity_wasm::elements::section::ExportSection"]},{text:"impl Default for CodeSection",synthetic:false,types:["parity_wasm::elements::section::CodeSection"]},{text:"impl Default for ElementSection",synthetic:false,types:["parity_wasm::elements::section::ElementSection"]},{text:"impl Default for DataSection",synthetic:false,types:["parity_wasm::elements::section::DataSection"]},{text:"impl Default for FunctionType",synthetic:false,types:["parity_wasm::elements::types::FunctionType"]},{text:"impl<T: Default> Default for IndexMap<T>",synthetic:false,types:["parity_wasm::elements::index_map::IndexMap"]},{text:"impl Default for FunctionNameSection",synthetic:false,types:["parity_wasm::elements::name_section::FunctionNameSection"]},{text:"impl Default for LocalNameSection",synthetic:false,types:["parity_wasm::elements::name_section::LocalNameSection"]},{text:"impl Default for FunctionDefinition",synthetic:false,types:["parity_wasm::builder::code::FunctionDefinition"]},{text:"impl Default for TableDefinition",synthetic:false,types:["parity_wasm::builder::table::TableDefinition"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js new file mode 100644 index 0000000..2e93264 --- /dev/null +++ b/implementors/core/fmt/trait.Debug.js @@ -0,0 +1,11 @@ +(function() {var implementors = {}; +implementors["byteorder"] = [{text:"impl Debug for BigEndian",synthetic:false,types:["byteorder::BigEndian"]},{text:"impl Debug for LittleEndian",synthetic:false,types:["byteorder::LittleEndian"]},]; +implementors["parity_wasm"] = [{text:"impl Debug for VarUint32",synthetic:false,types:["parity_wasm::elements::primitives::VarUint32"]},{text:"impl Debug for VarUint64",synthetic:false,types:["parity_wasm::elements::primitives::VarUint64"]},{text:"impl Debug for VarUint7",synthetic:false,types:["parity_wasm::elements::primitives::VarUint7"]},{text:"impl Debug for VarInt7",synthetic:false,types:["parity_wasm::elements::primitives::VarInt7"]},{text:"impl Debug for Uint8",synthetic:false,types:["parity_wasm::elements::primitives::Uint8"]},{text:"impl Debug for VarInt32",synthetic:false,types:["parity_wasm::elements::primitives::VarInt32"]},{text:"impl Debug for VarInt64",synthetic:false,types:["parity_wasm::elements::primitives::VarInt64"]},{text:"impl Debug for Uint32",synthetic:false,types:["parity_wasm::elements::primitives::Uint32"]},{text:"impl Debug for Uint64",synthetic:false,types:["parity_wasm::elements::primitives::Uint64"]},{text:"impl Debug for VarUint1",synthetic:false,types:["parity_wasm::elements::primitives::VarUint1"]},{text:"impl<T: Debug + Deserialize> Debug for CountedList<T>",synthetic:false,types:["parity_wasm::elements::primitives::CountedList"]},{text:"impl<'a, W: Debug + 'a + Write> Debug for CountedWriter<'a, W>",synthetic:false,types:["parity_wasm::elements::primitives::CountedWriter"]},{text:"impl<I: Debug + Serialize<Error = Error>, T: Debug + IntoIterator<Item = I>> Debug for CountedListWriter<I, T>",synthetic:false,types:["parity_wasm::elements::primitives::CountedListWriter"]},{text:"impl Debug for Module",synthetic:false,types:["parity_wasm::elements::module::Module"]},{text:"impl Debug for ImportCountType",synthetic:false,types:["parity_wasm::elements::module::ImportCountType"]},{text:"impl Debug for Section",synthetic:false,types:["parity_wasm::elements::section::Section"]},{text:"impl Debug for CustomSection",synthetic:false,types:["parity_wasm::elements::section::CustomSection"]},{text:"impl Debug for TypeSection",synthetic:false,types:["parity_wasm::elements::section::TypeSection"]},{text:"impl Debug for ImportSection",synthetic:false,types:["parity_wasm::elements::section::ImportSection"]},{text:"impl Debug for FunctionSection",synthetic:false,types:["parity_wasm::elements::section::FunctionSection"]},{text:"impl Debug for TableSection",synthetic:false,types:["parity_wasm::elements::section::TableSection"]},{text:"impl Debug for MemorySection",synthetic:false,types:["parity_wasm::elements::section::MemorySection"]},{text:"impl Debug for GlobalSection",synthetic:false,types:["parity_wasm::elements::section::GlobalSection"]},{text:"impl Debug for ExportSection",synthetic:false,types:["parity_wasm::elements::section::ExportSection"]},{text:"impl Debug for CodeSection",synthetic:false,types:["parity_wasm::elements::section::CodeSection"]},{text:"impl Debug for ElementSection",synthetic:false,types:["parity_wasm::elements::section::ElementSection"]},{text:"impl Debug for DataSection",synthetic:false,types:["parity_wasm::elements::section::DataSection"]},{text:"impl Debug for Type",synthetic:false,types:["parity_wasm::elements::types::Type"]},{text:"impl Debug for ValueType",synthetic:false,types:["parity_wasm::elements::types::ValueType"]},{text:"impl Debug for BlockType",synthetic:false,types:["parity_wasm::elements::types::BlockType"]},{text:"impl Debug for FunctionType",synthetic:false,types:["parity_wasm::elements::types::FunctionType"]},{text:"impl Debug for TableElementType",synthetic:false,types:["parity_wasm::elements::types::TableElementType"]},{text:"impl Debug for GlobalType",synthetic:false,types:["parity_wasm::elements::import_entry::GlobalType"]},{text:"impl Debug for TableType",synthetic:false,types:["parity_wasm::elements::import_entry::TableType"]},{text:"impl Debug for ResizableLimits",synthetic:false,types:["parity_wasm::elements::import_entry::ResizableLimits"]},{text:"impl Debug for MemoryType",synthetic:false,types:["parity_wasm::elements::import_entry::MemoryType"]},{text:"impl Debug for External",synthetic:false,types:["parity_wasm::elements::import_entry::External"]},{text:"impl Debug for ImportEntry",synthetic:false,types:["parity_wasm::elements::import_entry::ImportEntry"]},{text:"impl Debug for Internal",synthetic:false,types:["parity_wasm::elements::export_entry::Internal"]},{text:"impl Debug for ExportEntry",synthetic:false,types:["parity_wasm::elements::export_entry::ExportEntry"]},{text:"impl Debug for GlobalEntry",synthetic:false,types:["parity_wasm::elements::global_entry::GlobalEntry"]},{text:"impl Debug for Instructions",synthetic:false,types:["parity_wasm::elements::ops::Instructions"]},{text:"impl Debug for InitExpr",synthetic:false,types:["parity_wasm::elements::ops::InitExpr"]},{text:"impl Debug for Instruction",synthetic:false,types:["parity_wasm::elements::ops::Instruction"]},{text:"impl Debug for Func",synthetic:false,types:["parity_wasm::elements::func::Func"]},{text:"impl Debug for Local",synthetic:false,types:["parity_wasm::elements::func::Local"]},{text:"impl Debug for FuncBody",synthetic:false,types:["parity_wasm::elements::func::FuncBody"]},{text:"impl Debug for ElementSegment",synthetic:false,types:["parity_wasm::elements::segment::ElementSegment"]},{text:"impl Debug for DataSegment",synthetic:false,types:["parity_wasm::elements::segment::DataSegment"]},{text:"impl<T: Debug> Debug for IndexMap<T>",synthetic:false,types:["parity_wasm::elements::index_map::IndexMap"]},{text:"impl Debug for NameSection",synthetic:false,types:["parity_wasm::elements::name_section::NameSection"]},{text:"impl Debug for ModuleNameSection",synthetic:false,types:["parity_wasm::elements::name_section::ModuleNameSection"]},{text:"impl Debug for FunctionNameSection",synthetic:false,types:["parity_wasm::elements::name_section::FunctionNameSection"]},{text:"impl Debug for LocalNameSection",synthetic:false,types:["parity_wasm::elements::name_section::LocalNameSection"]},{text:"impl Debug for RelocSection",synthetic:false,types:["parity_wasm::elements::reloc_section::RelocSection"]},{text:"impl Debug for RelocationEntry",synthetic:false,types:["parity_wasm::elements::reloc_section::RelocationEntry"]},{text:"impl Debug for Error",synthetic:false,types:["parity_wasm::elements::Error"]},{text:"impl Debug for TableDefinition",synthetic:false,types:["parity_wasm::builder::table::TableDefinition"]},{text:"impl Debug for TableEntryDefinition",synthetic:false,types:["parity_wasm::builder::table::TableEntryDefinition"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js new file mode 100644 index 0000000..cb993eb --- /dev/null +++ b/implementors/core/fmt/trait.Display.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["parity_wasm"] = [{text:"impl Display for ValueType",synthetic:false,types:["parity_wasm::elements::types::ValueType"]},{text:"impl Display for Instruction",synthetic:false,types:["parity_wasm::elements::ops::Instruction"]},{text:"impl Display for Error",synthetic:false,types:["parity_wasm::elements::Error"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/hash/trait.Hash.js b/implementors/core/hash/trait.Hash.js new file mode 100644 index 0000000..2958d85 --- /dev/null +++ b/implementors/core/hash/trait.Hash.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["byteorder"] = [{text:"impl Hash for BigEndian",synthetic:false,types:["byteorder::BigEndian"]},{text:"impl Hash for LittleEndian",synthetic:false,types:["byteorder::LittleEndian"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/iter/traits/trait.FromIterator.js b/implementors/core/iter/traits/trait.FromIterator.js new file mode 100644 index 0000000..a6d71b0 --- /dev/null +++ b/implementors/core/iter/traits/trait.FromIterator.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["parity_wasm"] = [{text:"impl<T> FromIterator<(u32, T)> for IndexMap<T>",synthetic:false,types:["parity_wasm::elements::index_map::IndexMap"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/iter/traits/trait.IntoIterator.js b/implementors/core/iter/traits/trait.IntoIterator.js new file mode 100644 index 0000000..1d54c25 --- /dev/null +++ b/implementors/core/iter/traits/trait.IntoIterator.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["parity_wasm"] = [{text:"impl<T> IntoIterator for IndexMap<T>",synthetic:false,types:["parity_wasm::elements::index_map::IndexMap"]},{text:"impl<'a, T: 'static> IntoIterator for &'a IndexMap<T>",synthetic:false,types:["parity_wasm::elements::index_map::IndexMap"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/marker/trait.Copy.js b/implementors/core/marker/trait.Copy.js new file mode 100644 index 0000000..5fbc85a --- /dev/null +++ b/implementors/core/marker/trait.Copy.js @@ -0,0 +1,11 @@ +(function() {var implementors = {}; +implementors["byteorder"] = [{text:"impl Copy for BigEndian",synthetic:false,types:["byteorder::BigEndian"]},{text:"impl Copy for LittleEndian",synthetic:false,types:["byteorder::LittleEndian"]},]; +implementors["parity_wasm"] = [{text:"impl Copy for VarUint32",synthetic:false,types:["parity_wasm::elements::primitives::VarUint32"]},{text:"impl Copy for VarUint64",synthetic:false,types:["parity_wasm::elements::primitives::VarUint64"]},{text:"impl Copy for VarUint7",synthetic:false,types:["parity_wasm::elements::primitives::VarUint7"]},{text:"impl Copy for VarInt7",synthetic:false,types:["parity_wasm::elements::primitives::VarInt7"]},{text:"impl Copy for Uint8",synthetic:false,types:["parity_wasm::elements::primitives::Uint8"]},{text:"impl Copy for VarInt32",synthetic:false,types:["parity_wasm::elements::primitives::VarInt32"]},{text:"impl Copy for VarInt64",synthetic:false,types:["parity_wasm::elements::primitives::VarInt64"]},{text:"impl Copy for Uint32",synthetic:false,types:["parity_wasm::elements::primitives::Uint32"]},{text:"impl Copy for Uint64",synthetic:false,types:["parity_wasm::elements::primitives::Uint64"]},{text:"impl Copy for VarUint1",synthetic:false,types:["parity_wasm::elements::primitives::VarUint1"]},{text:"impl Copy for ImportCountType",synthetic:false,types:["parity_wasm::elements::module::ImportCountType"]},{text:"impl Copy for ValueType",synthetic:false,types:["parity_wasm::elements::types::ValueType"]},{text:"impl Copy for BlockType",synthetic:false,types:["parity_wasm::elements::types::BlockType"]},{text:"impl Copy for TableElementType",synthetic:false,types:["parity_wasm::elements::types::TableElementType"]},{text:"impl Copy for GlobalType",synthetic:false,types:["parity_wasm::elements::import_entry::GlobalType"]},{text:"impl Copy for TableType",synthetic:false,types:["parity_wasm::elements::import_entry::TableType"]},{text:"impl Copy for ResizableLimits",synthetic:false,types:["parity_wasm::elements::import_entry::ResizableLimits"]},{text:"impl Copy for MemoryType",synthetic:false,types:["parity_wasm::elements::import_entry::MemoryType"]},{text:"impl Copy for External",synthetic:false,types:["parity_wasm::elements::import_entry::External"]},{text:"impl Copy for Internal",synthetic:false,types:["parity_wasm::elements::export_entry::Internal"]},{text:"impl Copy for Func",synthetic:false,types:["parity_wasm::elements::func::Func"]},{text:"impl Copy for Local",synthetic:false,types:["parity_wasm::elements::func::Local"]},{text:"impl Copy for RelocationEntry",synthetic:false,types:["parity_wasm::elements::reloc_section::RelocationEntry"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js new file mode 100644 index 0000000..9676e56 --- /dev/null +++ b/implementors/core/marker/trait.Send.js @@ -0,0 +1,11 @@ +(function() {var implementors = {}; +implementors["byteorder"] = [{text:"impl Send for BigEndian",synthetic:true,types:["byteorder::BigEndian"]},{text:"impl Send for LittleEndian",synthetic:true,types:["byteorder::LittleEndian"]},]; +implementors["parity_wasm"] = [{text:"impl Send for Module",synthetic:true,types:["parity_wasm::elements::module::Module"]},{text:"impl Send for FunctionSection",synthetic:true,types:["parity_wasm::elements::section::FunctionSection"]},{text:"impl Send for CodeSection",synthetic:true,types:["parity_wasm::elements::section::CodeSection"]},{text:"impl Send for MemorySection",synthetic:true,types:["parity_wasm::elements::section::MemorySection"]},{text:"impl Send for DataSection",synthetic:true,types:["parity_wasm::elements::section::DataSection"]},{text:"impl Send for ImportSection",synthetic:true,types:["parity_wasm::elements::section::ImportSection"]},{text:"impl Send for ExportSection",synthetic:true,types:["parity_wasm::elements::section::ExportSection"]},{text:"impl Send for GlobalSection",synthetic:true,types:["parity_wasm::elements::section::GlobalSection"]},{text:"impl Send for TypeSection",synthetic:true,types:["parity_wasm::elements::section::TypeSection"]},{text:"impl Send for ElementSection",synthetic:true,types:["parity_wasm::elements::section::ElementSection"]},{text:"impl Send for TableSection",synthetic:true,types:["parity_wasm::elements::section::TableSection"]},{text:"impl Send for CustomSection",synthetic:true,types:["parity_wasm::elements::section::CustomSection"]},{text:"impl Send for ImportEntry",synthetic:true,types:["parity_wasm::elements::import_entry::ImportEntry"]},{text:"impl Send for ResizableLimits",synthetic:true,types:["parity_wasm::elements::import_entry::ResizableLimits"]},{text:"impl Send for MemoryType",synthetic:true,types:["parity_wasm::elements::import_entry::MemoryType"]},{text:"impl Send for TableType",synthetic:true,types:["parity_wasm::elements::import_entry::TableType"]},{text:"impl Send for GlobalType",synthetic:true,types:["parity_wasm::elements::import_entry::GlobalType"]},{text:"impl Send for ExportEntry",synthetic:true,types:["parity_wasm::elements::export_entry::ExportEntry"]},{text:"impl Send for GlobalEntry",synthetic:true,types:["parity_wasm::elements::global_entry::GlobalEntry"]},{text:"impl Send for VarUint32",synthetic:true,types:["parity_wasm::elements::primitives::VarUint32"]},{text:"impl Send for VarUint7",synthetic:true,types:["parity_wasm::elements::primitives::VarUint7"]},{text:"impl Send for Uint8",synthetic:true,types:["parity_wasm::elements::primitives::Uint8"]},{text:"impl Send for VarUint1",synthetic:true,types:["parity_wasm::elements::primitives::VarUint1"]},{text:"impl Send for VarInt7",synthetic:true,types:["parity_wasm::elements::primitives::VarInt7"]},{text:"impl Send for Uint32",synthetic:true,types:["parity_wasm::elements::primitives::Uint32"]},{text:"impl Send for VarInt32",synthetic:true,types:["parity_wasm::elements::primitives::VarInt32"]},{text:"impl Send for VarInt64",synthetic:true,types:["parity_wasm::elements::primitives::VarInt64"]},{text:"impl Send for Uint64",synthetic:true,types:["parity_wasm::elements::primitives::Uint64"]},{text:"impl Send for VarUint64",synthetic:true,types:["parity_wasm::elements::primitives::VarUint64"]},{text:"impl<T> Send for CountedList<T> where
    T: Send
",synthetic:true,types:["parity_wasm::elements::primitives::CountedList"]},{text:"impl<'a, W> Send for CountedWriter<'a, W> where
    W: Send
",synthetic:true,types:["parity_wasm::elements::primitives::CountedWriter"]},{text:"impl<I, T> Send for CountedListWriter<I, T> where
    T: Send
",synthetic:true,types:["parity_wasm::elements::primitives::CountedListWriter"]},{text:"impl Send for FunctionType",synthetic:true,types:["parity_wasm::elements::types::FunctionType"]},{text:"impl Send for Instructions",synthetic:true,types:["parity_wasm::elements::ops::Instructions"]},{text:"impl Send for InitExpr",synthetic:true,types:["parity_wasm::elements::ops::InitExpr"]},{text:"impl Send for Func",synthetic:true,types:["parity_wasm::elements::func::Func"]},{text:"impl Send for FuncBody",synthetic:true,types:["parity_wasm::elements::func::FuncBody"]},{text:"impl Send for Local",synthetic:true,types:["parity_wasm::elements::func::Local"]},{text:"impl Send for ElementSegment",synthetic:true,types:["parity_wasm::elements::segment::ElementSegment"]},{text:"impl Send for DataSegment",synthetic:true,types:["parity_wasm::elements::segment::DataSegment"]},{text:"impl<T> Send for IndexMap<T> where
    T: Send
",synthetic:true,types:["parity_wasm::elements::index_map::IndexMap"]},{text:"impl Send for ModuleNameSection",synthetic:true,types:["parity_wasm::elements::name_section::ModuleNameSection"]},{text:"impl Send for FunctionNameSection",synthetic:true,types:["parity_wasm::elements::name_section::FunctionNameSection"]},{text:"impl Send for LocalNameSection",synthetic:true,types:["parity_wasm::elements::name_section::LocalNameSection"]},{text:"impl Send for RelocSection",synthetic:true,types:["parity_wasm::elements::reloc_section::RelocSection"]},{text:"impl Send for Unparsed",synthetic:true,types:["parity_wasm::elements::Unparsed"]},{text:"impl Send for ImportCountType",synthetic:true,types:["parity_wasm::elements::module::ImportCountType"]},{text:"impl Send for Section",synthetic:true,types:["parity_wasm::elements::section::Section"]},{text:"impl Send for External",synthetic:true,types:["parity_wasm::elements::import_entry::External"]},{text:"impl Send for Internal",synthetic:true,types:["parity_wasm::elements::export_entry::Internal"]},{text:"impl Send for Type",synthetic:true,types:["parity_wasm::elements::types::Type"]},{text:"impl Send for ValueType",synthetic:true,types:["parity_wasm::elements::types::ValueType"]},{text:"impl Send for BlockType",synthetic:true,types:["parity_wasm::elements::types::BlockType"]},{text:"impl Send for TableElementType",synthetic:true,types:["parity_wasm::elements::types::TableElementType"]},{text:"impl Send for Instruction",synthetic:true,types:["parity_wasm::elements::ops::Instruction"]},{text:"impl Send for NameSection",synthetic:true,types:["parity_wasm::elements::name_section::NameSection"]},{text:"impl Send for RelocationEntry",synthetic:true,types:["parity_wasm::elements::reloc_section::RelocationEntry"]},{text:"impl Send for Error",synthetic:true,types:["parity_wasm::elements::Error"]},{text:"impl<F> Send for SignatureBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::code::SignatureBuilder"]},{text:"impl<F> Send for SignaturesBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::code::SignaturesBuilder"]},{text:"impl<F> Send for FunctionBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::code::FunctionBuilder"]},{text:"impl<F> Send for TypeRefBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::code::TypeRefBuilder"]},{text:"impl<F> Send for FuncBodyBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::code::FuncBodyBuilder"]},{text:"impl Send for FunctionDefinition",synthetic:true,types:["parity_wasm::builder::code::FunctionDefinition"]},{text:"impl<F> Send for DataSegmentBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::data::DataSegmentBuilder"]},{text:"impl<F> Send for ExportBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::export::ExportBuilder"]},{text:"impl<F> Send for ExportInternalBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::export::ExportInternalBuilder"]},{text:"impl<F> Send for GlobalBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::global::GlobalBuilder"]},{text:"impl<F> Send for ImportBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::import::ImportBuilder"]},{text:"impl Send for Identity",synthetic:true,types:["parity_wasm::builder::invoke::Identity"]},{text:"impl<F> Send for MemoryBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::memory::MemoryBuilder"]},{text:"impl<F> Send for ModuleBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::module::ModuleBuilder"]},{text:"impl<F> Send for TableBuilder<F> where
    F: Send
",synthetic:true,types:["parity_wasm::builder::table::TableBuilder"]},{text:"impl Send for TableDefinition",synthetic:true,types:["parity_wasm::builder::table::TableDefinition"]},{text:"impl Send for TableEntryDefinition",synthetic:true,types:["parity_wasm::builder::table::TableEntryDefinition"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js new file mode 100644 index 0000000..6672252 --- /dev/null +++ b/implementors/core/marker/trait.Sync.js @@ -0,0 +1,11 @@ +(function() {var implementors = {}; +implementors["byteorder"] = [{text:"impl Sync for BigEndian",synthetic:true,types:["byteorder::BigEndian"]},{text:"impl Sync for LittleEndian",synthetic:true,types:["byteorder::LittleEndian"]},]; +implementors["parity_wasm"] = [{text:"impl Sync for Module",synthetic:true,types:["parity_wasm::elements::module::Module"]},{text:"impl Sync for FunctionSection",synthetic:true,types:["parity_wasm::elements::section::FunctionSection"]},{text:"impl Sync for CodeSection",synthetic:true,types:["parity_wasm::elements::section::CodeSection"]},{text:"impl Sync for MemorySection",synthetic:true,types:["parity_wasm::elements::section::MemorySection"]},{text:"impl Sync for DataSection",synthetic:true,types:["parity_wasm::elements::section::DataSection"]},{text:"impl Sync for ImportSection",synthetic:true,types:["parity_wasm::elements::section::ImportSection"]},{text:"impl Sync for ExportSection",synthetic:true,types:["parity_wasm::elements::section::ExportSection"]},{text:"impl Sync for GlobalSection",synthetic:true,types:["parity_wasm::elements::section::GlobalSection"]},{text:"impl Sync for TypeSection",synthetic:true,types:["parity_wasm::elements::section::TypeSection"]},{text:"impl Sync for ElementSection",synthetic:true,types:["parity_wasm::elements::section::ElementSection"]},{text:"impl Sync for TableSection",synthetic:true,types:["parity_wasm::elements::section::TableSection"]},{text:"impl Sync for CustomSection",synthetic:true,types:["parity_wasm::elements::section::CustomSection"]},{text:"impl Sync for ImportEntry",synthetic:true,types:["parity_wasm::elements::import_entry::ImportEntry"]},{text:"impl Sync for ResizableLimits",synthetic:true,types:["parity_wasm::elements::import_entry::ResizableLimits"]},{text:"impl Sync for MemoryType",synthetic:true,types:["parity_wasm::elements::import_entry::MemoryType"]},{text:"impl Sync for TableType",synthetic:true,types:["parity_wasm::elements::import_entry::TableType"]},{text:"impl Sync for GlobalType",synthetic:true,types:["parity_wasm::elements::import_entry::GlobalType"]},{text:"impl Sync for ExportEntry",synthetic:true,types:["parity_wasm::elements::export_entry::ExportEntry"]},{text:"impl Sync for GlobalEntry",synthetic:true,types:["parity_wasm::elements::global_entry::GlobalEntry"]},{text:"impl Sync for VarUint32",synthetic:true,types:["parity_wasm::elements::primitives::VarUint32"]},{text:"impl Sync for VarUint7",synthetic:true,types:["parity_wasm::elements::primitives::VarUint7"]},{text:"impl Sync for Uint8",synthetic:true,types:["parity_wasm::elements::primitives::Uint8"]},{text:"impl Sync for VarUint1",synthetic:true,types:["parity_wasm::elements::primitives::VarUint1"]},{text:"impl Sync for VarInt7",synthetic:true,types:["parity_wasm::elements::primitives::VarInt7"]},{text:"impl Sync for Uint32",synthetic:true,types:["parity_wasm::elements::primitives::Uint32"]},{text:"impl Sync for VarInt32",synthetic:true,types:["parity_wasm::elements::primitives::VarInt32"]},{text:"impl Sync for VarInt64",synthetic:true,types:["parity_wasm::elements::primitives::VarInt64"]},{text:"impl Sync for Uint64",synthetic:true,types:["parity_wasm::elements::primitives::Uint64"]},{text:"impl Sync for VarUint64",synthetic:true,types:["parity_wasm::elements::primitives::VarUint64"]},{text:"impl<T> Sync for CountedList<T> where
    T: Sync
",synthetic:true,types:["parity_wasm::elements::primitives::CountedList"]},{text:"impl<'a, W> Sync for CountedWriter<'a, W> where
    W: Sync
",synthetic:true,types:["parity_wasm::elements::primitives::CountedWriter"]},{text:"impl<I, T> Sync for CountedListWriter<I, T> where
    T: Sync
",synthetic:true,types:["parity_wasm::elements::primitives::CountedListWriter"]},{text:"impl Sync for FunctionType",synthetic:true,types:["parity_wasm::elements::types::FunctionType"]},{text:"impl Sync for Instructions",synthetic:true,types:["parity_wasm::elements::ops::Instructions"]},{text:"impl Sync for InitExpr",synthetic:true,types:["parity_wasm::elements::ops::InitExpr"]},{text:"impl Sync for Func",synthetic:true,types:["parity_wasm::elements::func::Func"]},{text:"impl Sync for FuncBody",synthetic:true,types:["parity_wasm::elements::func::FuncBody"]},{text:"impl Sync for Local",synthetic:true,types:["parity_wasm::elements::func::Local"]},{text:"impl Sync for ElementSegment",synthetic:true,types:["parity_wasm::elements::segment::ElementSegment"]},{text:"impl Sync for DataSegment",synthetic:true,types:["parity_wasm::elements::segment::DataSegment"]},{text:"impl<T> Sync for IndexMap<T> where
    T: Sync
",synthetic:true,types:["parity_wasm::elements::index_map::IndexMap"]},{text:"impl Sync for ModuleNameSection",synthetic:true,types:["parity_wasm::elements::name_section::ModuleNameSection"]},{text:"impl Sync for FunctionNameSection",synthetic:true,types:["parity_wasm::elements::name_section::FunctionNameSection"]},{text:"impl Sync for LocalNameSection",synthetic:true,types:["parity_wasm::elements::name_section::LocalNameSection"]},{text:"impl Sync for RelocSection",synthetic:true,types:["parity_wasm::elements::reloc_section::RelocSection"]},{text:"impl Sync for Unparsed",synthetic:true,types:["parity_wasm::elements::Unparsed"]},{text:"impl Sync for ImportCountType",synthetic:true,types:["parity_wasm::elements::module::ImportCountType"]},{text:"impl Sync for Section",synthetic:true,types:["parity_wasm::elements::section::Section"]},{text:"impl Sync for External",synthetic:true,types:["parity_wasm::elements::import_entry::External"]},{text:"impl Sync for Internal",synthetic:true,types:["parity_wasm::elements::export_entry::Internal"]},{text:"impl Sync for Type",synthetic:true,types:["parity_wasm::elements::types::Type"]},{text:"impl Sync for ValueType",synthetic:true,types:["parity_wasm::elements::types::ValueType"]},{text:"impl Sync for BlockType",synthetic:true,types:["parity_wasm::elements::types::BlockType"]},{text:"impl Sync for TableElementType",synthetic:true,types:["parity_wasm::elements::types::TableElementType"]},{text:"impl Sync for Instruction",synthetic:true,types:["parity_wasm::elements::ops::Instruction"]},{text:"impl Sync for NameSection",synthetic:true,types:["parity_wasm::elements::name_section::NameSection"]},{text:"impl Sync for RelocationEntry",synthetic:true,types:["parity_wasm::elements::reloc_section::RelocationEntry"]},{text:"impl Sync for Error",synthetic:true,types:["parity_wasm::elements::Error"]},{text:"impl<F> Sync for SignatureBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::code::SignatureBuilder"]},{text:"impl<F> Sync for SignaturesBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::code::SignaturesBuilder"]},{text:"impl<F> Sync for FunctionBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::code::FunctionBuilder"]},{text:"impl<F> Sync for TypeRefBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::code::TypeRefBuilder"]},{text:"impl<F> Sync for FuncBodyBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::code::FuncBodyBuilder"]},{text:"impl Sync for FunctionDefinition",synthetic:true,types:["parity_wasm::builder::code::FunctionDefinition"]},{text:"impl<F> Sync for DataSegmentBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::data::DataSegmentBuilder"]},{text:"impl<F> Sync for ExportBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::export::ExportBuilder"]},{text:"impl<F> Sync for ExportInternalBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::export::ExportInternalBuilder"]},{text:"impl<F> Sync for GlobalBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::global::GlobalBuilder"]},{text:"impl<F> Sync for ImportBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::import::ImportBuilder"]},{text:"impl Sync for Identity",synthetic:true,types:["parity_wasm::builder::invoke::Identity"]},{text:"impl<F> Sync for MemoryBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::memory::MemoryBuilder"]},{text:"impl<F> Sync for ModuleBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::module::ModuleBuilder"]},{text:"impl<F> Sync for TableBuilder<F> where
    F: Sync
",synthetic:true,types:["parity_wasm::builder::table::TableBuilder"]},{text:"impl Sync for TableDefinition",synthetic:true,types:["parity_wasm::builder::table::TableDefinition"]},{text:"impl Sync for TableEntryDefinition",synthetic:true,types:["parity_wasm::builder::table::TableEntryDefinition"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/parity_wasm/elements/trait.Deserialize.js b/implementors/parity_wasm/elements/trait.Deserialize.js new file mode 100644 index 0000000..204d057 --- /dev/null +++ b/implementors/parity_wasm/elements/trait.Deserialize.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["parity_wasm"] = []; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/parity_wasm/elements/trait.Serialize.js b/implementors/parity_wasm/elements/trait.Serialize.js new file mode 100644 index 0000000..204d057 --- /dev/null +++ b/implementors/parity_wasm/elements/trait.Serialize.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["parity_wasm"] = []; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/implementors/std/error/trait.Error.js b/implementors/std/error/trait.Error.js new file mode 100644 index 0000000..58877de --- /dev/null +++ b/implementors/std/error/trait.Error.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["parity_wasm"] = [{text:"impl Error for Error",synthetic:false,types:["parity_wasm::elements::Error"]},]; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/index.html b/index.html new file mode 100644 index 0000000..030a7a6 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ + diff --git a/light.css b/light.css new file mode 100644 index 0000000..cfbea82 --- /dev/null +++ b/light.css @@ -0,0 +1,12 @@ +/*! + * Copyright 2015 The Rust Project Developers. See the COPYRIGHT + * file at the top-level directory of this distribution and at + * http://rust-lang.org/COPYRIGHT. + * + * Licensed under the Apache License, Version 2.0 or the MIT license + * , at your + * option. This file may not be copied, modified, or distributed + * except according to those terms. + */ +body{background-color:white;color:black;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:black;}h1.fqn{border-bottom-color:#D5D5D5;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock p>code,.docblock-short p>code{background-color:#F5F5F5;}pre{background-color:#F5F5F5;}.sidebar{background-color:#F1F1F1;}.sidebar .current{background-color:#fff;}.source .sidebar{background-color:#fff;}.sidebar .location{border-color:#000;background-color:#fff;color:#333;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#F5F5F5;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#f6fdb0 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table{border-color:#ddd;}.docblock table td{border-top-color:#ddd;border-bottom-color:#ddd;}.docblock table th{border-top-color:#ddd;border-bottom-color:#ddd;}:target{background:#FDFFD3;}:target>.in-band{background:#FDFFD3;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.content .highlighted{color:#000 !important;background-color:#ccc;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted.trait{background-color:#c7b6ff;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.enum{background-color:#b4d1b9;}.content .highlighted.struct{background-color:#e7b1a0;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#c6afb3;}.content .highlighted.type{background-color:#ffc891;}.content .highlighted.foreigntype{background-color:#f5c4ff;}.content .highlighted.macro{background-color:#8ce488;}.content .highlighted.constant,.content .highlighted.static{background-color:#c3e0ff;}.content .highlighted.primitive{background-color:#9aecff;}.content .highlighted.keyword{background-color:#f99650;}.content span.enum,.content a.enum,.block a.current.enum{color:#508157;}.content span.struct,.content a.struct,.block a.current.struct{color:#ad448e;}.content span.type,.content a.type,.block a.current.type{color:#ba5d00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#cd00e2;}.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#767b27;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#546e8a;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2c8093;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#4d76ae;}.content span.trait,.content a.trait,.block a.current.trait{color:#7c5af3;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#9a6e31;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}nav{border-bottom-color:#e0e0e0;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#000;}.docblock a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.stability a{color:#3873AD;}a.test-arrow{color:#f5f5f5;}.collapse-toggle{color:#999;}.search-input{color:#555;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;background-color:white;}.search-input:focus{border-color:#66afe9;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;}.module-item .stab{color:#000;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code{background:#FDFFD3;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.4);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.4);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.3);}.information>.compile_fail:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.3);}.information>.ignore:hover{color:rgba(255,142,0,1);}.search-failed>a{color:#0089ff;}.tooltip .tooltiptext{background-color:black;color:#fff;}.tooltip .tooltiptext::after{border-color:transparent black transparent transparent;}.important-traits .tooltip .tooltiptext{background-color:white;color:black;border-color:black;}#titles>div{border-bottom-color:#ccc;}#titles>div.selected{border-bottom-color:#0078ee;}#titles>div:hover{border-bottom-color:#0089ff;}#titles>div>div.count{color:#888;}.modal{background-color:rgba(0,0,0,0.3);}.modal-content{background-color:#eee;border-color:#999;}.modal-content>.close{background-color:#eee;border-color:#999;}.modal-content>.close:hover{background-color:#ff1f1f;color:white;}.modal-content>.whiter{background-color:#eee;}.modal-content>.close:hover+.whiter{background-color:#ff1f1f;}@media (max-width:700px){.sidebar-menu{background-color:#F1F1F1;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F1F1F1;border-right-color:#000;}#sidebar-filler{background-color:#F1F1F1;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu{border-color:#e0e0e0;background-color:#fff;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus{border-color:#717171;}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}@media (max-width:700px){#theme-picker{background:#fff;}}#all-types{background-color:#fff;}#all-types:hover{background-color:#f9f9f9;}.search-results td span.alias{color:#000;}.search-results td span.grey{color:#999;} \ No newline at end of file diff --git a/main.js b/main.js new file mode 100644 index 0000000..628afea --- /dev/null +++ b/main.js @@ -0,0 +1,11 @@ +/*! + * Copyright 2014 The Rust Project Developers. See the COPYRIGHT + * file at the top-level directory of this distribution and at + * http://rust-lang.org/COPYRIGHT. + * + * Licensed under the Apache License, Version 2.0 or the MIT license + * , at your + * option. This file may not be copied, modified, or distributed + * except according to those terms. + */(function(){"use strict";var itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword"];var search_input=document.getElementsByClassName('search-input')[0];var currentTab=0;var themesWidth=null;if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position;};}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1;};}function getPageId(){var id=document.location.href.split('#')[1];if(id){return id.split('?')[0].split('&')[0];}return null;}function hasClass(elem,className){if(elem&&className&&elem.className){var elemClass=elem.className;var start=elemClass.indexOf(className);if(start===-1){return false;}else if(elemClass.length===className.length){return true;}else{if(start>0&&elemClass[start-1]!==' '){return false;}var end=start+className.length;return!(end0&&elemClass[start-1]!==' '){return false;}var end=start+className.length;return!(end0){elem.className+=' '+className;}else{elem.className=className;}}}function removeClass(elem,className){if(elem&&className&&elem.className){elem.className=(" "+elem.className+" ").replace(" "+className+" "," ").trim();}}function isHidden(elem){return(elem.offsetParent===null)}function showSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){addClass(elems,"show-it");}var sidebar=document.getElementsByClassName('sidebar')[0];if(sidebar){addClass(sidebar,'mobile');var filler=document.getElementById("sidebar-filler");if(!filler){var div=document.createElement("div");div.id="sidebar-filler";sidebar.appendChild(div);}}var themePicker=document.getElementsByClassName("theme-picker");if(themePicker&&themePicker.length>0){themePicker[0].style.display="none";}}function hideSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){removeClass(elems,"show-it");}var sidebar=document.getElementsByClassName('sidebar')[0];removeClass(sidebar,'mobile');var filler=document.getElementById("sidebar-filler");if(filler){filler.remove();}document.getElementsByTagName("body")[0].style.marginTop='';var themePicker=document.getElementsByClassName("theme-picker");if(themePicker&&themePicker.length>0){themePicker[0].style.display=null;}}var TY_PRIMITIVE=itemTypes.indexOf("primitive");var TY_KEYWORD=itemTypes.indexOf("keyword");onEach(document.getElementsByClassName('js-only'),function(e){removeClass(e,'js-only');});function getQueryStringParams(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1]);});return params;}function browserSupportsHistoryApi(){return document.location.protocol!="file:"&&window.history&&typeof window.history.pushState==="function";}function highlightSourceLines(ev){hideSidebar();var search=document.getElementById("search");var i,from,to,match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/);if(match){from=parseInt(match[1],10);to=Math.min(50000,parseInt(match[2]||match[1],10));from=Math.min(from,to);var elem=document.getElementById(from);if(!elem){return;}if(ev===null){var x=document.getElementById(from);if(x){x.scrollIntoView();}}onEach(document.getElementsByClassName('line-numbers'),function(e){onEach(e.getElementsByTagName('span'),function(i_e){removeClass(i_e,'line-highlighted');});});for(i=from;i<=to;++i){addClass(document.getElementById(i),'line-highlighted');}}else if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){addClass(search,"hidden");removeClass(document.getElementById("main"),"hidden");var hash=ev.newURL.slice(ev.newURL.indexOf('#')+1);if(browserSupportsHistoryApi()){history.replaceState(hash,"","?search=#"+hash);}var elem=document.getElementById(hash);if(elem){elem.scrollIntoView();}}}highlightSourceLines(null);window.onhashchange=highlightSourceLines;function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined")return ev.key;var c=ev.charCode||ev.keyCode;if(c==27)return"Escape";return String.fromCharCode(c);}function displayHelp(display,ev){if(display===true){if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur");}}else if(!hasClass(help,"hidden")){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur");}}function handleEscape(ev,help){hideModal();var search=document.getElementById("search");if(!hasClass(help,"hidden")){displayHelp(false,ev);}else if(!hasClass(search,"hidden")){ev.preventDefault();addClass(search,"hidden");removeClass(document.getElementById("main"),"hidden");}defocusSearchBar();}function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey){return;}var help=document.getElementById("help");if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev,help);break;}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev,help);break;case"s":case"S":displayHelp(false,ev);hideModal();ev.preventDefault();focusSearchBar();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":if(ev.shiftKey){hideModal();displayHelp(true,ev);}break;}}}document.onkeypress=handleShortcut;document.onkeydown=handleShortcut;document.onclick=function(ev){if(hasClass(ev.target,'collapse-toggle')){collapseDocs(ev.target,"toggle");}else if(hasClass(ev.target.parentNode,'collapse-toggle')){collapseDocs(ev.target.parentNode,"toggle");}else if(ev.target.tagName==='SPAN'&&hasClass(ev.target.parentNode,'line-numbers')){var prev_id=0;var set_fragment=function(name){if(browserSupportsHistoryApi()){history.replaceState(null,null,'#'+name);window.hashchange();}else{location.replace('#'+name);}};var cur_id=parseInt(ev.target.id,10);if(ev.shiftKey&&prev_id){if(prev_id>cur_id){var tmp=prev_id;prev_id=cur_id;cur_id=tmp;}set_fragment(prev_id+'-'+cur_id);}else{prev_id=cur_id;set_fragment(cur_id);}}else if(!hasClass(document.getElementById("help"),"hidden")){addClass(document.getElementById("help"),"hidden");removeClass(document.body,"blur");}};var x=document.getElementsByClassName('version-selector');if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped='',len=rootPath.match(/\.\.\//g).length+1;for(i=0;i-1){var obj=searchIndex[results[i].id];obj.lev=results[i].lev;if(isType!==true||obj.type){var res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+='|'+obj.ty;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break;}}}}return out;}function sortResults(results,isType){var ar=[];for(var entry in results){if(results.hasOwnProperty(entry)){ar.push(results[entry]);}}results=ar;var nresults=results.length;for(var i=0;ib?+1:-1);}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b;}a=aaa.index;b=bbb.index;if(a!==b){return a-b;}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1;}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1;}a=(aaa.item.desc==='');b=(bbb.item.desc==='');if(a!==b){return a-b;}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b;}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1);}return 0;});for(var i=0;i'));return{name:val.substring(0,val.indexOf('<')),generics:values.split(/\s*,\s*/),};}return{name:val,generics:[],};}function checkGenerics(obj,val){var lev_distance=MAX_LEV_DISTANCE+1;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=obj[GENERICS_DATA].slice(0);var total=0;var done=0;for(var y=0;yGENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=obj[GENERICS_DATA].slice(0);var allFound=true;var x;for(var y=0;allFound===true&&yGENERICS_DATA&&obj[GENERICS_DATA].length!==0){var tmp_lev=checkGenerics(obj,val);if(tmp_lev<=MAX_LEV_DISTANCE){return tmp_lev;}}else{return 0;}}if(literalSearch===true){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){for(var x=0;xGENERICS_DATA&&obj[GENERICS_DATA].length>0){for(var x=0;x0){for(var i=0;iOUTPUT_DATA){var tmp=checkType(obj.type[OUTPUT_DATA],val,literalSearch);if(literalSearch===true&&tmp===true){return true;}lev_distance=Math.min(tmp,lev_distance);if(lev_distance===0){return 0;}}return literalSearch===true?false:lev_distance;}function checkPath(startsWith,lastElem,ty){if(startsWith.length===0){return 0;}var ret_lev=MAX_LEV_DISTANCE+1;var path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase());}if(startsWith.length>path.length){return MAX_LEV_DISTANCE+1;}for(var i=0;ipath.length){break;}var lev_total=0;var aborted=false;for(var x=0;xMAX_LEV_DISTANCE){aborted=true;break;}lev_total+=lev;}if(aborted===false){ret_lev=Math.min(ret_lev,Math.round(lev_total/startsWith.length));}}return ret_lev;}function typePassesFilter(filter,type){if(filter<0)return true;if(filter===type)return true;var name=itemTypes[type];switch(itemTypes[filter]){case"constant":return(name=="associatedconstant");case"fn":return(name=="method"||name=="tymethod");case"type":return(name=="primitive"||name=="keyword");}return false;}function generateId(ty){if(ty.parent&&ty.parent.name){return itemTypes[ty.ty]+ty.path+ty.parent.name+ty.name;}return itemTypes[ty.ty]+ty.path+ty.name;}var nSearchWords=searchWords.length;if((val.charAt(0)==="\""||val.charAt(0)==="'")&&val.charAt(val.length-1)===val.charAt(0)){val=extractGenerics(val.substr(1,val.length-2));for(var i=0;i")>-1){var trimmer=function(s){return s.trim();};var parts=val.split("->").map(trimmer);var input=parts[0];var inputs=input.split(",").map(trimmer).sort();for(var i=0;iOUTPUT_DATA?type[OUTPUT_DATA].name:"";var returned=checkReturned(ty,output,true);if(output.name==="*"||returned===true){var in_args=false;var module=false;if(input==="*"){module=true;}else{var allFound=true;for(var it=0;allFound===true&&it1?paths.length-1:1);for(j=0;j1){var lev=checkPath(startsWith,paths[paths.length-1],ty);if(lev>MAX_LEV_DISTANCE){continue;}else if(lev>0){lev_add=1;}}var returned=MAX_LEV_DISTANCE+1;var in_args=MAX_LEV_DISTANCE+1;var index=-1;var lev=MAX_LEV_DISTANCE+1;var fullId=generateId(ty);if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||searchWords[j].replace(/_/g,"").indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=searchWords[j].replace(/_/g,"").indexOf(val);}}if((lev=levenshtein(searchWords[j],val))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)===false){lev=MAX_LEV_DISTANCE+1;}else{lev+=1;}}if((in_args=findArg(ty,valGenerics))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)===false){in_args=MAX_LEV_DISTANCE+1;}}if((returned=checkReturned(ty,valGenerics))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)===false){returned=MAX_LEV_DISTANCE+1;}}lev+=lev_add;if(lev>0&&val.length>3&&searchWords[j].startsWith(val)){if(val.length<6){lev-=1;}else{lev=0;}}if(in_args<=MAX_LEV_DISTANCE){if(results_in_args[fullId]===undefined){results_in_args[fullId]={id:j,index:index,lev:in_args,};}results_in_args[fullId].lev=Math.min(results_in_args[fullId].lev,in_args);}if(returned<=MAX_LEV_DISTANCE){if(results_returned[fullId]===undefined){results_returned[fullId]={id:j,index:index,lev:returned,};}results_returned[fullId].lev=Math.min(results_returned[fullId].lev,returned);}if(index!==-1||lev<=MAX_LEV_DISTANCE){if(index!==-1&&paths.length<2){lev=0;}if(results[fullId]===undefined){results[fullId]={id:j,index:index,lev:lev,};}results[fullId].lev=Math.min(results[fullId].lev,lev);}}}var ret={'in_args':sortResults(results_in_args,true),'returned':sortResults(results_returned,true),'others':sortResults(results),};if(ALIASES&&ALIASES[window.currentCrate]&&ALIASES[window.currentCrate][query.raw]){var aliases=ALIASES[window.currentCrate][query.raw];for(var i=0;iMAX_RESULTS){ret['others'].pop();}}}return ret;}function validateResult(name,path,keys,parent){for(var i=0;i-1||path.indexOf(keys[i])>-1||(parent!==undefined&&parent.name.toLowerCase().indexOf(keys[i])>-1)||levenshtein(name,keys[i])<=MAX_LEV_DISTANCE)){return false;}}return true;}function getQuery(raw){var matches,type,query;query=raw;matches=query.match(/^(fn|mod|struct|enum|trait|type|const|macro)\s*:\s*/i);if(matches){type=matches[1].replace(/^const$/,'constant');query=query.substring(matches[0].length);}return{raw:raw,query:query,type:type,id:query+type};}function initSearchNav(){var hoverTimeout;var click_func=function(e){var el=e.target;while(el.tagName!=='TR'){el=el.parentNode;}var dst=e.target.getElementsByTagName('a');if(dst.length<1){return;}dst=dst[0];if(window.location.pathname===dst.pathname){addClass(document.getElementById('search'),'hidden');removeClass(document.getElementById('main'),'hidden');document.location.href=dst.href;}};var mouseover_func=function(e){var el=e.target;while(el.tagName!=='TR'){el=el.parentNode;}clearTimeout(hoverTimeout);hoverTimeout=setTimeout(function(){onEach(document.getElementsByClassName('search-results'),function(e){onEach(e.getElementsByClassName('result'),function(i_e){removeClass(i_e,'highlighted');});});addClass(el,'highlighted');},20);};onEach(document.getElementsByClassName('search-results'),function(e){onEach(e.getElementsByClassName('result'),function(i_e){i_e.onclick=click_func;i_e.onmouseover=mouseover_func;});});search_input.onkeydown=function(e){var actives=[[],[],[]];var current=0;onEach(document.getElementsByClassName('search-results'),function(e){onEach(e.getElementsByClassName('highlighted'),function(e){actives[current].push(e);});current+=1;});if(e.which===38){if(!actives[currentTab].length||!actives[currentTab][0].previousElementSibling){return;}addClass(actives[currentTab][0].previousElementSibling,'highlighted');removeClass(actives[currentTab][0],'highlighted');}else if(e.which===40){if(!actives[currentTab].length){var results=document.getElementsByClassName('search-results');if(results.length>0){var res=results[currentTab].getElementsByClassName('result');if(res.length>0){addClass(res[0],'highlighted');}}}else if(actives[currentTab][0].nextElementSibling){addClass(actives[currentTab][0].nextElementSibling,'highlighted');removeClass(actives[currentTab][0],'highlighted');}}else if(e.which===13){if(actives[currentTab].length){document.location.href=actives[currentTab][0].getElementsByTagName('a')[0].href;}}else if(e.which===9){if(e.shiftKey){printTab(currentTab>0?currentTab-1:2);}else{printTab(currentTab>1?0:currentTab+1);}e.preventDefault();}else if(e.which===16){}else if(e.which===27){removeClass(actives[currentTab][0],'highlighted');search_input.value='';defocusSearchBar();}else if(actives[currentTab].length>0){removeClass(actives[currentTab][0],'highlighted');}};}function buildHrefAndPath(item){var displayPath;var href;var type=itemTypes[item.ty];var name=item.name;if(type==='mod'){displayPath=item.path+'::';href=rootPath+item.path.replace(/::/g,'/')+'/'+name+'/index.html';}else if(type==="primitive"||type==="keyword"){displayPath="";href=rootPath+item.path.replace(/::/g,'/')+'/'+type+'.'+name+'.html';}else if(type==="externcrate"){displayPath="";href=rootPath+name+'/index.html';}else if(item.parent!==undefined){var myparent=item.parent;var anchor='#'+type+'.'+name;var parentType=itemTypes[myparent.ty];if(parentType==="primitive"){displayPath=myparent.name+'::';}else{displayPath=item.path+'::'+myparent.name+'::';}href=rootPath+item.path.replace(/::/g,'/')+'/'+parentType+'.'+myparent.name+'.html'+anchor;}else{displayPath=item.path+'::';href=rootPath+item.path.replace(/::/g,'/')+'/'+type+'.'+name+'.html';}return[displayPath,href];}function escape(content){var h1=document.createElement('h1');h1.textContent=content;return h1.innerHTML;}function pathSplitter(path){var tmp=''+path.replace(/::/g,'::');if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6);}return tmp;}function addTab(array,query,display){var extraStyle='';if(display===false){extraStyle=' style="display: none;"';}var output='';var duplicates={};var length=0;if(array.length>0){output='';array.forEach(function(item){var name,type;name=item.name;type=itemTypes[item.ty];if(item.is_alias!==true){if(duplicates[item.fullPath]){return;}duplicates[item.fullPath]=true;}length+=1;output+='';});output+='
'+''+(item.is_alias===true?(''+item.alias+'  - see '):'')+item.displayPath+''+name+''+''+''+escape(item.desc)+' 
';}else{output='
No results :(
'+'Try on DuckDuckGo?
';}return[output,length];}function makeTabHeader(tabNb,text,nbElems){if(currentTab===tabNb){return'
'+text+'
('+nbElems+')
';}return'
'+text+'
('+nbElems+')
';}function showResults(results){if(results['others'].length===1&&getCurrentValue('rustdoc-go-to-only-result')==="true"){var elem=document.createElement('a');elem.href=results['others'][0].href;elem.style.display='none';document.body.appendChild(elem);elem.click();}var query=getQuery(search_input.value);currentResults=query.id;var ret_others=addTab(results['others'],query);var ret_in_args=addTab(results['in_args'],query,false);var ret_returned=addTab(results['returned'],query,false);var output='

Results for '+escape(query.query)+(query.type?' (type: '+escape(query.type)+')':'')+'

'+'
'+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+'
'+ret_others[0]+ret_in_args[0]+ret_returned[0]+'
';addClass(document.getElementById('main'),'hidden');var search=document.getElementById('search');removeClass(search,'hidden');search.innerHTML=output;var tds=search.getElementsByTagName('td');var td_width=0;if(tds.length>0){td_width=tds[0].offsetWidth;}var width=search.offsetWidth-40-td_width;onEach(search.getElementsByClassName('desc'),function(e){e.style.width=width+'px';});initSearchNav();var elems=document.getElementById('titles').childNodes;elems[0].onclick=function(){printTab(0);};elems[1].onclick=function(){printTab(1);};elems[2].onclick=function(){printTab(2);};printTab(currentTab);}function execSearch(query,searchWords){var queries=query.raw.split(",");var results={'in_args':[],'returned':[],'others':[],};for(var i=0;i1){function getSmallest(arrays,positions,notDuplicates){var start=null;for(var it=0;itpositions[it]&&(start===null||start>arrays[it][positions[it]].lev)&&!notDuplicates[arrays[it][positions[it]].fullPath]){start=arrays[it][positions[it]].lev;}}return start;}function mergeArrays(arrays){var ret=[];var positions=[];var notDuplicates={};for(var x=0;xpositions[x]&&arrays[x][positions[x]].lev===smallest&&!notDuplicates[arrays[x][positions[x]].fullPath]){ret.push(arrays[x][positions[x]]);notDuplicates[arrays[x][positions[x]].fullPath]=true;positions[x]+=1;}}}return ret;}return{'in_args':mergeArrays(results['in_args']),'returned':mergeArrays(results['returned']),'others':mergeArrays(results['others']),};}else{return{'in_args':results['in_args'][0],'returned':results['returned'][0],'others':results['others'][0],};}}function search(e){var params=getQueryStringParams();var query=getQuery(search_input.value.trim());if(e){e.preventDefault();}if(query.query.length===0||query.id===currentResults){if(query.query.length>0){putBackSearch(search_input);}return;}document.title="Results for "+query.query+" - Rust";if(browserSupportsHistoryApi()){if(!history.state&&!params.search){history.pushState(query,"","?search="+encodeURIComponent(query.raw));}else{history.replaceState(query,"","?search="+encodeURIComponent(query.raw));}}showResults(execSearch(query,index));}function buildIndex(rawSearchIndex){searchIndex=[];var searchWords=[];for(var crate in rawSearchIndex){if(!rawSearchIndex.hasOwnProperty(crate)){continue;}searchWords.push(crate);searchIndex.push({crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,type:null,});var items=rawSearchIndex[crate].items;var paths=rawSearchIndex[crate].paths;var len=paths.length;for(var i=0;i"+labelForToggleButton(false)+"
]";var func=function(e){var next=e.nextElementSibling;if(hasClass(e,'impl')&&next&&hasClass(next,'docblock')){next=next.nextElementSibling;}if(!next){return;}if((checkIfThereAreMethods(next.childNodes)||hasClass(e,'method'))&&(hasClass(next,'docblock')||hasClass(e,'impl')||(hasClass(next,'stability')&&hasClass(next.nextElementSibling,'docblock')))){insertAfter(toggle.cloneNode(true),e.childNodes[e.childNodes.length-1]);}};onEach(document.getElementsByClassName('method'),func);onEach(document.getElementsByClassName('impl'),func);onEach(document.getElementsByClassName('impl-items'),function(e){onEach(e.getElementsByClassName('associatedconstant'),func);});function createToggle(otherMessage,fontSize,extraClass){var span=document.createElement('span');span.className='toggle-label';span.style.display='none';if(!otherMessage){span.innerHTML=' Expand description';}else{span.innerHTML=otherMessage;}if(fontSize){span.style.fontSize=fontSize;}var mainToggle=toggle.cloneNode(true);mainToggle.appendChild(span);var wrapper=document.createElement('div');wrapper.className='toggle-wrapper';if(extraClass){wrapper.className+=' '+extraClass;}wrapper.appendChild(mainToggle);return wrapper;}onEach(document.getElementsByClassName('docblock'),function(e){if(hasClass(e,'autohide')){var wrap=e.previousElementSibling;if(wrap&&hasClass(wrap,'toggle-wrapper')){var toggle=wrap.childNodes[0];var extra=false;if(e.childNodes[0].tagName==='H3'){extra=true;}e.style.display='none';addClass(wrap,'collapsed');onEach(toggle.getElementsByClassName('inner'),function(e){e.innerHTML=labelForToggleButton(true);});onEach(toggle.getElementsByClassName('toggle-label'),function(e){e.style.display='inline-block';if(extra===true){i_e.innerHTML=" Show "+e.childNodes[0].innerHTML;}});}}if(e.parentNode.id==="main"){var otherMessage;var fontSize;var extraClass;if(hasClass(e,"type-decl")){fontSize="20px";otherMessage=' Show declaration';}else if(hasClass(e,"non-exhaustive")){otherMessage=' This ';if(hasClass(e,"non-exhaustive-struct")){otherMessage+='struct';}else if(hasClass(e,"non-exhaustive-enum")){otherMessage+='enum';}else if(hasClass(e,"non-exhaustive-type")){otherMessage+='type';}otherMessage+=' is marked as non-exhaustive';}else if(hasClass(e.childNodes[0],"impl-items")){extraClass="marg-left";}e.parentNode.insertBefore(createToggle(otherMessage,fontSize,extraClass),e);if(otherMessage&&getCurrentValue('rustdoc-item-declarations')!=="false"){collapseDocs(e.previousSibling.childNodes[0],"toggle");}}});function createToggleWrapper(tog){var span=document.createElement('span');span.className='toggle-label';span.style.display='none';span.innerHTML=' Expand attributes';tog.appendChild(span);var wrapper=document.createElement('div');wrapper.className='toggle-wrapper toggle-attributes';wrapper.appendChild(tog);return wrapper;}function printTab(nb){if(nb===0||nb===1||nb===2){currentTab=nb;}var nb_copy=nb;onEach(document.getElementById('titles').childNodes,function(elem){if(nb_copy===0){addClass(elem,'selected');}else{removeClass(elem,'selected');}nb_copy-=1;});onEach(document.getElementById('results').childNodes,function(elem){if(nb===0){elem.style.display='';}else{elem.style.display='none';}nb-=1;});}onEach(document.getElementById('main').getElementsByClassName('attributes'),function(i_e){i_e.parentNode.insertBefore(createToggleWrapper(toggle.cloneNode(true)),i_e);if(getCurrentValue("rustdoc-item-attributes")!=="false"){collapseDocs(i_e.previousSibling.childNodes[0],"toggle");}});onEach(document.getElementsByClassName('rust-example-rendered'),function(e){if(hasClass(e,'compile_fail')){e.addEventListener("mouseover",function(event){e.previousElementSibling.childNodes[0].style.color='#f00';});e.addEventListener("mouseout",function(event){e.previousElementSibling.childNodes[0].style.color='';});}else if(hasClass(e,'ignore')){e.addEventListener("mouseover",function(event){e.previousElementSibling.childNodes[0].style.color='#ff9200';});e.addEventListener("mouseout",function(event){e.previousElementSibling.childNodes[0].style.color='';});}});function showModal(content){var modal=document.createElement('div');modal.id="important";addClass(modal,'modal');modal.innerHTML='';document.getElementsByTagName('body')[0].appendChild(modal);document.getElementById('modal-close').onclick=hideModal;modal.onclick=hideModal;}function hideModal(){var modal=document.getElementById("important");if(modal){modal.parentNode.removeChild(modal);}}onEach(document.getElementsByClassName('important-traits'),function(e){e.onclick=function(){showModal(e.lastElementChild.innerHTML);};});function putBackSearch(search_input){if(search_input.value!==""){addClass(document.getElementById("main"),"hidden");removeClass(document.getElementById("search"),"hidden");if(browserSupportsHistoryApi()){history.replaceState(search_input.value,"","?search="+encodeURIComponent(search_input.value));}}}if(search_input){search_input.onfocus=function(){putBackSearch(this);};}var params=getQueryStringParams();if(params&¶ms.search){addClass(document.getElementById("main"),"hidden");var search=document.getElementById("search");removeClass(search,"hidden");search.innerHTML='

Loading search results...

';}var sidebar_menu=document.getElementsByClassName("sidebar-menu")[0];if(sidebar_menu){sidebar_menu.onclick=function(){var sidebar=document.getElementsByClassName('sidebar')[0];if(hasClass(sidebar,"mobile")===true){hideSidebar();}else{showSidebar();}};}window.onresize=function(){hideSidebar();};autoCollapse(getPageId(),getCurrentValue("rustdoc-collapse")==="true");}());function focusSearchBar(){document.getElementsByClassName('search-input')[0].focus();}function defocusSearchBar(){document.getElementsByClassName('search-input')[0].blur();} \ No newline at end of file diff --git a/normalize.css b/normalize.css new file mode 100644 index 0000000..45b6cb2 --- /dev/null +++ b/normalize.css @@ -0,0 +1,2 @@ +/*! normalize.css v3.0.0 | MIT License | git.io/normalize */ +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} \ No newline at end of file diff --git a/parity_wasm/all.html b/parity_wasm/all.html new file mode 100644 index 0000000..7ff5b34 --- /dev/null +++ b/parity_wasm/all.html @@ -0,0 +1,3 @@ +List of all items in this crate

List of all items[] + +

Structs

Enums

Traits

Functions

Typedefs

Constants

\ No newline at end of file diff --git a/parity_wasm/builder/DataSegmentBuilder.t.html b/parity_wasm/builder/DataSegmentBuilder.t.html new file mode 100644 index 0000000..d3d76c7 --- /dev/null +++ b/parity_wasm/builder/DataSegmentBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.DataSegmentBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/ExportBuilder.t.html b/parity_wasm/builder/ExportBuilder.t.html new file mode 100644 index 0000000..c1dc034 --- /dev/null +++ b/parity_wasm/builder/ExportBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ExportBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/ExportInternalBuilder.t.html b/parity_wasm/builder/ExportInternalBuilder.t.html new file mode 100644 index 0000000..975ae7c --- /dev/null +++ b/parity_wasm/builder/ExportInternalBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ExportInternalBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/FuncBodyBuilder.t.html b/parity_wasm/builder/FuncBodyBuilder.t.html new file mode 100644 index 0000000..965ad39 --- /dev/null +++ b/parity_wasm/builder/FuncBodyBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FuncBodyBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/FunctionBuilder.t.html b/parity_wasm/builder/FunctionBuilder.t.html new file mode 100644 index 0000000..314bb48 --- /dev/null +++ b/parity_wasm/builder/FunctionBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FunctionBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/FunctionDefinition.t.html b/parity_wasm/builder/FunctionDefinition.t.html new file mode 100644 index 0000000..77d12cc --- /dev/null +++ b/parity_wasm/builder/FunctionDefinition.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FunctionDefinition.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/GlobalBuilder.t.html b/parity_wasm/builder/GlobalBuilder.t.html new file mode 100644 index 0000000..2bdfc0a --- /dev/null +++ b/parity_wasm/builder/GlobalBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.GlobalBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/Identity.t.html b/parity_wasm/builder/Identity.t.html new file mode 100644 index 0000000..96310ea --- /dev/null +++ b/parity_wasm/builder/Identity.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Identity.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/ImportBuilder.t.html b/parity_wasm/builder/ImportBuilder.t.html new file mode 100644 index 0000000..3a8777c --- /dev/null +++ b/parity_wasm/builder/ImportBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ImportBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/MemoryBuilder.t.html b/parity_wasm/builder/MemoryBuilder.t.html new file mode 100644 index 0000000..fcc07b8 --- /dev/null +++ b/parity_wasm/builder/MemoryBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.MemoryBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/ModuleBuilder.t.html b/parity_wasm/builder/ModuleBuilder.t.html new file mode 100644 index 0000000..58d628b --- /dev/null +++ b/parity_wasm/builder/ModuleBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ModuleBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/SignatureBuilder.t.html b/parity_wasm/builder/SignatureBuilder.t.html new file mode 100644 index 0000000..c80c474 --- /dev/null +++ b/parity_wasm/builder/SignatureBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.SignatureBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/SignaturesBuilder.t.html b/parity_wasm/builder/SignaturesBuilder.t.html new file mode 100644 index 0000000..8068126 --- /dev/null +++ b/parity_wasm/builder/SignaturesBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.SignaturesBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/TableBuilder.t.html b/parity_wasm/builder/TableBuilder.t.html new file mode 100644 index 0000000..96bdd17 --- /dev/null +++ b/parity_wasm/builder/TableBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TableBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/TableDefinition.t.html b/parity_wasm/builder/TableDefinition.t.html new file mode 100644 index 0000000..a1975c0 --- /dev/null +++ b/parity_wasm/builder/TableDefinition.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TableDefinition.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/TableEntryDefinition.t.html b/parity_wasm/builder/TableEntryDefinition.t.html new file mode 100644 index 0000000..977b6e4 --- /dev/null +++ b/parity_wasm/builder/TableEntryDefinition.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TableEntryDefinition.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/TypeRefBuilder.t.html b/parity_wasm/builder/TypeRefBuilder.t.html new file mode 100644 index 0000000..d26dd13 --- /dev/null +++ b/parity_wasm/builder/TypeRefBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TypeRefBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/FuncBodyBuilder.t.html b/parity_wasm/builder/code/FuncBodyBuilder.t.html new file mode 100644 index 0000000..965ad39 --- /dev/null +++ b/parity_wasm/builder/code/FuncBodyBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FuncBodyBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/FunctionBuilder.t.html b/parity_wasm/builder/code/FunctionBuilder.t.html new file mode 100644 index 0000000..314bb48 --- /dev/null +++ b/parity_wasm/builder/code/FunctionBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FunctionBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/FunctionDefinition.t.html b/parity_wasm/builder/code/FunctionDefinition.t.html new file mode 100644 index 0000000..77d12cc --- /dev/null +++ b/parity_wasm/builder/code/FunctionDefinition.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FunctionDefinition.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/SignatureBuilder.t.html b/parity_wasm/builder/code/SignatureBuilder.t.html new file mode 100644 index 0000000..c80c474 --- /dev/null +++ b/parity_wasm/builder/code/SignatureBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.SignatureBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/SignaturesBuilder.t.html b/parity_wasm/builder/code/SignaturesBuilder.t.html new file mode 100644 index 0000000..8068126 --- /dev/null +++ b/parity_wasm/builder/code/SignaturesBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.SignaturesBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/TypeRefBuilder.t.html b/parity_wasm/builder/code/TypeRefBuilder.t.html new file mode 100644 index 0000000..d26dd13 --- /dev/null +++ b/parity_wasm/builder/code/TypeRefBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TypeRefBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/fn.function.html b/parity_wasm/builder/code/fn.function.html new file mode 100644 index 0000000..439eb2f --- /dev/null +++ b/parity_wasm/builder/code/fn.function.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/fn.function.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/fn.signature.html b/parity_wasm/builder/code/fn.signature.html new file mode 100644 index 0000000..7449c54 --- /dev/null +++ b/parity_wasm/builder/code/fn.signature.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/fn.signature.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/fn.signatures.html b/parity_wasm/builder/code/fn.signatures.html new file mode 100644 index 0000000..78f6a9f --- /dev/null +++ b/parity_wasm/builder/code/fn.signatures.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/fn.signatures.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/function.v.html b/parity_wasm/builder/code/function.v.html new file mode 100644 index 0000000..4c22d42 --- /dev/null +++ b/parity_wasm/builder/code/function.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.function.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/signature.v.html b/parity_wasm/builder/code/signature.v.html new file mode 100644 index 0000000..f5018e2 --- /dev/null +++ b/parity_wasm/builder/code/signature.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.signature.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/signatures.v.html b/parity_wasm/builder/code/signatures.v.html new file mode 100644 index 0000000..da627f3 --- /dev/null +++ b/parity_wasm/builder/code/signatures.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.signatures.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/struct.FuncBodyBuilder.html b/parity_wasm/builder/code/struct.FuncBodyBuilder.html new file mode 100644 index 0000000..a2a1724 --- /dev/null +++ b/parity_wasm/builder/code/struct.FuncBodyBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.FuncBodyBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/struct.FunctionBuilder.html b/parity_wasm/builder/code/struct.FunctionBuilder.html new file mode 100644 index 0000000..6b57698 --- /dev/null +++ b/parity_wasm/builder/code/struct.FunctionBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.FunctionBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/struct.FunctionDefinition.html b/parity_wasm/builder/code/struct.FunctionDefinition.html new file mode 100644 index 0000000..6c3098d --- /dev/null +++ b/parity_wasm/builder/code/struct.FunctionDefinition.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.FunctionDefinition.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/struct.SignatureBuilder.html b/parity_wasm/builder/code/struct.SignatureBuilder.html new file mode 100644 index 0000000..c313623 --- /dev/null +++ b/parity_wasm/builder/code/struct.SignatureBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.SignatureBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/struct.SignaturesBuilder.html b/parity_wasm/builder/code/struct.SignaturesBuilder.html new file mode 100644 index 0000000..e59b403 --- /dev/null +++ b/parity_wasm/builder/code/struct.SignaturesBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.SignaturesBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/code/struct.TypeRefBuilder.html b/parity_wasm/builder/code/struct.TypeRefBuilder.html new file mode 100644 index 0000000..acb211b --- /dev/null +++ b/parity_wasm/builder/code/struct.TypeRefBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.TypeRefBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/data/DataSegmentBuilder.t.html b/parity_wasm/builder/data/DataSegmentBuilder.t.html new file mode 100644 index 0000000..d3d76c7 --- /dev/null +++ b/parity_wasm/builder/data/DataSegmentBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.DataSegmentBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/data/struct.DataSegmentBuilder.html b/parity_wasm/builder/data/struct.DataSegmentBuilder.html new file mode 100644 index 0000000..4f774e9 --- /dev/null +++ b/parity_wasm/builder/data/struct.DataSegmentBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.DataSegmentBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/export.v.html b/parity_wasm/builder/export.v.html new file mode 100644 index 0000000..483ee80 --- /dev/null +++ b/parity_wasm/builder/export.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.export.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/export/ExportBuilder.t.html b/parity_wasm/builder/export/ExportBuilder.t.html new file mode 100644 index 0000000..c1dc034 --- /dev/null +++ b/parity_wasm/builder/export/ExportBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ExportBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/export/ExportInternalBuilder.t.html b/parity_wasm/builder/export/ExportInternalBuilder.t.html new file mode 100644 index 0000000..975ae7c --- /dev/null +++ b/parity_wasm/builder/export/ExportInternalBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ExportInternalBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/export/export.v.html b/parity_wasm/builder/export/export.v.html new file mode 100644 index 0000000..483ee80 --- /dev/null +++ b/parity_wasm/builder/export/export.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.export.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/export/fn.export.html b/parity_wasm/builder/export/fn.export.html new file mode 100644 index 0000000..5dbcfc9 --- /dev/null +++ b/parity_wasm/builder/export/fn.export.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/fn.export.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/export/struct.ExportBuilder.html b/parity_wasm/builder/export/struct.ExportBuilder.html new file mode 100644 index 0000000..913dbc6 --- /dev/null +++ b/parity_wasm/builder/export/struct.ExportBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.ExportBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/export/struct.ExportInternalBuilder.html b/parity_wasm/builder/export/struct.ExportInternalBuilder.html new file mode 100644 index 0000000..263241d --- /dev/null +++ b/parity_wasm/builder/export/struct.ExportInternalBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.ExportInternalBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/fn.export.html b/parity_wasm/builder/fn.export.html new file mode 100644 index 0000000..021a6a2 --- /dev/null +++ b/parity_wasm/builder/fn.export.html @@ -0,0 +1,2 @@ +parity_wasm::builder::export - Rust

Function parity_wasm::builder::export[][src]

pub fn export() -> ExportBuilder

New builder for export entry

+
\ No newline at end of file diff --git a/parity_wasm/builder/fn.from_module.html b/parity_wasm/builder/fn.from_module.html new file mode 100644 index 0000000..9c72bb8 --- /dev/null +++ b/parity_wasm/builder/fn.from_module.html @@ -0,0 +1,2 @@ +parity_wasm::builder::from_module - Rust

Function parity_wasm::builder::from_module[][src]

pub fn from_module(module: Module) -> ModuleBuilder

Start builder to extend existing module

+
\ No newline at end of file diff --git a/parity_wasm/builder/fn.function.html b/parity_wasm/builder/fn.function.html new file mode 100644 index 0000000..0ebab29 --- /dev/null +++ b/parity_wasm/builder/fn.function.html @@ -0,0 +1,2 @@ +parity_wasm::builder::function - Rust

Function parity_wasm::builder::function[][src]

pub fn function() -> FunctionBuilder

New builder of function (signature & body)

+
\ No newline at end of file diff --git a/parity_wasm/builder/fn.global.html b/parity_wasm/builder/fn.global.html new file mode 100644 index 0000000..48655ef --- /dev/null +++ b/parity_wasm/builder/fn.global.html @@ -0,0 +1,2 @@ +parity_wasm::builder::global - Rust

Function parity_wasm::builder::global[][src]

pub fn global() -> GlobalBuilder

New builder for export entry

+
\ No newline at end of file diff --git a/parity_wasm/builder/fn.import.html b/parity_wasm/builder/fn.import.html new file mode 100644 index 0000000..70cc4c6 --- /dev/null +++ b/parity_wasm/builder/fn.import.html @@ -0,0 +1,2 @@ +parity_wasm::builder::import - Rust

Function parity_wasm::builder::import[][src]

pub fn import() -> ImportBuilder

New builder for import entry

+
\ No newline at end of file diff --git a/parity_wasm/builder/fn.module.html b/parity_wasm/builder/fn.module.html new file mode 100644 index 0000000..10dd30e --- /dev/null +++ b/parity_wasm/builder/fn.module.html @@ -0,0 +1,16 @@ +parity_wasm::builder::module - Rust

Function parity_wasm::builder::module[][src]

pub fn module() -> ModuleBuilder

Start new module builder

+

Examples

+
+use parity_wasm::builder;
+
+let module = builder::module()
+    .function()
+        .signature().param().i32().build()
+        .body().build()
+        .build()
+    .build();
+
+assert_eq!(module.type_section().expect("type section to exist").types().len(), 1);
+assert_eq!(module.function_section().expect("function section to exist").entries().len(), 1);
+assert_eq!(module.code_section().expect("code section to exist").bodies().len(), 1);
+
\ No newline at end of file diff --git a/parity_wasm/builder/fn.signature.html b/parity_wasm/builder/fn.signature.html new file mode 100644 index 0000000..20ca399 --- /dev/null +++ b/parity_wasm/builder/fn.signature.html @@ -0,0 +1,2 @@ +parity_wasm::builder::signature - Rust

Function parity_wasm::builder::signature[][src]

pub fn signature() -> SignatureBuilder

New signature builder

+
\ No newline at end of file diff --git a/parity_wasm/builder/fn.signatures.html b/parity_wasm/builder/fn.signatures.html new file mode 100644 index 0000000..3653410 --- /dev/null +++ b/parity_wasm/builder/fn.signatures.html @@ -0,0 +1,2 @@ +parity_wasm::builder::signatures - Rust

Function parity_wasm::builder::signatures[][src]

pub fn signatures() -> SignaturesBuilder

New builder of signature list

+
\ No newline at end of file diff --git a/parity_wasm/builder/from_module.v.html b/parity_wasm/builder/from_module.v.html new file mode 100644 index 0000000..6630fd5 --- /dev/null +++ b/parity_wasm/builder/from_module.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.from_module.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/function.v.html b/parity_wasm/builder/function.v.html new file mode 100644 index 0000000..4c22d42 --- /dev/null +++ b/parity_wasm/builder/function.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.function.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/global.v.html b/parity_wasm/builder/global.v.html new file mode 100644 index 0000000..ea18230 --- /dev/null +++ b/parity_wasm/builder/global.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.global.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/global/GlobalBuilder.t.html b/parity_wasm/builder/global/GlobalBuilder.t.html new file mode 100644 index 0000000..2bdfc0a --- /dev/null +++ b/parity_wasm/builder/global/GlobalBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.GlobalBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/global/fn.global.html b/parity_wasm/builder/global/fn.global.html new file mode 100644 index 0000000..9af8812 --- /dev/null +++ b/parity_wasm/builder/global/fn.global.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/fn.global.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/global/global.v.html b/parity_wasm/builder/global/global.v.html new file mode 100644 index 0000000..ea18230 --- /dev/null +++ b/parity_wasm/builder/global/global.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.global.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/global/struct.GlobalBuilder.html b/parity_wasm/builder/global/struct.GlobalBuilder.html new file mode 100644 index 0000000..9b5d1b1 --- /dev/null +++ b/parity_wasm/builder/global/struct.GlobalBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.GlobalBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/import.v.html b/parity_wasm/builder/import.v.html new file mode 100644 index 0000000..a7a7a0b --- /dev/null +++ b/parity_wasm/builder/import.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.import.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/import/ImportBuilder.t.html b/parity_wasm/builder/import/ImportBuilder.t.html new file mode 100644 index 0000000..3a8777c --- /dev/null +++ b/parity_wasm/builder/import/ImportBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ImportBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/import/fn.import.html b/parity_wasm/builder/import/fn.import.html new file mode 100644 index 0000000..4297807 --- /dev/null +++ b/parity_wasm/builder/import/fn.import.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/fn.import.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/import/import.v.html b/parity_wasm/builder/import/import.v.html new file mode 100644 index 0000000..a7a7a0b --- /dev/null +++ b/parity_wasm/builder/import/import.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.import.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/import/struct.ImportBuilder.html b/parity_wasm/builder/import/struct.ImportBuilder.html new file mode 100644 index 0000000..23263b0 --- /dev/null +++ b/parity_wasm/builder/import/struct.ImportBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.ImportBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/index.html b/parity_wasm/builder/index.html new file mode 100644 index 0000000..c4c2bf8 --- /dev/null +++ b/parity_wasm/builder/index.html @@ -0,0 +1,204 @@ +parity_wasm::builder - Rust

Module parity_wasm::builder[][src]

Various builders to generate/alter wasm components

+

Structs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataSegmentBuilder +

Data segment builder

+ +
ExportBuilder +

Export entry builder

+ +
ExportInternalBuilder +

Internal mapping builder for export entry

+ +
FuncBodyBuilder +

Function body (code) builder

+ +
FunctionBuilder +

Function definition builder

+ +
FunctionDefinition +

Function definition (extended structure to specify function entirely, incl. signature, mainness and code)

+ +
GlobalBuilder +

Global builder

+ +
Identity +

Identity chain element

+ +
ImportBuilder +

Import builder

+ +
MemoryBuilder +

Memory and static regions builder

+ +
ModuleBuilder +

Module builder

+ +
SignatureBuilder +

Signature builder

+ +
SignaturesBuilder +

Multiple signatures builder

+ +
TableBuilder +

Table builder

+ +
TableDefinition +

Table definition

+ +
TableEntryDefinition +

Table elements entry definition

+ +
TypeRefBuilder +

Type (signature) reference builder (for function/import/indirect call)

+ +

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
export +

New builder for export entry

+ +
from_module +

Start builder to extend existing module

+ +
function +

New builder of function (signature & body)

+ +
global +

New builder for export entry

+ +
import +

New builder for import entry

+ +
module +

Start new module builder

+ +
signature +

New signature builder

+ +
signatures +

New builder of signature list

+ +
\ No newline at end of file diff --git a/parity_wasm/builder/invoke/Identity.t.html b/parity_wasm/builder/invoke/Identity.t.html new file mode 100644 index 0000000..96310ea --- /dev/null +++ b/parity_wasm/builder/invoke/Identity.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Identity.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/invoke/struct.Identity.html b/parity_wasm/builder/invoke/struct.Identity.html new file mode 100644 index 0000000..a15909c --- /dev/null +++ b/parity_wasm/builder/invoke/struct.Identity.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.Identity.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/memory/MemoryBuilder.t.html b/parity_wasm/builder/memory/MemoryBuilder.t.html new file mode 100644 index 0000000..fcc07b8 --- /dev/null +++ b/parity_wasm/builder/memory/MemoryBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.MemoryBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/memory/struct.MemoryBuilder.html b/parity_wasm/builder/memory/struct.MemoryBuilder.html new file mode 100644 index 0000000..517abc4 --- /dev/null +++ b/parity_wasm/builder/memory/struct.MemoryBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.MemoryBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/module.v.html b/parity_wasm/builder/module.v.html new file mode 100644 index 0000000..6f7e0de --- /dev/null +++ b/parity_wasm/builder/module.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.module.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/module/ModuleBuilder.t.html b/parity_wasm/builder/module/ModuleBuilder.t.html new file mode 100644 index 0000000..58d628b --- /dev/null +++ b/parity_wasm/builder/module/ModuleBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ModuleBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/module/fn.from_module.html b/parity_wasm/builder/module/fn.from_module.html new file mode 100644 index 0000000..62e09cd --- /dev/null +++ b/parity_wasm/builder/module/fn.from_module.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/fn.from_module.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/module/fn.module.html b/parity_wasm/builder/module/fn.module.html new file mode 100644 index 0000000..c2dcfcb --- /dev/null +++ b/parity_wasm/builder/module/fn.module.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/fn.module.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/module/from_module.v.html b/parity_wasm/builder/module/from_module.v.html new file mode 100644 index 0000000..6630fd5 --- /dev/null +++ b/parity_wasm/builder/module/from_module.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.from_module.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/module/module.v.html b/parity_wasm/builder/module/module.v.html new file mode 100644 index 0000000..6f7e0de --- /dev/null +++ b/parity_wasm/builder/module/module.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.module.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/module/struct.ModuleBuilder.html b/parity_wasm/builder/module/struct.ModuleBuilder.html new file mode 100644 index 0000000..6558cad --- /dev/null +++ b/parity_wasm/builder/module/struct.ModuleBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.ModuleBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/sidebar-items.js b/parity_wasm/builder/sidebar-items.js new file mode 100644 index 0000000..74b6a9c --- /dev/null +++ b/parity_wasm/builder/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["export","New builder for export entry"],["from_module","Start builder to extend existing module"],["function","New builder of function (signature & body)"],["global","New builder for export entry"],["import","New builder for import entry"],["module","Start new module builder # Examples"],["signature","New signature builder"],["signatures","New builder of signature list"]],"struct":[["DataSegmentBuilder","Data segment builder"],["ExportBuilder","Export entry builder"],["ExportInternalBuilder","Internal mapping builder for export entry"],["FuncBodyBuilder","Function body (code) builder"],["FunctionBuilder","Function definition builder"],["FunctionDefinition","Function definition (extended structure to specify function entirely, incl. signature, mainness and code)"],["GlobalBuilder","Global builder"],["Identity","Identity chain element"],["ImportBuilder","Import builder"],["MemoryBuilder","Memory and static regions builder"],["ModuleBuilder","Module builder"],["SignatureBuilder","Signature builder"],["SignaturesBuilder","Multiple signatures builder"],["TableBuilder","Table builder"],["TableDefinition","Table definition"],["TableEntryDefinition","Table elements entry definition"],["TypeRefBuilder","Type (signature) reference builder (for function/import/indirect call)"]]}); \ No newline at end of file diff --git a/parity_wasm/builder/signature.v.html b/parity_wasm/builder/signature.v.html new file mode 100644 index 0000000..f5018e2 --- /dev/null +++ b/parity_wasm/builder/signature.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.signature.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/signatures.v.html b/parity_wasm/builder/signatures.v.html new file mode 100644 index 0000000..da627f3 --- /dev/null +++ b/parity_wasm/builder/signatures.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.signatures.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/struct.DataSegmentBuilder.html b/parity_wasm/builder/struct.DataSegmentBuilder.html new file mode 100644 index 0000000..a85dd03 --- /dev/null +++ b/parity_wasm/builder/struct.DataSegmentBuilder.html @@ -0,0 +1,7 @@ +parity_wasm::builder::DataSegmentBuilder - Rust

Struct parity_wasm::builder::DataSegmentBuilder[][src]

pub struct DataSegmentBuilder<F = Identity> { /* fields omitted */ }

Data segment builder

+

Methods

impl DataSegmentBuilder
[src]

New data segment builder

+

impl<F> DataSegmentBuilder<F>
[src]

New data segment builder inside the chain context

+

Set offset initialization instruction. End instruction will be added automatically.

+

Set the bytes value of the segment

+

impl<F> DataSegmentBuilder<F> where
    F: Invoke<DataSegment>, 
[src]

Finish current builder, spawning resulting struct

+

Auto Trait Implementations

impl<F> Send for DataSegmentBuilder<F> where
    F: Send

impl<F> Sync for DataSegmentBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.ExportBuilder.html b/parity_wasm/builder/struct.ExportBuilder.html new file mode 100644 index 0000000..e3c211b --- /dev/null +++ b/parity_wasm/builder/struct.ExportBuilder.html @@ -0,0 +1,8 @@ +parity_wasm::builder::ExportBuilder - Rust

Struct parity_wasm::builder::ExportBuilder[][src]

pub struct ExportBuilder<F = Identity> { /* fields omitted */ }

Export entry builder

+

Methods

impl ExportBuilder
[src]

New export builder

+

impl<F> ExportBuilder<F>
[src]

New export entry builder in the specified chained context

+

Set the field name of the export entry

+

Specify the internal module mapping for this entry

+

Start the internal builder for this export entry

+

impl<F> ExportBuilder<F> where
    F: Invoke<ExportEntry>, 
[src]

Finalize export entry builder spawning the resulting struct

+

Auto Trait Implementations

impl<F> Send for ExportBuilder<F> where
    F: Send

impl<F> Sync for ExportBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.ExportInternalBuilder.html b/parity_wasm/builder/struct.ExportInternalBuilder.html new file mode 100644 index 0000000..746adc6 --- /dev/null +++ b/parity_wasm/builder/struct.ExportInternalBuilder.html @@ -0,0 +1,7 @@ +parity_wasm::builder::ExportInternalBuilder - Rust

Struct parity_wasm::builder::ExportInternalBuilder[][src]

pub struct ExportInternalBuilder<F = Identity> { /* fields omitted */ }

Internal mapping builder for export entry

+

Methods

impl<F> ExportInternalBuilder<F> where
    F: Invoke<Internal>, 
[src]

New export entry internal mapping for the chained context

+

Map to function by index

+

Map to memory

+

Map to table

+

Map to global

+

Auto Trait Implementations

impl<F> Send for ExportInternalBuilder<F> where
    F: Send

impl<F> Sync for ExportInternalBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.FuncBodyBuilder.html b/parity_wasm/builder/struct.FuncBodyBuilder.html new file mode 100644 index 0000000..ba136ea --- /dev/null +++ b/parity_wasm/builder/struct.FuncBodyBuilder.html @@ -0,0 +1,7 @@ +parity_wasm::builder::FuncBodyBuilder - Rust

Struct parity_wasm::builder::FuncBodyBuilder[][src]

pub struct FuncBodyBuilder<F = Identity> { /* fields omitted */ }

Function body (code) builder

+

Methods

impl<F> FuncBodyBuilder<F>
[src]

New body (code) builder given the chain callback

+

impl<F> FuncBodyBuilder<F> where
    F: Invoke<FuncBody>, 
[src]

Set/override entirely with FuncBody struct

+

Extend function local list with new entries

+

Set code of the function

+

Finish current builder spawning resulting struct

+

Auto Trait Implementations

impl<F> Send for FuncBodyBuilder<F> where
    F: Send

impl<F> Sync for FuncBodyBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.FunctionBuilder.html b/parity_wasm/builder/struct.FunctionBuilder.html new file mode 100644 index 0000000..35fbf2d --- /dev/null +++ b/parity_wasm/builder/struct.FunctionBuilder.html @@ -0,0 +1,10 @@ +parity_wasm::builder::FunctionBuilder - Rust

Struct parity_wasm::builder::FunctionBuilder[][src]

pub struct FunctionBuilder<F = Identity> { /* fields omitted */ }

Function definition builder

+

Methods

impl FunctionBuilder
[src]

New function builder

+

impl<F> FunctionBuilder<F> where
    F: Invoke<FunctionDefinition>, 
[src]

New function builder with chained callback

+

Set that this function is main entry point

+

Start signature builder of the function

+

Override current signature entirely with new one from known struct

+

Start code (body) builder

+

Set body (code) for this function

+

Finalize current builder spawning resulting struct in the callback

+

Auto Trait Implementations

impl<F> Send for FunctionBuilder<F> where
    F: Send

impl<F> Sync for FunctionBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.FunctionDefinition.html b/parity_wasm/builder/struct.FunctionDefinition.html new file mode 100644 index 0000000..fc4a3ee --- /dev/null +++ b/parity_wasm/builder/struct.FunctionDefinition.html @@ -0,0 +1,23 @@ +parity_wasm::builder::FunctionDefinition - Rust

Struct parity_wasm::builder::FunctionDefinition[][src]

pub struct FunctionDefinition {
+    pub is_main: bool,
+    pub signature: Signature,
+    pub code: FuncBody,
+}

Function definition (extended structure to specify function entirely, incl. signature, mainness and code)

+

+ Fields

+ +

Is this function is start function

+
+ +

Signature description

+
+ +

Body (code) of the function

+

Trait Implementations

impl Default for FunctionDefinition
[src]

Returns the "default value" for a type. Read more

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/builder/struct.GlobalBuilder.html b/parity_wasm/builder/struct.GlobalBuilder.html new file mode 100644 index 0000000..755f888 --- /dev/null +++ b/parity_wasm/builder/struct.GlobalBuilder.html @@ -0,0 +1,9 @@ +parity_wasm::builder::GlobalBuilder - Rust

Struct parity_wasm::builder::GlobalBuilder[][src]

pub struct GlobalBuilder<F = Identity> { /* fields omitted */ }

Global builder

+

Methods

impl GlobalBuilder
[src]

New global builder

+

impl<F> GlobalBuilder<F>
[src]

New global builder with callback (in chained context)

+

Set/override resulting global type

+

Set mutabilty to true

+

Set initialization expression instruction for this global (end instruction will be added automatically)

+

Start value type builder

+

impl<F> GlobalBuilder<F> where
    F: Invoke<GlobalEntry>, 
[src]

Finalize current builder spawning resulting struct

+

Auto Trait Implementations

impl<F> Send for GlobalBuilder<F> where
    F: Send

impl<F> Sync for GlobalBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.Identity.html b/parity_wasm/builder/struct.Identity.html new file mode 100644 index 0000000..734fc7f --- /dev/null +++ b/parity_wasm/builder/struct.Identity.html @@ -0,0 +1,2 @@ +parity_wasm::builder::Identity - Rust

Struct parity_wasm::builder::Identity[][src]

pub struct Identity;

Identity chain element

+

Auto Trait Implementations

impl Send for Identity

impl Sync for Identity

\ No newline at end of file diff --git a/parity_wasm/builder/struct.ImportBuilder.html b/parity_wasm/builder/struct.ImportBuilder.html new file mode 100644 index 0000000..7afd029 --- /dev/null +++ b/parity_wasm/builder/struct.ImportBuilder.html @@ -0,0 +1,10 @@ +parity_wasm::builder::ImportBuilder - Rust

Struct parity_wasm::builder::ImportBuilder[][src]

pub struct ImportBuilder<F = Identity> { /* fields omitted */ }

Import builder

+

Methods

impl ImportBuilder
[src]

New import builder

+

impl<F> ImportBuilder<F>
[src]

New import builder with callback (in chained context)

+

Set/override module name

+

Set/override field name

+

Set/override both module name and field name

+

Set/override external mapping for this import

+

Start new external mapping builder

+

impl<F> ImportBuilder<F> where
    F: Invoke<ImportEntry>, 
[src]

Finalize current builder spawning the resulting struct

+

Auto Trait Implementations

impl<F> Send for ImportBuilder<F> where
    F: Send

impl<F> Sync for ImportBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.MemoryBuilder.html b/parity_wasm/builder/struct.MemoryBuilder.html new file mode 100644 index 0000000..e7b59c3 --- /dev/null +++ b/parity_wasm/builder/struct.MemoryBuilder.html @@ -0,0 +1,8 @@ +parity_wasm::builder::MemoryBuilder - Rust

Struct parity_wasm::builder::MemoryBuilder[][src]

pub struct MemoryBuilder<F = Identity> { /* fields omitted */ }

Memory and static regions builder

+

Methods

impl MemoryBuilder
[src]

New memory builder

+

impl<F> MemoryBuilder<F> where
    F: Invoke<MemoryDefinition>, 
[src]

New memory builder with callback (in chained context)

+

Set/override minimum size

+

Set/override maximum size

+

Push new static region with initialized offset expression and raw bytes

+

Finalize current builder, spawning resulting struct

+

Auto Trait Implementations

impl<F> Send for MemoryBuilder<F> where
    F: Send

impl<F> Sync for MemoryBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.ModuleBuilder.html b/parity_wasm/builder/struct.ModuleBuilder.html new file mode 100644 index 0000000..39215a3 --- /dev/null +++ b/parity_wasm/builder/struct.ModuleBuilder.html @@ -0,0 +1,76 @@ +parity_wasm::builder::ModuleBuilder - Rust

Struct parity_wasm::builder::ModuleBuilder[][src]

pub struct ModuleBuilder<F = Identity> { /* fields omitted */ }

Module builder

+

Methods

impl ModuleBuilder
[src]

New empty module builder

+

impl<F> ModuleBuilder<F> where
    F: Invoke<Module>, 
[src]

New module builder with bound callback

+

Builder from raw module

+

Fill module with sections from iterator

+

Add additional section

+

Binds to the type section, creates additional types when required

+

Push stand-alone function definition, creating sections, signature and code blocks +in corresponding sections. +FunctionDefinition can be build using builder::function builder

+

Push linear memory region

+

Push table

+

Push one function signature, returning it's calling index. +Can create corresponding type in type section.

+

Push signatures in the module, returning corresponding indices of pushed signatures

+

Push import entry to module. Not that it does not update calling indices in +function bodies.

+

Push export entry to module.

+

Add new function using dedicated builder

+

Add new linear memory using dedicated builder

+

Add new table using dedicated builder

+

Define functions section

+

With inserted export entry

+

With inserted import entry

+

Import entry builder

+

Examples

+
+use parity_wasm::builder::module;
+
+let module = module()
+   .import()
+       .module("env")
+       .field("memory")
+       .external().memory(256, Some(256))
+       .build()
+   .build();
+
+assert_eq!(module.import_section().expect("import section to exist").entries().len(), 1);
+

With global variable

+

With table

+

Export entry builder

+

Examples

+
+use parity_wasm::builder::module;
+use parity_wasm::elements::Instruction::*;
+
+let module = module()
+   .global()
+        .value_type().i32()
+        .init_expr(I32Const(0))
+        .build()
+   .export()
+       .field("_zero")
+       .internal().global(0)
+       .build()
+   .build();
+
+assert_eq!(module.export_section().expect("export section to exist").entries().len(), 1);
+

Glboal entry builder

+

Examples

+
+use parity_wasm::builder::module;
+use parity_wasm::elements::Instruction::*;
+
+let module = module()
+   .global()
+        .value_type().i32()
+        .init_expr(I32Const(0))
+        .build()
+   .build();
+
+assert_eq!(module.global_section().expect("global section to exist").entries().len(), 1);
+

Add data segment to the builder

+

Data entry builder

+

Build module (final step)

+

Auto Trait Implementations

impl<F> Send for ModuleBuilder<F> where
    F: Send

impl<F> Sync for ModuleBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.SignatureBuilder.html b/parity_wasm/builder/struct.SignatureBuilder.html new file mode 100644 index 0000000..1ffd019 --- /dev/null +++ b/parity_wasm/builder/struct.SignatureBuilder.html @@ -0,0 +1,12 @@ +parity_wasm::builder::SignatureBuilder - Rust

Struct parity_wasm::builder::SignatureBuilder[][src]

pub struct SignatureBuilder<F = Identity> { /* fields omitted */ }

Signature builder

+

Methods

impl SignatureBuilder
[src]

New signature builder

+

impl<F> SignatureBuilder<F> where
    F: Invoke<FunctionType>, 
[src]

New builder with callback function specified

+

Add argument to signature builder

+

Add multiple arguments to signature builder

+

Override signature return type

+

Start build new argument

+

Start build multiple arguments

+

Start building return type

+

Finish current builder

+

Finish current builder returning intermediate Signature struct

+

Auto Trait Implementations

impl<F> Send for SignatureBuilder<F> where
    F: Send

impl<F> Sync for SignatureBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.SignaturesBuilder.html b/parity_wasm/builder/struct.SignaturesBuilder.html new file mode 100644 index 0000000..e6e07a5 --- /dev/null +++ b/parity_wasm/builder/struct.SignaturesBuilder.html @@ -0,0 +1,9 @@ +parity_wasm::builder::SignaturesBuilder - Rust

Struct parity_wasm::builder::SignaturesBuilder[][src]

pub struct SignaturesBuilder<F = Identity> { /* fields omitted */ }

Multiple signatures builder

+

Methods

impl SignaturesBuilder
[src]

New empty functions section builder

+

impl<F> SignaturesBuilder<F>
[src]

New builder chained with specified callback

+

Push new signature into the builder output

+

Start building new signature with TypeRefBuilder

+

impl<F> SignaturesBuilder<F> where
    F: Invoke<Vec<Signature>>, 
[src]

Start building new signature with dedicated builder

+

impl<F> SignaturesBuilder<F> where
    F: Invoke<FunctionSection>, 
[src]

Finalize builder spawning element

+

impl<F> SignaturesBuilder<F> where
    F: Invoke<Vec<Signature>>, 
[src]

Bind signature list

+

Auto Trait Implementations

impl<F> Send for SignaturesBuilder<F> where
    F: Send

impl<F> Sync for SignaturesBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.TableBuilder.html b/parity_wasm/builder/struct.TableBuilder.html new file mode 100644 index 0000000..1a5ecc5 --- /dev/null +++ b/parity_wasm/builder/struct.TableBuilder.html @@ -0,0 +1,8 @@ +parity_wasm::builder::TableBuilder - Rust

Struct parity_wasm::builder::TableBuilder[][src]

pub struct TableBuilder<F = Identity> { /* fields omitted */ }

Table builder

+

Methods

impl TableBuilder
[src]

New table builder

+

impl<F> TableBuilder<F> where
    F: Invoke<TableDefinition>, 
[src]

New table builder with callback in chained context

+

Set/override minimum length

+

Set/override maximum length

+

Generate initialization expression and element values on specified index

+

Finalize current builder spawning resulting struct

+

Auto Trait Implementations

impl<F> Send for TableBuilder<F> where
    F: Send

impl<F> Sync for TableBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/struct.TableDefinition.html b/parity_wasm/builder/struct.TableDefinition.html new file mode 100644 index 0000000..f755bc8 --- /dev/null +++ b/parity_wasm/builder/struct.TableDefinition.html @@ -0,0 +1,26 @@ +parity_wasm::builder::TableDefinition - Rust

Struct parity_wasm::builder::TableDefinition[][src]

pub struct TableDefinition {
+    pub min: u32,
+    pub max: Option<u32>,
+    pub elements: Vec<TableEntryDefinition>,
+}

Table definition

+

+ Fields

+ +

Minimum length

+
+ +

Maximum length, if any

+
+ +

Element segments, if any

+

Trait Implementations

impl Debug for TableDefinition
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for TableDefinition
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Default for TableDefinition
[src]

Returns the "default value" for a type. Read more

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/builder/struct.TableEntryDefinition.html b/parity_wasm/builder/struct.TableEntryDefinition.html new file mode 100644 index 0000000..69d29aa --- /dev/null +++ b/parity_wasm/builder/struct.TableEntryDefinition.html @@ -0,0 +1,19 @@ +parity_wasm::builder::TableEntryDefinition - Rust

Struct parity_wasm::builder::TableEntryDefinition[][src]

pub struct TableEntryDefinition {
+    pub offset: InitExpr,
+    pub values: Vec<u32>,
+}

Table elements entry definition

+

+ Fields

+ +

Offset initialization expression

+
+ +

Values of initialization

+

Trait Implementations

impl Debug for TableEntryDefinition
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for TableEntryDefinition
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/builder/struct.TypeRefBuilder.html b/parity_wasm/builder/struct.TypeRefBuilder.html new file mode 100644 index 0000000..223de62 --- /dev/null +++ b/parity_wasm/builder/struct.TypeRefBuilder.html @@ -0,0 +1,5 @@ +parity_wasm::builder::TypeRefBuilder - Rust

Struct parity_wasm::builder::TypeRefBuilder[][src]

pub struct TypeRefBuilder<F = Identity> { /* fields omitted */ }

Type (signature) reference builder (for function/import/indirect call)

+

Methods

impl<F> TypeRefBuilder<F> where
    F: Invoke<u32>, 
[src]

New builder chained with specified callback

+

Set/override of type reference

+

Finish current builder

+

Auto Trait Implementations

impl<F> Send for TypeRefBuilder<F> where
    F: Send

impl<F> Sync for TypeRefBuilder<F> where
    F: Sync

\ No newline at end of file diff --git a/parity_wasm/builder/table/TableBuilder.t.html b/parity_wasm/builder/table/TableBuilder.t.html new file mode 100644 index 0000000..96bdd17 --- /dev/null +++ b/parity_wasm/builder/table/TableBuilder.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TableBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/table/TableDefinition.t.html b/parity_wasm/builder/table/TableDefinition.t.html new file mode 100644 index 0000000..a1975c0 --- /dev/null +++ b/parity_wasm/builder/table/TableDefinition.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TableDefinition.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/table/TableEntryDefinition.t.html b/parity_wasm/builder/table/TableEntryDefinition.t.html new file mode 100644 index 0000000..977b6e4 --- /dev/null +++ b/parity_wasm/builder/table/TableEntryDefinition.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TableEntryDefinition.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/table/struct.TableBuilder.html b/parity_wasm/builder/table/struct.TableBuilder.html new file mode 100644 index 0000000..332285d --- /dev/null +++ b/parity_wasm/builder/table/struct.TableBuilder.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.TableBuilder.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/table/struct.TableDefinition.html b/parity_wasm/builder/table/struct.TableDefinition.html new file mode 100644 index 0000000..40437d8 --- /dev/null +++ b/parity_wasm/builder/table/struct.TableDefinition.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.TableDefinition.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/builder/table/struct.TableEntryDefinition.html b/parity_wasm/builder/table/struct.TableEntryDefinition.html new file mode 100644 index 0000000..c0b43ad --- /dev/null +++ b/parity_wasm/builder/table/struct.TableEntryDefinition.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/builder/struct.TableEntryDefinition.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/BlockType.t.html b/parity_wasm/elements/BlockType.t.html new file mode 100644 index 0000000..4d77700 --- /dev/null +++ b/parity_wasm/elements/BlockType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.BlockType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/CodeSection.t.html b/parity_wasm/elements/CodeSection.t.html new file mode 100644 index 0000000..7fe205b --- /dev/null +++ b/parity_wasm/elements/CodeSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.CodeSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/CountedList.t.html b/parity_wasm/elements/CountedList.t.html new file mode 100644 index 0000000..cf7cc53 --- /dev/null +++ b/parity_wasm/elements/CountedList.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.CountedList.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/CountedListWriter.t.html b/parity_wasm/elements/CountedListWriter.t.html new file mode 100644 index 0000000..8224a0b --- /dev/null +++ b/parity_wasm/elements/CountedListWriter.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.CountedListWriter.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/CountedWriter.t.html b/parity_wasm/elements/CountedWriter.t.html new file mode 100644 index 0000000..9fec351 --- /dev/null +++ b/parity_wasm/elements/CountedWriter.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.CountedWriter.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/CustomSection.t.html b/parity_wasm/elements/CustomSection.t.html new file mode 100644 index 0000000..9de273a --- /dev/null +++ b/parity_wasm/elements/CustomSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.CustomSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/DataSection.t.html b/parity_wasm/elements/DataSection.t.html new file mode 100644 index 0000000..6003ac4 --- /dev/null +++ b/parity_wasm/elements/DataSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.DataSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/DataSegment.t.html b/parity_wasm/elements/DataSegment.t.html new file mode 100644 index 0000000..5ffa505 --- /dev/null +++ b/parity_wasm/elements/DataSegment.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.DataSegment.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Deserialize.t.html b/parity_wasm/elements/Deserialize.t.html new file mode 100644 index 0000000..dd7674b --- /dev/null +++ b/parity_wasm/elements/Deserialize.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to trait.Deserialize.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ElementSection.t.html b/parity_wasm/elements/ElementSection.t.html new file mode 100644 index 0000000..937595a --- /dev/null +++ b/parity_wasm/elements/ElementSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ElementSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ElementSegment.t.html b/parity_wasm/elements/ElementSegment.t.html new file mode 100644 index 0000000..c337fb7 --- /dev/null +++ b/parity_wasm/elements/ElementSegment.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ElementSegment.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Error.t.html b/parity_wasm/elements/Error.t.html new file mode 100644 index 0000000..1bf0d35 --- /dev/null +++ b/parity_wasm/elements/Error.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.Error.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ExportEntry.t.html b/parity_wasm/elements/ExportEntry.t.html new file mode 100644 index 0000000..f2faace --- /dev/null +++ b/parity_wasm/elements/ExportEntry.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ExportEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ExportSection.t.html b/parity_wasm/elements/ExportSection.t.html new file mode 100644 index 0000000..e7c91eb --- /dev/null +++ b/parity_wasm/elements/ExportSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ExportSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/External.t.html b/parity_wasm/elements/External.t.html new file mode 100644 index 0000000..cfdd41c --- /dev/null +++ b/parity_wasm/elements/External.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.External.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Func.t.html b/parity_wasm/elements/Func.t.html new file mode 100644 index 0000000..6a574a8 --- /dev/null +++ b/parity_wasm/elements/Func.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Func.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/FuncBody.t.html b/parity_wasm/elements/FuncBody.t.html new file mode 100644 index 0000000..a6d5a6e --- /dev/null +++ b/parity_wasm/elements/FuncBody.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FuncBody.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/FunctionNameSection.t.html b/parity_wasm/elements/FunctionNameSection.t.html new file mode 100644 index 0000000..5e16d8c --- /dev/null +++ b/parity_wasm/elements/FunctionNameSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FunctionNameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/FunctionSection.t.html b/parity_wasm/elements/FunctionSection.t.html new file mode 100644 index 0000000..f0c2ff3 --- /dev/null +++ b/parity_wasm/elements/FunctionSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FunctionSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/FunctionType.t.html b/parity_wasm/elements/FunctionType.t.html new file mode 100644 index 0000000..4485b36 --- /dev/null +++ b/parity_wasm/elements/FunctionType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FunctionType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/GlobalEntry.t.html b/parity_wasm/elements/GlobalEntry.t.html new file mode 100644 index 0000000..bbbe70a --- /dev/null +++ b/parity_wasm/elements/GlobalEntry.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.GlobalEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/GlobalSection.t.html b/parity_wasm/elements/GlobalSection.t.html new file mode 100644 index 0000000..cdddfa5 --- /dev/null +++ b/parity_wasm/elements/GlobalSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.GlobalSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/GlobalType.t.html b/parity_wasm/elements/GlobalType.t.html new file mode 100644 index 0000000..9bd8bb4 --- /dev/null +++ b/parity_wasm/elements/GlobalType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.GlobalType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ImportCountType.t.html b/parity_wasm/elements/ImportCountType.t.html new file mode 100644 index 0000000..ee59b97 --- /dev/null +++ b/parity_wasm/elements/ImportCountType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.ImportCountType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ImportEntry.t.html b/parity_wasm/elements/ImportEntry.t.html new file mode 100644 index 0000000..0f48563 --- /dev/null +++ b/parity_wasm/elements/ImportEntry.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ImportEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ImportSection.t.html b/parity_wasm/elements/ImportSection.t.html new file mode 100644 index 0000000..efa4d7e --- /dev/null +++ b/parity_wasm/elements/ImportSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ImportSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/IndexMap.t.html b/parity_wasm/elements/IndexMap.t.html new file mode 100644 index 0000000..8970215 --- /dev/null +++ b/parity_wasm/elements/IndexMap.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.IndexMap.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/InitExpr.t.html b/parity_wasm/elements/InitExpr.t.html new file mode 100644 index 0000000..cfea3f4 --- /dev/null +++ b/parity_wasm/elements/InitExpr.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.InitExpr.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Instruction.t.html b/parity_wasm/elements/Instruction.t.html new file mode 100644 index 0000000..684e872 --- /dev/null +++ b/parity_wasm/elements/Instruction.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.Instruction.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Instructions.t.html b/parity_wasm/elements/Instructions.t.html new file mode 100644 index 0000000..9bfc990 --- /dev/null +++ b/parity_wasm/elements/Instructions.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Instructions.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Internal.t.html b/parity_wasm/elements/Internal.t.html new file mode 100644 index 0000000..d4eac84 --- /dev/null +++ b/parity_wasm/elements/Internal.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.Internal.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Local.t.html b/parity_wasm/elements/Local.t.html new file mode 100644 index 0000000..ba2d41a --- /dev/null +++ b/parity_wasm/elements/Local.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Local.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/LocalNameSection.t.html b/parity_wasm/elements/LocalNameSection.t.html new file mode 100644 index 0000000..ac57673 --- /dev/null +++ b/parity_wasm/elements/LocalNameSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.LocalNameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/MemorySection.t.html b/parity_wasm/elements/MemorySection.t.html new file mode 100644 index 0000000..ac28e76 --- /dev/null +++ b/parity_wasm/elements/MemorySection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.MemorySection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/MemoryType.t.html b/parity_wasm/elements/MemoryType.t.html new file mode 100644 index 0000000..a64123d --- /dev/null +++ b/parity_wasm/elements/MemoryType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.MemoryType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Module.t.html b/parity_wasm/elements/Module.t.html new file mode 100644 index 0000000..d13d80c --- /dev/null +++ b/parity_wasm/elements/Module.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Module.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ModuleNameSection.t.html b/parity_wasm/elements/ModuleNameSection.t.html new file mode 100644 index 0000000..2b299ae --- /dev/null +++ b/parity_wasm/elements/ModuleNameSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ModuleNameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/NameMap.t.html b/parity_wasm/elements/NameMap.t.html new file mode 100644 index 0000000..f7b8d4a --- /dev/null +++ b/parity_wasm/elements/NameMap.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to type.NameMap.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/NameSection.t.html b/parity_wasm/elements/NameSection.t.html new file mode 100644 index 0000000..39bfdf3 --- /dev/null +++ b/parity_wasm/elements/NameSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.NameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/RelocSection.t.html b/parity_wasm/elements/RelocSection.t.html new file mode 100644 index 0000000..ecb0422 --- /dev/null +++ b/parity_wasm/elements/RelocSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.RelocSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/RelocationEntry.t.html b/parity_wasm/elements/RelocationEntry.t.html new file mode 100644 index 0000000..c75de6f --- /dev/null +++ b/parity_wasm/elements/RelocationEntry.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.RelocationEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ResizableLimits.t.html b/parity_wasm/elements/ResizableLimits.t.html new file mode 100644 index 0000000..c2bd122 --- /dev/null +++ b/parity_wasm/elements/ResizableLimits.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ResizableLimits.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Section.t.html b/parity_wasm/elements/Section.t.html new file mode 100644 index 0000000..a50b3db --- /dev/null +++ b/parity_wasm/elements/Section.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.Section.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Serialize.t.html b/parity_wasm/elements/Serialize.t.html new file mode 100644 index 0000000..d499855 --- /dev/null +++ b/parity_wasm/elements/Serialize.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to trait.Serialize.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/TableElementType.t.html b/parity_wasm/elements/TableElementType.t.html new file mode 100644 index 0000000..c5bfd30 --- /dev/null +++ b/parity_wasm/elements/TableElementType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.TableElementType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/TableSection.t.html b/parity_wasm/elements/TableSection.t.html new file mode 100644 index 0000000..268e576 --- /dev/null +++ b/parity_wasm/elements/TableSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TableSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/TableType.t.html b/parity_wasm/elements/TableType.t.html new file mode 100644 index 0000000..b1a8a81 --- /dev/null +++ b/parity_wasm/elements/TableType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TableType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Type.t.html b/parity_wasm/elements/Type.t.html new file mode 100644 index 0000000..f5fe3f0 --- /dev/null +++ b/parity_wasm/elements/Type.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.Type.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/TypeSection.t.html b/parity_wasm/elements/TypeSection.t.html new file mode 100644 index 0000000..e9b4b09 --- /dev/null +++ b/parity_wasm/elements/TypeSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TypeSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Uint32.t.html b/parity_wasm/elements/Uint32.t.html new file mode 100644 index 0000000..be6e1df --- /dev/null +++ b/parity_wasm/elements/Uint32.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Uint32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Uint64.t.html b/parity_wasm/elements/Uint64.t.html new file mode 100644 index 0000000..b394e40 --- /dev/null +++ b/parity_wasm/elements/Uint64.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Uint64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Uint8.t.html b/parity_wasm/elements/Uint8.t.html new file mode 100644 index 0000000..0e302cf --- /dev/null +++ b/parity_wasm/elements/Uint8.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Uint8.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/Unparsed.t.html b/parity_wasm/elements/Unparsed.t.html new file mode 100644 index 0000000..6049a7d --- /dev/null +++ b/parity_wasm/elements/Unparsed.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Unparsed.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ValueType.t.html b/parity_wasm/elements/ValueType.t.html new file mode 100644 index 0000000..2809fdd --- /dev/null +++ b/parity_wasm/elements/ValueType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.ValueType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/VarInt32.t.html b/parity_wasm/elements/VarInt32.t.html new file mode 100644 index 0000000..bcf0639 --- /dev/null +++ b/parity_wasm/elements/VarInt32.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarInt32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/VarInt64.t.html b/parity_wasm/elements/VarInt64.t.html new file mode 100644 index 0000000..96cfc76 --- /dev/null +++ b/parity_wasm/elements/VarInt64.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarInt64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/VarInt7.t.html b/parity_wasm/elements/VarInt7.t.html new file mode 100644 index 0000000..5c7e80e --- /dev/null +++ b/parity_wasm/elements/VarInt7.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarInt7.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/VarUint1.t.html b/parity_wasm/elements/VarUint1.t.html new file mode 100644 index 0000000..ea821ae --- /dev/null +++ b/parity_wasm/elements/VarUint1.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarUint1.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/VarUint32.t.html b/parity_wasm/elements/VarUint32.t.html new file mode 100644 index 0000000..b2e173e --- /dev/null +++ b/parity_wasm/elements/VarUint32.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarUint32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/VarUint64.t.html b/parity_wasm/elements/VarUint64.t.html new file mode 100644 index 0000000..934fc4a --- /dev/null +++ b/parity_wasm/elements/VarUint64.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarUint64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/VarUint7.t.html b/parity_wasm/elements/VarUint7.t.html new file mode 100644 index 0000000..cdb5531 --- /dev/null +++ b/parity_wasm/elements/VarUint7.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarUint7.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/deserialize_buffer.v.html b/parity_wasm/elements/deserialize_buffer.v.html new file mode 100644 index 0000000..dffea6e --- /dev/null +++ b/parity_wasm/elements/deserialize_buffer.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.deserialize_buffer.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/deserialize_file.v.html b/parity_wasm/elements/deserialize_file.v.html new file mode 100644 index 0000000..3cd3b60 --- /dev/null +++ b/parity_wasm/elements/deserialize_file.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.deserialize_file.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/enum.BlockType.html b/parity_wasm/elements/enum.BlockType.html new file mode 100644 index 0000000..a2584ec --- /dev/null +++ b/parity_wasm/elements/enum.BlockType.html @@ -0,0 +1,20 @@ +parity_wasm::elements::BlockType - Rust

Enum parity_wasm::elements::BlockType[][src]

pub enum BlockType {
+    Value(ValueType),
+    NoResult,
+}

Block type which is basically ValueType + NoResult (to define blocks that have no return type)

+

+ Variants

+

Value-type specified block type

+

No specified block type

+

Trait Implementations

impl Clone for BlockType
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Copy for BlockType
[src]

impl Debug for BlockType
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for BlockType
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for BlockType
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for BlockType
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for BlockType

impl Sync for BlockType

\ No newline at end of file diff --git a/parity_wasm/elements/enum.Error.html b/parity_wasm/elements/enum.Error.html new file mode 100644 index 0000000..4efe8de --- /dev/null +++ b/parity_wasm/elements/enum.Error.html @@ -0,0 +1,72 @@ +parity_wasm::elements::Error - Rust

Enum parity_wasm::elements::Error[][src]

pub enum Error {
+    UnexpectedEof,
+    InvalidMagic,
+    UnsupportedVersion(u32),
+    InconsistentLength {
+        expected: usize,
+        actual: usize,
+    },
+    Other(&'static str),
+    HeapOther(String),
+    UnknownValueType(i8),
+    UnknownTableElementType(i8),
+    NonUtf8String,
+    UnknownExternalKind(u8),
+    UnknownInternalKind(u8),
+    UnknownOpcode(u8),
+    UnknownSimdOpcode(u32),
+    InvalidVarUint1(u8),
+    InvalidVarInt32,
+    InvalidVarInt64,
+    InvalidVarUint32,
+    InvalidVarUint64,
+    InconsistentMetadata,
+    InvalidSectionId(u8),
+    SectionsOutOfOrder,
+    DuplicatedSections(u8),
+    InvalidMemoryReference(u8),
+    InvalidTableReference(u8),
+    UnknownFunctionForm(u8),
+    InvalidVarInt7(u8),
+    InconsistentCode,
+}

Deserialization/serialization error

+

+ Variants

+

Unexpected end of input

+

Invalid magic

+

Unsupported version

+

Inconsistence between declared and actual length

+

Fields of InconsistentLength

+ +

Expected length of the definition

+

Actual length of the definition

+

Other static error

+

Other allocated error

+

Invalid/unknown value type declaration

+

Invalid/unknown table element type declaration

+

Non-utf8 string

+

Unknown external kind code

+

Unknown internal kind code

+

Unknown opcode encountered

+

Unknown SIMD opcode encountered

+

Invalid VarUint1 value

+

Invalid VarInt32 value

+

Invalid VarInt64 value

+

Invalid VarUint32 value

+

Invalid VarUint64 value

+

Inconsistent metadata

+

Invalid section id

+

Sections are out of order

+

Duplicated sections

+

Invalid memory reference (should be 0)

+

Invalid table reference (should be 0)

+

Unknown function form (should be 0x60)

+

Invalid varint7 (should be in -64..63 range)

+

Number of function body entries and signatures does not match

+

Trait Implementations

impl Debug for Error
[src]

Formats the value using the given formatter. Read more

+

impl Clone for Error
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Display for Error
[src]

Formats the value using the given formatter. Read more

+

impl Error for Error
[src]

This method is soft-deprecated. Read more

+

The lower-level cause of this error, if any. Read more

+

Auto Trait Implementations

impl Send for Error

impl Sync for Error

\ No newline at end of file diff --git a/parity_wasm/elements/enum.External.html b/parity_wasm/elements/enum.External.html new file mode 100644 index 0000000..68d6f44 --- /dev/null +++ b/parity_wasm/elements/enum.External.html @@ -0,0 +1,24 @@ +parity_wasm::elements::External - Rust

Enum parity_wasm::elements::External[][src]

pub enum External {
+    Function(u32),
+    Table(TableType),
+    Memory(MemoryType),
+    Global(GlobalType),
+}

External to local binding.

+

+ Variants

+

Binds to function with index.

+

Describes local table definition to be imported as.

+

Describes local memory definition to be imported as.

+

Describes local global entry to be imported as.

+

Trait Implementations

impl Debug for External
[src]

Formats the value using the given formatter. Read more

+

impl Copy for External
[src]

impl Clone for External
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for External
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for External
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for External
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for External

impl Sync for External

\ No newline at end of file diff --git a/parity_wasm/elements/enum.ImportCountType.html b/parity_wasm/elements/enum.ImportCountType.html new file mode 100644 index 0000000..2e6c342 --- /dev/null +++ b/parity_wasm/elements/enum.ImportCountType.html @@ -0,0 +1,19 @@ +parity_wasm::elements::ImportCountType - Rust

Enum parity_wasm::elements::ImportCountType[][src]

pub enum ImportCountType {
+    Function,
+    Global,
+    Table,
+    Memory,
+}

Type of the import entry to count

+

+ Variants

+

Count functions

+

Count globals

+

Count tables

+

Count memories

+

Trait Implementations

impl Debug for ImportCountType
[src]

Formats the value using the given formatter. Read more

+

impl Clone for ImportCountType
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Copy for ImportCountType
[src]

impl PartialEq for ImportCountType
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/enum.Instruction.html b/parity_wasm/elements/enum.Instruction.html new file mode 100644 index 0000000..b77efb0 --- /dev/null +++ b/parity_wasm/elements/enum.Instruction.html @@ -0,0 +1,403 @@ +parity_wasm::elements::Instruction - Rust

Enum parity_wasm::elements::Instruction[][src]

pub enum Instruction {
+    Unreachable,
+    Nop,
+    Block(BlockType),
+    Loop(BlockType),
+    If(BlockType),
+    Else,
+    End,
+    Br(u32),
+    BrIf(u32),
+    BrTable(Box<BrTableData>),
+    Return,
+    Call(u32),
+    CallIndirect(u32u8),
+    Drop,
+    Select,
+    GetLocal(u32),
+    SetLocal(u32),
+    TeeLocal(u32),
+    GetGlobal(u32),
+    SetGlobal(u32),
+    I32Load(u32u32),
+    I64Load(u32u32),
+    F32Load(u32u32),
+    F64Load(u32u32),
+    I32Load8S(u32u32),
+    I32Load8U(u32u32),
+    I32Load16S(u32u32),
+    I32Load16U(u32u32),
+    I64Load8S(u32u32),
+    I64Load8U(u32u32),
+    I64Load16S(u32u32),
+    I64Load16U(u32u32),
+    I64Load32S(u32u32),
+    I64Load32U(u32u32),
+    I32Store(u32u32),
+    I64Store(u32u32),
+    F32Store(u32u32),
+    F64Store(u32u32),
+    I32Store8(u32u32),
+    I32Store16(u32u32),
+    I64Store8(u32u32),
+    I64Store16(u32u32),
+    I64Store32(u32u32),
+    CurrentMemory(u8),
+    GrowMemory(u8),
+    I32Const(i32),
+    I64Const(i64),
+    F32Const(u32),
+    F64Const(u64),
+    I32Eqz,
+    I32Eq,
+    I32Ne,
+    I32LtS,
+    I32LtU,
+    I32GtS,
+    I32GtU,
+    I32LeS,
+    I32LeU,
+    I32GeS,
+    I32GeU,
+    I64Eqz,
+    I64Eq,
+    I64Ne,
+    I64LtS,
+    I64LtU,
+    I64GtS,
+    I64GtU,
+    I64LeS,
+    I64LeU,
+    I64GeS,
+    I64GeU,
+    F32Eq,
+    F32Ne,
+    F32Lt,
+    F32Gt,
+    F32Le,
+    F32Ge,
+    F64Eq,
+    F64Ne,
+    F64Lt,
+    F64Gt,
+    F64Le,
+    F64Ge,
+    I32Clz,
+    I32Ctz,
+    I32Popcnt,
+    I32Add,
+    I32Sub,
+    I32Mul,
+    I32DivS,
+    I32DivU,
+    I32RemS,
+    I32RemU,
+    I32And,
+    I32Or,
+    I32Xor,
+    I32Shl,
+    I32ShrS,
+    I32ShrU,
+    I32Rotl,
+    I32Rotr,
+    I64Clz,
+    I64Ctz,
+    I64Popcnt,
+    I64Add,
+    I64Sub,
+    I64Mul,
+    I64DivS,
+    I64DivU,
+    I64RemS,
+    I64RemU,
+    I64And,
+    I64Or,
+    I64Xor,
+    I64Shl,
+    I64ShrS,
+    I64ShrU,
+    I64Rotl,
+    I64Rotr,
+    F32Abs,
+    F32Neg,
+    F32Ceil,
+    F32Floor,
+    F32Trunc,
+    F32Nearest,
+    F32Sqrt,
+    F32Add,
+    F32Sub,
+    F32Mul,
+    F32Div,
+    F32Min,
+    F32Max,
+    F32Copysign,
+    F64Abs,
+    F64Neg,
+    F64Ceil,
+    F64Floor,
+    F64Trunc,
+    F64Nearest,
+    F64Sqrt,
+    F64Add,
+    F64Sub,
+    F64Mul,
+    F64Div,
+    F64Min,
+    F64Max,
+    F64Copysign,
+    I32WrapI64,
+    I32TruncSF32,
+    I32TruncUF32,
+    I32TruncSF64,
+    I32TruncUF64,
+    I64ExtendSI32,
+    I64ExtendUI32,
+    I64TruncSF32,
+    I64TruncUF32,
+    I64TruncSF64,
+    I64TruncUF64,
+    F32ConvertSI32,
+    F32ConvertUI32,
+    F32ConvertSI64,
+    F32ConvertUI64,
+    F32DemoteF64,
+    F64ConvertSI32,
+    F64ConvertUI32,
+    F64ConvertSI64,
+    F64ConvertUI64,
+    F64PromoteF32,
+    I32ReinterpretF32,
+    I64ReinterpretF64,
+    F32ReinterpretI32,
+    F64ReinterpretI64,
+    I32Extend8S,
+    I32Extend16S,
+    I64Extend8S,
+    I64Extend16S,
+    I64Extend32S,
+    AtomicWake(MemArg),
+    I32AtomicWait(MemArg),
+    I64AtomicWait(MemArg),
+    I32AtomicLoad(MemArg),
+    I64AtomicLoad(MemArg),
+    I32AtomicLoad8u(MemArg),
+    I32AtomicLoad16u(MemArg),
+    I64AtomicLoad8u(MemArg),
+    I64AtomicLoad16u(MemArg),
+    I64AtomicLoad32u(MemArg),
+    I32AtomicStore(MemArg),
+    I64AtomicStore(MemArg),
+    I32AtomicStore8u(MemArg),
+    I32AtomicStore16u(MemArg),
+    I64AtomicStore8u(MemArg),
+    I64AtomicStore16u(MemArg),
+    I64AtomicStore32u(MemArg),
+    I32AtomicRmwAdd(MemArg),
+    I64AtomicRmwAdd(MemArg),
+    I32AtomicRmwAdd8u(MemArg),
+    I32AtomicRmwAdd16u(MemArg),
+    I64AtomicRmwAdd8u(MemArg),
+    I64AtomicRmwAdd16u(MemArg),
+    I64AtomicRmwAdd32u(MemArg),
+    I32AtomicRmwSub(MemArg),
+    I64AtomicRmwSub(MemArg),
+    I32AtomicRmwSub8u(MemArg),
+    I32AtomicRmwSub16u(MemArg),
+    I64AtomicRmwSub8u(MemArg),
+    I64AtomicRmwSub16u(MemArg),
+    I64AtomicRmwSub32u(MemArg),
+    I32AtomicRmwAnd(MemArg),
+    I64AtomicRmwAnd(MemArg),
+    I32AtomicRmwAnd8u(MemArg),
+    I32AtomicRmwAnd16u(MemArg),
+    I64AtomicRmwAnd8u(MemArg),
+    I64AtomicRmwAnd16u(MemArg),
+    I64AtomicRmwAnd32u(MemArg),
+    I32AtomicRmwOr(MemArg),
+    I64AtomicRmwOr(MemArg),
+    I32AtomicRmwOr8u(MemArg),
+    I32AtomicRmwOr16u(MemArg),
+    I64AtomicRmwOr8u(MemArg),
+    I64AtomicRmwOr16u(MemArg),
+    I64AtomicRmwOr32u(MemArg),
+    I32AtomicRmwXor(MemArg),
+    I64AtomicRmwXor(MemArg),
+    I32AtomicRmwXor8u(MemArg),
+    I32AtomicRmwXor16u(MemArg),
+    I64AtomicRmwXor8u(MemArg),
+    I64AtomicRmwXor16u(MemArg),
+    I64AtomicRmwXor32u(MemArg),
+    I32AtomicRmwXchg(MemArg),
+    I64AtomicRmwXchg(MemArg),
+    I32AtomicRmwXchg8u(MemArg),
+    I32AtomicRmwXchg16u(MemArg),
+    I64AtomicRmwXchg8u(MemArg),
+    I64AtomicRmwXchg16u(MemArg),
+    I64AtomicRmwXchg32u(MemArg),
+    I32AtomicRmwCmpxchg(MemArg),
+    I64AtomicRmwCmpxchg(MemArg),
+    I32AtomicRmwCmpxchg8u(MemArg),
+    I32AtomicRmwCmpxchg16u(MemArg),
+    I64AtomicRmwCmpxchg8u(MemArg),
+    I64AtomicRmwCmpxchg16u(MemArg),
+    I64AtomicRmwCmpxchg32u(MemArg),
+    V128Const(Box<[u8; 16]>),
+    V128Load(MemArg),
+    V128Store(MemArg),
+    I8x16Splat,
+    I16x8Splat,
+    I32x4Splat,
+    I64x2Splat,
+    F32x4Splat,
+    F64x2Splat,
+    I8x16ExtractLaneS(u8),
+    I8x16ExtractLaneU(u8),
+    I16x8ExtractLaneS(u8),
+    I16x8ExtractLaneU(u8),
+    I32x4ExtractLane(u8),
+    I64x2ExtractLane(u8),
+    F32x4ExtractLane(u8),
+    F64x2ExtractLane(u8),
+    I8x16ReplaceLane(u8),
+    I16x8ReplaceLane(u8),
+    I32x4ReplaceLane(u8),
+    I64x2ReplaceLane(u8),
+    F32x4ReplaceLane(u8),
+    F64x2ReplaceLane(u8),
+    V8x16Shuffle(Box<[u8; 16]>),
+    I8x16Add,
+    I16x8Add,
+    I32x4Add,
+    I64x2Add,
+    I8x16Sub,
+    I16x8Sub,
+    I32x4Sub,
+    I64x2Sub,
+    I8x16Mul,
+    I16x8Mul,
+    I32x4Mul,
+    I8x16Neg,
+    I16x8Neg,
+    I32x4Neg,
+    I64x2Neg,
+    I8x16AddSaturateS,
+    I8x16AddSaturateU,
+    I16x8AddSaturateS,
+    I16x8AddSaturateU,
+    I8x16SubSaturateS,
+    I8x16SubSaturateU,
+    I16x8SubSaturateS,
+    I16x8SubSaturateU,
+    I8x16Shl,
+    I16x8Shl,
+    I32x4Shl,
+    I64x2Shl,
+    I8x16ShrS,
+    I8x16ShrU,
+    I16x8ShrS,
+    I16x8ShrU,
+    I32x4ShrS,
+    I32x4ShrU,
+    I64x2ShrS,
+    I64x2ShrU,
+    V128And,
+    V128Or,
+    V128Xor,
+    V128Not,
+    V128Bitselect,
+    I8x16AnyTrue,
+    I16x8AnyTrue,
+    I32x4AnyTrue,
+    I64x2AnyTrue,
+    I8x16AllTrue,
+    I16x8AllTrue,
+    I32x4AllTrue,
+    I64x2AllTrue,
+    I8x16Eq,
+    I16x8Eq,
+    I32x4Eq,
+    F32x4Eq,
+    F64x2Eq,
+    I8x16Ne,
+    I16x8Ne,
+    I32x4Ne,
+    F32x4Ne,
+    F64x2Ne,
+    I8x16LtS,
+    I8x16LtU,
+    I16x8LtS,
+    I16x8LtU,
+    I32x4LtS,
+    I32x4LtU,
+    F32x4Lt,
+    F64x2Lt,
+    I8x16LeS,
+    I8x16LeU,
+    I16x8LeS,
+    I16x8LeU,
+    I32x4LeS,
+    I32x4LeU,
+    F32x4Le,
+    F64x2Le,
+    I8x16GtS,
+    I8x16GtU,
+    I16x8GtS,
+    I16x8GtU,
+    I32x4GtS,
+    I32x4GtU,
+    F32x4Gt,
+    F64x2Gt,
+    I8x16GeS,
+    I8x16GeU,
+    I16x8GeS,
+    I16x8GeU,
+    I32x4GeS,
+    I32x4GeU,
+    F32x4Ge,
+    F64x2Ge,
+    F32x4Neg,
+    F64x2Neg,
+    F32x4Abs,
+    F64x2Abs,
+    F32x4Min,
+    F64x2Min,
+    F32x4Max,
+    F64x2Max,
+    F32x4Add,
+    F64x2Add,
+    F32x4Sub,
+    F64x2Sub,
+    F32x4Div,
+    F64x2Div,
+    F32x4Mul,
+    F64x2Mul,
+    F32x4Sqrt,
+    F64x2Sqrt,
+    F32x4ConvertSI32x4,
+    F32x4ConvertUI32x4,
+    F64x2ConvertSI64x2,
+    F64x2ConvertUI64x2,
+    I32x4TruncSF32x4Sat,
+    I32x4TruncUF32x4Sat,
+    I64x2TruncSF64x2Sat,
+    I64x2TruncUF64x2Sat,
+}

Instruction

+

+ Variants

+

Methods

impl Instruction
[src]

Is this instruction starts the new block (which should end with terminal instruction).

+

Is this instruction determines the termination of instruction sequence +true for Instruction::End

+

Trait Implementations

impl Clone for Instruction
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Debug for Instruction
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for Instruction
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for Instruction
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for Instruction
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

impl Display for Instruction
[src]

Formats the value using the given formatter. Read more

+

Auto Trait Implementations

impl Send for Instruction

impl Sync for Instruction

\ No newline at end of file diff --git a/parity_wasm/elements/enum.Internal.html b/parity_wasm/elements/enum.Internal.html new file mode 100644 index 0000000..6144d48 --- /dev/null +++ b/parity_wasm/elements/enum.Internal.html @@ -0,0 +1,24 @@ +parity_wasm::elements::Internal - Rust

Enum parity_wasm::elements::Internal[][src]

pub enum Internal {
+    Function(u32),
+    Table(u32),
+    Memory(u32),
+    Global(u32),
+}

Internal reference of the exported entry.

+

+ Variants

+

Function reference.

+

Table reference.

+

Memory reference.

+

Global reference.

+

Trait Implementations

impl Debug for Internal
[src]

Formats the value using the given formatter. Read more

+

impl Clone for Internal
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Copy for Internal
[src]

impl PartialEq for Internal
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for Internal
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for Internal
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for Internal

impl Sync for Internal

\ No newline at end of file diff --git a/parity_wasm/elements/enum.NameSection.html b/parity_wasm/elements/enum.NameSection.html new file mode 100644 index 0000000..a1c89e1 --- /dev/null +++ b/parity_wasm/elements/enum.NameSection.html @@ -0,0 +1,29 @@ +parity_wasm::elements::NameSection - Rust

Enum parity_wasm::elements::NameSection[][src]

pub enum NameSection {
+    Module(ModuleNameSection),
+    Function(FunctionNameSection),
+    Local(LocalNameSection),
+    Unparsed {
+        name_type: u8,
+        name_payload: Vec<u8>,
+    },
+}

Debug name information.

+

+ Variants

+

Module name section.

+

Function name section.

+

Local name section.

+

Name section is unparsed.

+

Fields of Unparsed

+ +

The numeric identifier for this name section type.

+

The contents of this name section, unparsed.

+

Methods

impl NameSection
[src]

Deserialize a name section.

+

Trait Implementations

impl Clone for NameSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Debug for NameSection
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for NameSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Serialize for NameSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for NameSection

impl Sync for NameSection

\ No newline at end of file diff --git a/parity_wasm/elements/enum.RelocationEntry.html b/parity_wasm/elements/enum.RelocationEntry.html new file mode 100644 index 0000000..fad4129 --- /dev/null +++ b/parity_wasm/elements/enum.RelocationEntry.html @@ -0,0 +1,94 @@ +parity_wasm::elements::RelocationEntry - Rust

Enum parity_wasm::elements::RelocationEntry[][src]

pub enum RelocationEntry {
+    FunctionIndexLeb {
+        offset: u32,
+        index: u32,
+    },
+    TableIndexSleb {
+        offset: u32,
+        index: u32,
+    },
+    TableIndexI32 {
+        offset: u32,
+        index: u32,
+    },
+    MemoryAddressLeb {
+        offset: u32,
+        index: u32,
+        addend: i32,
+    },
+    MemoryAddressSleb {
+        offset: u32,
+        index: u32,
+        addend: i32,
+    },
+    MemoryAddressI32 {
+        offset: u32,
+        index: u32,
+        addend: i32,
+    },
+    TypeIndexLeb {
+        offset: u32,
+        index: u32,
+    },
+    GlobalIndexLeb {
+        offset: u32,
+        index: u32,
+    },
+}

Relocation entry.

+

+ Variants

+

Function index.

+

Fields of FunctionIndexLeb

+ +

Offset of the value to rewrite.

+

Index of the function symbol in the symbol table.

+

Function table index.

+

Fields of TableIndexSleb

+ +

Offset of the value to rewrite.

+

Index of the function symbol in the symbol table.

+

Function table index.

+

Fields of TableIndexI32

+ +

Offset of the value to rewrite.

+

Index of the function symbol in the symbol table.

+

Linear memory index.

+

Fields of MemoryAddressLeb

+ +

Offset of the value to rewrite.

+

Index of the data symbol in the symbol table.

+

Addend to add to the address.

+

Linear memory index.

+

Fields of MemoryAddressSleb

+ +

Offset of the value to rewrite.

+

Index of the data symbol in the symbol table.

+

Addend to add to the address.

+

Linear memory index.

+

Fields of MemoryAddressI32

+ +

Offset of the value to rewrite.

+

Index of the data symbol in the symbol table.

+

Addend to add to the address.

+

Type table index.

+

Fields of TypeIndexLeb

+ +

Offset of the value to rewrite.

+

Index of the type used.

+

Global index.

+

Fields of GlobalIndexLeb

+ +

Offset of the value to rewrite.

+

Index of the global symbol in the symbol table.

+

Trait Implementations

impl Clone for RelocationEntry
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Copy for RelocationEntry
[src]

impl Debug for RelocationEntry
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for RelocationEntry
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for RelocationEntry
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for RelocationEntry
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/enum.Section.html b/parity_wasm/elements/enum.Section.html new file mode 100644 index 0000000..e42d174 --- /dev/null +++ b/parity_wasm/elements/enum.Section.html @@ -0,0 +1,57 @@ +parity_wasm::elements::Section - Rust

Enum parity_wasm::elements::Section[][src]

pub enum Section {
+    Unparsed {
+        id: u8,
+        payload: Vec<u8>,
+    },
+    Custom(CustomSection),
+    Type(TypeSection),
+    Import(ImportSection),
+    Function(FunctionSection),
+    Table(TableSection),
+    Memory(MemorySection),
+    Global(GlobalSection),
+    Export(ExportSection),
+    Start(u32),
+    Element(ElementSection),
+    Code(CodeSection),
+    Data(DataSection),
+    Name(NameSection),
+    Reloc(RelocSection),
+}

Section in the WebAssembly module.

+

+ Variants

+

Section is unparsed.

+

Fields of Unparsed

+ +

id of the unparsed section

+

raw bytes of the unparsed section

+

Custom section (id=0)

+

Types section

+

Import section

+

Function signatures section

+

Table definition section

+

Memory definition section

+

Global entries section

+

Export definitions

+

Entry reference of the module

+

Elements section

+

Function bodies section

+

Data definition section

+

Name section.

+

Note that initially it is not parsed until parse_names is called explicitly.

+

Relocation section.

+

Note that initially it is not parsed until parse_reloc is called explicitly. +Also note that currently there are serialization (but not de-serialization) +issues with this section (#198)

+

Trait Implementations

impl Debug for Section
[src]

Formats the value using the given formatter. Read more

+

impl Clone for Section
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for Section
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for Section
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for Section
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for Section

impl Sync for Section

\ No newline at end of file diff --git a/parity_wasm/elements/enum.TableElementType.html b/parity_wasm/elements/enum.TableElementType.html new file mode 100644 index 0000000..a025779 --- /dev/null +++ b/parity_wasm/elements/enum.TableElementType.html @@ -0,0 +1,19 @@ +parity_wasm::elements::TableElementType - Rust

Enum parity_wasm::elements::TableElementType[][src]

pub enum TableElementType {
+    AnyFunc,
+}

Table element type.

+

+ Variants

+

A reference to a function with any signature.

+

Trait Implementations

impl Clone for TableElementType
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Copy for TableElementType
[src]

impl Debug for TableElementType
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for TableElementType
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for TableElementType
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for TableElementType
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/enum.Type.html b/parity_wasm/elements/enum.Type.html new file mode 100644 index 0000000..3b7170d --- /dev/null +++ b/parity_wasm/elements/enum.Type.html @@ -0,0 +1,18 @@ +parity_wasm::elements::Type - Rust

Enum parity_wasm::elements::Type[][src]

pub enum Type {
+    Function(FunctionType),
+}

Type definition in types section. Currently can be only of the function type.

+

+ Variants

+

Function type.

+

Trait Implementations

impl Debug for Type
[src]

Formats the value using the given formatter. Read more

+

impl Clone for Type
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for Type
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for Type
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for Type
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for Type

impl Sync for Type

\ No newline at end of file diff --git a/parity_wasm/elements/enum.ValueType.html b/parity_wasm/elements/enum.ValueType.html new file mode 100644 index 0000000..927bfbe --- /dev/null +++ b/parity_wasm/elements/enum.ValueType.html @@ -0,0 +1,28 @@ +parity_wasm::elements::ValueType - Rust

Enum parity_wasm::elements::ValueType[][src]

pub enum ValueType {
+    I32,
+    I64,
+    F32,
+    F64,
+    V128,
+}

Value type.

+

+ Variants

+

32-bit signed integer

+

64-bit signed integer

+

32-bit float

+

64-bit float

+

128-bit SIMD register

+

Trait Implementations

impl Clone for ValueType
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Copy for ValueType
[src]

impl Debug for ValueType
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for ValueType
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for ValueType
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for ValueType
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

impl Display for ValueType
[src]

Formats the value using the given formatter. Read more

+

Auto Trait Implementations

impl Send for ValueType

impl Sync for ValueType

\ No newline at end of file diff --git a/parity_wasm/elements/export_entry/ExportEntry.t.html b/parity_wasm/elements/export_entry/ExportEntry.t.html new file mode 100644 index 0000000..f2faace --- /dev/null +++ b/parity_wasm/elements/export_entry/ExportEntry.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ExportEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/export_entry/Internal.t.html b/parity_wasm/elements/export_entry/Internal.t.html new file mode 100644 index 0000000..d4eac84 --- /dev/null +++ b/parity_wasm/elements/export_entry/Internal.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.Internal.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/export_entry/enum.Internal.html b/parity_wasm/elements/export_entry/enum.Internal.html new file mode 100644 index 0000000..72b755d --- /dev/null +++ b/parity_wasm/elements/export_entry/enum.Internal.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/enum.Internal.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/export_entry/struct.ExportEntry.html b/parity_wasm/elements/export_entry/struct.ExportEntry.html new file mode 100644 index 0000000..94b4b81 --- /dev/null +++ b/parity_wasm/elements/export_entry/struct.ExportEntry.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.ExportEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/fn.deserialize_buffer.html b/parity_wasm/elements/fn.deserialize_buffer.html new file mode 100644 index 0000000..10a4b06 --- /dev/null +++ b/parity_wasm/elements/fn.deserialize_buffer.html @@ -0,0 +1,2 @@ +parity_wasm::elements::deserialize_buffer - Rust

Function parity_wasm::elements::deserialize_buffer[][src]

pub fn deserialize_buffer<T: Deserialize>(
    contents: &[u8]
) -> Result<T, T::Error>

Deserialize deserializable type from buffer.

+
\ No newline at end of file diff --git a/parity_wasm/elements/fn.deserialize_file.html b/parity_wasm/elements/fn.deserialize_file.html new file mode 100644 index 0000000..7e5a4f3 --- /dev/null +++ b/parity_wasm/elements/fn.deserialize_file.html @@ -0,0 +1,2 @@ +parity_wasm::elements::deserialize_file - Rust

Function parity_wasm::elements::deserialize_file[][src]

pub fn deserialize_file<P: AsRef<Path>>(p: P) -> Result<Module, Error>

Deserialize module from the file.

+
\ No newline at end of file diff --git a/parity_wasm/elements/fn.peek_size.html b/parity_wasm/elements/fn.peek_size.html new file mode 100644 index 0000000..c507174 --- /dev/null +++ b/parity_wasm/elements/fn.peek_size.html @@ -0,0 +1,2 @@ +parity_wasm::elements::peek_size - Rust

Function parity_wasm::elements::peek_size[][src]

pub fn peek_size(source: &[u8]) -> usize

Returns size of the module in the provided stream

+
\ No newline at end of file diff --git a/parity_wasm/elements/fn.serialize.html b/parity_wasm/elements/fn.serialize.html new file mode 100644 index 0000000..6a94960 --- /dev/null +++ b/parity_wasm/elements/fn.serialize.html @@ -0,0 +1,2 @@ +parity_wasm::elements::serialize - Rust

Function parity_wasm::elements::serialize[][src]

pub fn serialize<T: Serialize>(val: T) -> Result<Vec<u8>, T::Error>

Create buffer with serialized value.

+
\ No newline at end of file diff --git a/parity_wasm/elements/fn.serialize_to_file.html b/parity_wasm/elements/fn.serialize_to_file.html new file mode 100644 index 0000000..0bfe63d --- /dev/null +++ b/parity_wasm/elements/fn.serialize_to_file.html @@ -0,0 +1,2 @@ +parity_wasm::elements::serialize_to_file - Rust

Function parity_wasm::elements::serialize_to_file[][src]

pub fn serialize_to_file<P: AsRef<Path>>(
    p: P,
    module: Module
) -> Result<(), Error>

Serialize module to the file

+
\ No newline at end of file diff --git a/parity_wasm/elements/func/Func.t.html b/parity_wasm/elements/func/Func.t.html new file mode 100644 index 0000000..6a574a8 --- /dev/null +++ b/parity_wasm/elements/func/Func.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Func.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/func/FuncBody.t.html b/parity_wasm/elements/func/FuncBody.t.html new file mode 100644 index 0000000..a6d5a6e --- /dev/null +++ b/parity_wasm/elements/func/FuncBody.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FuncBody.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/func/Local.t.html b/parity_wasm/elements/func/Local.t.html new file mode 100644 index 0000000..ba2d41a --- /dev/null +++ b/parity_wasm/elements/func/Local.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Local.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/func/struct.Func.html b/parity_wasm/elements/func/struct.Func.html new file mode 100644 index 0000000..8cdd253 --- /dev/null +++ b/parity_wasm/elements/func/struct.Func.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.Func.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/func/struct.FuncBody.html b/parity_wasm/elements/func/struct.FuncBody.html new file mode 100644 index 0000000..c3682fe --- /dev/null +++ b/parity_wasm/elements/func/struct.FuncBody.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.FuncBody.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/func/struct.Local.html b/parity_wasm/elements/func/struct.Local.html new file mode 100644 index 0000000..247e090 --- /dev/null +++ b/parity_wasm/elements/func/struct.Local.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.Local.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/global_entry/GlobalEntry.t.html b/parity_wasm/elements/global_entry/GlobalEntry.t.html new file mode 100644 index 0000000..bbbe70a --- /dev/null +++ b/parity_wasm/elements/global_entry/GlobalEntry.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.GlobalEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/global_entry/struct.GlobalEntry.html b/parity_wasm/elements/global_entry/struct.GlobalEntry.html new file mode 100644 index 0000000..c345134 --- /dev/null +++ b/parity_wasm/elements/global_entry/struct.GlobalEntry.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.GlobalEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/External.t.html b/parity_wasm/elements/import_entry/External.t.html new file mode 100644 index 0000000..cfdd41c --- /dev/null +++ b/parity_wasm/elements/import_entry/External.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.External.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/GlobalType.t.html b/parity_wasm/elements/import_entry/GlobalType.t.html new file mode 100644 index 0000000..9bd8bb4 --- /dev/null +++ b/parity_wasm/elements/import_entry/GlobalType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.GlobalType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/ImportEntry.t.html b/parity_wasm/elements/import_entry/ImportEntry.t.html new file mode 100644 index 0000000..0f48563 --- /dev/null +++ b/parity_wasm/elements/import_entry/ImportEntry.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ImportEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/MemoryType.t.html b/parity_wasm/elements/import_entry/MemoryType.t.html new file mode 100644 index 0000000..a64123d --- /dev/null +++ b/parity_wasm/elements/import_entry/MemoryType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.MemoryType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/ResizableLimits.t.html b/parity_wasm/elements/import_entry/ResizableLimits.t.html new file mode 100644 index 0000000..c2bd122 --- /dev/null +++ b/parity_wasm/elements/import_entry/ResizableLimits.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ResizableLimits.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/TableType.t.html b/parity_wasm/elements/import_entry/TableType.t.html new file mode 100644 index 0000000..b1a8a81 --- /dev/null +++ b/parity_wasm/elements/import_entry/TableType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TableType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/enum.External.html b/parity_wasm/elements/import_entry/enum.External.html new file mode 100644 index 0000000..2668a0a --- /dev/null +++ b/parity_wasm/elements/import_entry/enum.External.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/enum.External.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/struct.GlobalType.html b/parity_wasm/elements/import_entry/struct.GlobalType.html new file mode 100644 index 0000000..aaa4a0e --- /dev/null +++ b/parity_wasm/elements/import_entry/struct.GlobalType.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.GlobalType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/struct.ImportEntry.html b/parity_wasm/elements/import_entry/struct.ImportEntry.html new file mode 100644 index 0000000..5a61b1a --- /dev/null +++ b/parity_wasm/elements/import_entry/struct.ImportEntry.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.ImportEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/struct.MemoryType.html b/parity_wasm/elements/import_entry/struct.MemoryType.html new file mode 100644 index 0000000..1ea177b --- /dev/null +++ b/parity_wasm/elements/import_entry/struct.MemoryType.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.MemoryType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/struct.ResizableLimits.html b/parity_wasm/elements/import_entry/struct.ResizableLimits.html new file mode 100644 index 0000000..988f5e1 --- /dev/null +++ b/parity_wasm/elements/import_entry/struct.ResizableLimits.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.ResizableLimits.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/import_entry/struct.TableType.html b/parity_wasm/elements/import_entry/struct.TableType.html new file mode 100644 index 0000000..486d01e --- /dev/null +++ b/parity_wasm/elements/import_entry/struct.TableType.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.TableType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/index.html b/parity_wasm/elements/index.html new file mode 100644 index 0000000..10af19e --- /dev/null +++ b/parity_wasm/elements/index.html @@ -0,0 +1,552 @@ +parity_wasm::elements - Rust

Module parity_wasm::elements[][src]

Elements of the WebAssembly binary format.

+

Modules

+ + + + +
opcodes + +

Structs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeSection +

Section with function bodies of the module.

+ +
CountedList +

List for reading sequence of elements typed T, given +they are preceded by length (serialized as VarUint32)

+ +
CountedListWriter +

Helper struct to write series of T preceded by the length of the sequence +serialized as VarUint32

+ +
CountedWriter +

Helper struct to write payload which is preceded by +it's own length in bytes.

+ +
CustomSection +

Custom section

+ +
DataSection +

Data entries definitions.

+ +
DataSegment +

Data segment definition.

+ +
ElementSection +

Element entries section.

+ +
ElementSegment +

Entry in the element section.

+ +
ExportEntry +

Export entry.

+ +
ExportSection +

List of exports definition.

+ +
Func +

Function signature (type reference)

+ +
FuncBody +

Function body definition.

+ +
FunctionNameSection +

The names of the functions in this module.

+ +
FunctionSection +

Section with function signatures definition.

+ +
FunctionType +

Function signature type.

+ +
GlobalEntry +

Global entry in the module.

+ +
GlobalSection +

Globals definition section.

+ +
GlobalType +

Global definition struct

+ +
ImportEntry +

Import entry.

+ +
ImportSection +

Section of the imports definition.

+ +
IndexMap +

A map from non-contiguous u32 keys to values of type T, which is +serialized and deserialized ascending order of the keys. Normally used for +relative dense maps with occasional "holes", and stored as an array.

+ +
InitExpr +

Initialization expression.

+ +
Instructions +

List of instructions (usually inside a block section).

+ +
Local +

Local definition inside the function body.

+ +
LocalNameSection +

The names of the local variables in this module's functions.

+ +
MemorySection +

Section with table definition (currently only one entry is allowed).

+ +
MemoryType +

Memory entry.

+ +
Module +

WebAssembly module

+ +
ModuleNameSection +

The name of this module.

+ +
RelocSection +

Relocation information.

+ +
ResizableLimits +

Memory limits

+ +
TableSection +

Section with table definition (currently only one is allowed).

+ +
TableType +

Table entry

+ +
TypeSection +

Section with type declarations

+ +
Uint8 +

8-bit unsigned integer, NOT encoded in LEB128; +it's just a single byte.

+ +
Uint32 +

32-bit unsigned integer, encoded in little endian

+ +
Uint64 +

64-bit unsigned integer, encoded in little endian

+ +
Unparsed +

Unparsed part of the module/section

+ +
VarInt7 +

7-bit signed integer, encoded in LEB128 (always 1 byte length)

+ +
VarInt32 +

32-bit signed integer, encoded in LEB128 (can be 1-5 bytes length)

+ +
VarInt64 +

64-bit signed integer, encoded in LEB128 (can be 1-9 bytes length)

+ +
VarUint1 +

VarUint1, 1-bit value (0/1)

+ +
VarUint7 +

7-bit unsigned integer, encoded in LEB128 (always 1 byte length)

+ +
VarUint32 +

Unsigned variable-length integer, limited to 32 bits, +represented by at most 5 bytes that may contain padding 0x80 bytes.

+ +
VarUint64 +

Unsigned variable-length integer, limited to 64 bits, +represented by at most 9 bytes that may contain padding 0x80 bytes.

+ +

Enums

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BlockType +

Block type which is basically ValueType + NoResult (to define blocks that have no return type)

+ +
Error +

Deserialization/serialization error

+ +
External +

External to local binding.

+ +
ImportCountType +

Type of the import entry to count

+ +
Instruction +

Instruction

+ +
Internal +

Internal reference of the exported entry.

+ +
NameSection +

Debug name information.

+ +
RelocationEntry +

Relocation entry.

+ +
Section +

Section in the WebAssembly module.

+ +
TableElementType +

Table element type.

+ +
Type +

Type definition in types section. Currently can be only of the function type.

+ +
ValueType +

Value type.

+ +

Traits

+ + + + + + + + +
Deserialize +

Deserialization from serial i/o

+ +
Serialize +

Serialization to serial i/o. Takes self by value to consume less memory +(parity-wasm IR is being partially freed by filling the result buffer).

+ +

Functions

+ + + + + + + + + + + + + + + + + + + + +
deserialize_buffer +

Deserialize deserializable type from buffer.

+ +
deserialize_file +

Deserialize module from the file.

+ +
peek_size +

Returns size of the module in the provided stream

+ +
serialize +

Create buffer with serialized value.

+ +
serialize_to_file +

Serialize module to the file

+ +

Type Definitions

+ + + + +
NameMap +

A map from indices to names.

+ +
\ No newline at end of file diff --git a/parity_wasm/elements/index_map/IndexMap.t.html b/parity_wasm/elements/index_map/IndexMap.t.html new file mode 100644 index 0000000..8970215 --- /dev/null +++ b/parity_wasm/elements/index_map/IndexMap.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.IndexMap.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/index_map/struct.IndexMap.html b/parity_wasm/elements/index_map/struct.IndexMap.html new file mode 100644 index 0000000..1e78f81 --- /dev/null +++ b/parity_wasm/elements/index_map/struct.IndexMap.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.IndexMap.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/module/ImportCountType.t.html b/parity_wasm/elements/module/ImportCountType.t.html new file mode 100644 index 0000000..ee59b97 --- /dev/null +++ b/parity_wasm/elements/module/ImportCountType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.ImportCountType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/module/Module.t.html b/parity_wasm/elements/module/Module.t.html new file mode 100644 index 0000000..d13d80c --- /dev/null +++ b/parity_wasm/elements/module/Module.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Module.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/module/enum.ImportCountType.html b/parity_wasm/elements/module/enum.ImportCountType.html new file mode 100644 index 0000000..562e5fd --- /dev/null +++ b/parity_wasm/elements/module/enum.ImportCountType.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/enum.ImportCountType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/module/fn.peek_size.html b/parity_wasm/elements/module/fn.peek_size.html new file mode 100644 index 0000000..29d871b --- /dev/null +++ b/parity_wasm/elements/module/fn.peek_size.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/fn.peek_size.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/module/peek_size.v.html b/parity_wasm/elements/module/peek_size.v.html new file mode 100644 index 0000000..7c9be5d --- /dev/null +++ b/parity_wasm/elements/module/peek_size.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.peek_size.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/module/struct.Module.html b/parity_wasm/elements/module/struct.Module.html new file mode 100644 index 0000000..bc29b7b --- /dev/null +++ b/parity_wasm/elements/module/struct.Module.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.Module.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/name_section/FunctionNameSection.t.html b/parity_wasm/elements/name_section/FunctionNameSection.t.html new file mode 100644 index 0000000..5e16d8c --- /dev/null +++ b/parity_wasm/elements/name_section/FunctionNameSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FunctionNameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/name_section/LocalNameSection.t.html b/parity_wasm/elements/name_section/LocalNameSection.t.html new file mode 100644 index 0000000..ac57673 --- /dev/null +++ b/parity_wasm/elements/name_section/LocalNameSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.LocalNameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/name_section/ModuleNameSection.t.html b/parity_wasm/elements/name_section/ModuleNameSection.t.html new file mode 100644 index 0000000..2b299ae --- /dev/null +++ b/parity_wasm/elements/name_section/ModuleNameSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ModuleNameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/name_section/NameMap.t.html b/parity_wasm/elements/name_section/NameMap.t.html new file mode 100644 index 0000000..f7b8d4a --- /dev/null +++ b/parity_wasm/elements/name_section/NameMap.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to type.NameMap.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/name_section/NameSection.t.html b/parity_wasm/elements/name_section/NameSection.t.html new file mode 100644 index 0000000..39bfdf3 --- /dev/null +++ b/parity_wasm/elements/name_section/NameSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.NameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/name_section/enum.NameSection.html b/parity_wasm/elements/name_section/enum.NameSection.html new file mode 100644 index 0000000..da1c4c5 --- /dev/null +++ b/parity_wasm/elements/name_section/enum.NameSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/enum.NameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/name_section/struct.FunctionNameSection.html b/parity_wasm/elements/name_section/struct.FunctionNameSection.html new file mode 100644 index 0000000..77c896a --- /dev/null +++ b/parity_wasm/elements/name_section/struct.FunctionNameSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.FunctionNameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/name_section/struct.LocalNameSection.html b/parity_wasm/elements/name_section/struct.LocalNameSection.html new file mode 100644 index 0000000..1eeee57 --- /dev/null +++ b/parity_wasm/elements/name_section/struct.LocalNameSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.LocalNameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/name_section/struct.ModuleNameSection.html b/parity_wasm/elements/name_section/struct.ModuleNameSection.html new file mode 100644 index 0000000..2a49624 --- /dev/null +++ b/parity_wasm/elements/name_section/struct.ModuleNameSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.ModuleNameSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/name_section/type.NameMap.html b/parity_wasm/elements/name_section/type.NameMap.html new file mode 100644 index 0000000..daf3563 --- /dev/null +++ b/parity_wasm/elements/name_section/type.NameMap.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/type.NameMap.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/ATOMIC_PREFIX.v.html b/parity_wasm/elements/opcodes/ATOMIC_PREFIX.v.html new file mode 100644 index 0000000..ba8daf8 --- /dev/null +++ b/parity_wasm/elements/opcodes/ATOMIC_PREFIX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.ATOMIC_PREFIX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/ATOMIC_WAKE.v.html b/parity_wasm/elements/opcodes/ATOMIC_WAKE.v.html new file mode 100644 index 0000000..a68a203 --- /dev/null +++ b/parity_wasm/elements/opcodes/ATOMIC_WAKE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.ATOMIC_WAKE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/BLOCK.v.html b/parity_wasm/elements/opcodes/BLOCK.v.html new file mode 100644 index 0000000..9c386b6 --- /dev/null +++ b/parity_wasm/elements/opcodes/BLOCK.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.BLOCK.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/BR.v.html b/parity_wasm/elements/opcodes/BR.v.html new file mode 100644 index 0000000..e14d6ac --- /dev/null +++ b/parity_wasm/elements/opcodes/BR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.BR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/BRIF.v.html b/parity_wasm/elements/opcodes/BRIF.v.html new file mode 100644 index 0000000..8706b8c --- /dev/null +++ b/parity_wasm/elements/opcodes/BRIF.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.BRIF.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/BRTABLE.v.html b/parity_wasm/elements/opcodes/BRTABLE.v.html new file mode 100644 index 0000000..ce8a330 --- /dev/null +++ b/parity_wasm/elements/opcodes/BRTABLE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.BRTABLE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/CALL.v.html b/parity_wasm/elements/opcodes/CALL.v.html new file mode 100644 index 0000000..bcf3582 --- /dev/null +++ b/parity_wasm/elements/opcodes/CALL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.CALL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/CALLINDIRECT.v.html b/parity_wasm/elements/opcodes/CALLINDIRECT.v.html new file mode 100644 index 0000000..d0144ba --- /dev/null +++ b/parity_wasm/elements/opcodes/CALLINDIRECT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.CALLINDIRECT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/CURRENTMEMORY.v.html b/parity_wasm/elements/opcodes/CURRENTMEMORY.v.html new file mode 100644 index 0000000..ba1d0e3 --- /dev/null +++ b/parity_wasm/elements/opcodes/CURRENTMEMORY.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.CURRENTMEMORY.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/DROP.v.html b/parity_wasm/elements/opcodes/DROP.v.html new file mode 100644 index 0000000..12c1022 --- /dev/null +++ b/parity_wasm/elements/opcodes/DROP.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.DROP.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/ELSE.v.html b/parity_wasm/elements/opcodes/ELSE.v.html new file mode 100644 index 0000000..9ed77fb --- /dev/null +++ b/parity_wasm/elements/opcodes/ELSE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.ELSE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/END.v.html b/parity_wasm/elements/opcodes/END.v.html new file mode 100644 index 0000000..6318b60 --- /dev/null +++ b/parity_wasm/elements/opcodes/END.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.END.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32ABS.v.html b/parity_wasm/elements/opcodes/F32ABS.v.html new file mode 100644 index 0000000..ee74fb2 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32ABS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32ADD.v.html b/parity_wasm/elements/opcodes/F32ADD.v.html new file mode 100644 index 0000000..75cc9c9 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32CEIL.v.html b/parity_wasm/elements/opcodes/F32CEIL.v.html new file mode 100644 index 0000000..ec9cebf --- /dev/null +++ b/parity_wasm/elements/opcodes/F32CEIL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CEIL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32CONST.v.html b/parity_wasm/elements/opcodes/F32CONST.v.html new file mode 100644 index 0000000..e730caa --- /dev/null +++ b/parity_wasm/elements/opcodes/F32CONST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32CONVERTSI32.v.html b/parity_wasm/elements/opcodes/F32CONVERTSI32.v.html new file mode 100644 index 0000000..a20f650 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32CONVERTSI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CONVERTSI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32CONVERTSI64.v.html b/parity_wasm/elements/opcodes/F32CONVERTSI64.v.html new file mode 100644 index 0000000..1097967 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32CONVERTSI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CONVERTSI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32CONVERTUI32.v.html b/parity_wasm/elements/opcodes/F32CONVERTUI32.v.html new file mode 100644 index 0000000..38c1e32 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32CONVERTUI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CONVERTUI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32CONVERTUI64.v.html b/parity_wasm/elements/opcodes/F32CONVERTUI64.v.html new file mode 100644 index 0000000..dfde67b --- /dev/null +++ b/parity_wasm/elements/opcodes/F32CONVERTUI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CONVERTUI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32COPYSIGN.v.html b/parity_wasm/elements/opcodes/F32COPYSIGN.v.html new file mode 100644 index 0000000..d40254a --- /dev/null +++ b/parity_wasm/elements/opcodes/F32COPYSIGN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32COPYSIGN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32DEMOTEF64.v.html b/parity_wasm/elements/opcodes/F32DEMOTEF64.v.html new file mode 100644 index 0000000..19399d1 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32DEMOTEF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32DEMOTEF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32DIV.v.html b/parity_wasm/elements/opcodes/F32DIV.v.html new file mode 100644 index 0000000..9210905 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32DIV.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32EQ.v.html b/parity_wasm/elements/opcodes/F32EQ.v.html new file mode 100644 index 0000000..5c2a655 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32FLOOR.v.html b/parity_wasm/elements/opcodes/F32FLOOR.v.html new file mode 100644 index 0000000..97277b2 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32FLOOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32FLOOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32GE.v.html b/parity_wasm/elements/opcodes/F32GE.v.html new file mode 100644 index 0000000..6c460e1 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32GE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32GT.v.html b/parity_wasm/elements/opcodes/F32GT.v.html new file mode 100644 index 0000000..3f85bce --- /dev/null +++ b/parity_wasm/elements/opcodes/F32GT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32LE.v.html b/parity_wasm/elements/opcodes/F32LE.v.html new file mode 100644 index 0000000..8a72edc --- /dev/null +++ b/parity_wasm/elements/opcodes/F32LE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32LOAD.v.html b/parity_wasm/elements/opcodes/F32LOAD.v.html new file mode 100644 index 0000000..1aaf7b2 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32LT.v.html b/parity_wasm/elements/opcodes/F32LT.v.html new file mode 100644 index 0000000..2d7c48b --- /dev/null +++ b/parity_wasm/elements/opcodes/F32LT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32MAX.v.html b/parity_wasm/elements/opcodes/F32MAX.v.html new file mode 100644 index 0000000..d79340c --- /dev/null +++ b/parity_wasm/elements/opcodes/F32MAX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32MIN.v.html b/parity_wasm/elements/opcodes/F32MIN.v.html new file mode 100644 index 0000000..9f6ecc7 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32MIN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32MUL.v.html b/parity_wasm/elements/opcodes/F32MUL.v.html new file mode 100644 index 0000000..7b487b6 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32NE.v.html b/parity_wasm/elements/opcodes/F32NE.v.html new file mode 100644 index 0000000..39b8516 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32NEAREST.v.html b/parity_wasm/elements/opcodes/F32NEAREST.v.html new file mode 100644 index 0000000..2158965 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32NEAREST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32NEAREST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32NEG.v.html b/parity_wasm/elements/opcodes/F32NEG.v.html new file mode 100644 index 0000000..794407d --- /dev/null +++ b/parity_wasm/elements/opcodes/F32NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32REINTERPRETI32.v.html b/parity_wasm/elements/opcodes/F32REINTERPRETI32.v.html new file mode 100644 index 0000000..679e67e --- /dev/null +++ b/parity_wasm/elements/opcodes/F32REINTERPRETI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32REINTERPRETI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32SQRT.v.html b/parity_wasm/elements/opcodes/F32SQRT.v.html new file mode 100644 index 0000000..1df9941 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32SQRT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32STORE.v.html b/parity_wasm/elements/opcodes/F32STORE.v.html new file mode 100644 index 0000000..efb7469 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32SUB.v.html b/parity_wasm/elements/opcodes/F32SUB.v.html new file mode 100644 index 0000000..1efae46 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32TRUNC.v.html b/parity_wasm/elements/opcodes/F32TRUNC.v.html new file mode 100644 index 0000000..9087099 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32TRUNC.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32TRUNC.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_ABS.v.html b/parity_wasm/elements/opcodes/F32X4_ABS.v.html new file mode 100644 index 0000000..29ed8d6 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_ABS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_ADD.v.html b/parity_wasm/elements/opcodes/F32X4_ADD.v.html new file mode 100644 index 0000000..9fe9ea9 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_CONVERT_S_I32X4.v.html b/parity_wasm/elements/opcodes/F32X4_CONVERT_S_I32X4.v.html new file mode 100644 index 0000000..de79e5b --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_CONVERT_S_I32X4.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_CONVERT_S_I32X4.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_CONVERT_U_I32X4.v.html b/parity_wasm/elements/opcodes/F32X4_CONVERT_U_I32X4.v.html new file mode 100644 index 0000000..b996ea6 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_CONVERT_U_I32X4.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_CONVERT_U_I32X4.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_DIV.v.html b/parity_wasm/elements/opcodes/F32X4_DIV.v.html new file mode 100644 index 0000000..b5ae4d7 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_DIV.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_EQ.v.html b/parity_wasm/elements/opcodes/F32X4_EQ.v.html new file mode 100644 index 0000000..9895daf --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_EXTRACT_LANE.v.html b/parity_wasm/elements/opcodes/F32X4_EXTRACT_LANE.v.html new file mode 100644 index 0000000..9ebd06c --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_EXTRACT_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_GE.v.html b/parity_wasm/elements/opcodes/F32X4_GE.v.html new file mode 100644 index 0000000..e349d01 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_GE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_GT.v.html b/parity_wasm/elements/opcodes/F32X4_GT.v.html new file mode 100644 index 0000000..aa6a69b --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_GT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_LE.v.html b/parity_wasm/elements/opcodes/F32X4_LE.v.html new file mode 100644 index 0000000..4646dd0 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_LE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_LT.v.html b/parity_wasm/elements/opcodes/F32X4_LT.v.html new file mode 100644 index 0000000..bfe98b7 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_LT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_MAX.v.html b/parity_wasm/elements/opcodes/F32X4_MAX.v.html new file mode 100644 index 0000000..0ffc949 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_MAX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_MIN.v.html b/parity_wasm/elements/opcodes/F32X4_MIN.v.html new file mode 100644 index 0000000..ae23f13 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_MIN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_MUL.v.html b/parity_wasm/elements/opcodes/F32X4_MUL.v.html new file mode 100644 index 0000000..1271a74 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_NE.v.html b/parity_wasm/elements/opcodes/F32X4_NE.v.html new file mode 100644 index 0000000..67f4a05 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_NEG.v.html b/parity_wasm/elements/opcodes/F32X4_NEG.v.html new file mode 100644 index 0000000..1643b2c --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_REPLACE_LANE.v.html b/parity_wasm/elements/opcodes/F32X4_REPLACE_LANE.v.html new file mode 100644 index 0000000..4d1731b --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_SPLAT.v.html b/parity_wasm/elements/opcodes/F32X4_SPLAT.v.html new file mode 100644 index 0000000..8193826 --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_SQRT.v.html b/parity_wasm/elements/opcodes/F32X4_SQRT.v.html new file mode 100644 index 0000000..4c2989c --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_SQRT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F32X4_SUB.v.html b/parity_wasm/elements/opcodes/F32X4_SUB.v.html new file mode 100644 index 0000000..f298c8d --- /dev/null +++ b/parity_wasm/elements/opcodes/F32X4_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64ABS.v.html b/parity_wasm/elements/opcodes/F64ABS.v.html new file mode 100644 index 0000000..ae9739e --- /dev/null +++ b/parity_wasm/elements/opcodes/F64ABS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64ADD.v.html b/parity_wasm/elements/opcodes/F64ADD.v.html new file mode 100644 index 0000000..2eaa648 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64CEIL.v.html b/parity_wasm/elements/opcodes/F64CEIL.v.html new file mode 100644 index 0000000..27c73ef --- /dev/null +++ b/parity_wasm/elements/opcodes/F64CEIL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CEIL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64CONST.v.html b/parity_wasm/elements/opcodes/F64CONST.v.html new file mode 100644 index 0000000..574016d --- /dev/null +++ b/parity_wasm/elements/opcodes/F64CONST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64CONVERTSI32.v.html b/parity_wasm/elements/opcodes/F64CONVERTSI32.v.html new file mode 100644 index 0000000..21204e3 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64CONVERTSI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CONVERTSI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64CONVERTSI64.v.html b/parity_wasm/elements/opcodes/F64CONVERTSI64.v.html new file mode 100644 index 0000000..53d69cc --- /dev/null +++ b/parity_wasm/elements/opcodes/F64CONVERTSI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CONVERTSI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64CONVERTUI32.v.html b/parity_wasm/elements/opcodes/F64CONVERTUI32.v.html new file mode 100644 index 0000000..cd631c7 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64CONVERTUI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CONVERTUI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64CONVERTUI64.v.html b/parity_wasm/elements/opcodes/F64CONVERTUI64.v.html new file mode 100644 index 0000000..e2df43d --- /dev/null +++ b/parity_wasm/elements/opcodes/F64CONVERTUI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CONVERTUI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64COPYSIGN.v.html b/parity_wasm/elements/opcodes/F64COPYSIGN.v.html new file mode 100644 index 0000000..4b457dc --- /dev/null +++ b/parity_wasm/elements/opcodes/F64COPYSIGN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64COPYSIGN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64DIV.v.html b/parity_wasm/elements/opcodes/F64DIV.v.html new file mode 100644 index 0000000..706a3dc --- /dev/null +++ b/parity_wasm/elements/opcodes/F64DIV.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64EQ.v.html b/parity_wasm/elements/opcodes/F64EQ.v.html new file mode 100644 index 0000000..4ca1995 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64FLOOR.v.html b/parity_wasm/elements/opcodes/F64FLOOR.v.html new file mode 100644 index 0000000..2c98e8f --- /dev/null +++ b/parity_wasm/elements/opcodes/F64FLOOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64FLOOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64GE.v.html b/parity_wasm/elements/opcodes/F64GE.v.html new file mode 100644 index 0000000..a09e3e2 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64GE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64GT.v.html b/parity_wasm/elements/opcodes/F64GT.v.html new file mode 100644 index 0000000..390f094 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64GT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64LE.v.html b/parity_wasm/elements/opcodes/F64LE.v.html new file mode 100644 index 0000000..1ef938f --- /dev/null +++ b/parity_wasm/elements/opcodes/F64LE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64LOAD.v.html b/parity_wasm/elements/opcodes/F64LOAD.v.html new file mode 100644 index 0000000..9b20bee --- /dev/null +++ b/parity_wasm/elements/opcodes/F64LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64LT.v.html b/parity_wasm/elements/opcodes/F64LT.v.html new file mode 100644 index 0000000..af5a040 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64LT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64MAX.v.html b/parity_wasm/elements/opcodes/F64MAX.v.html new file mode 100644 index 0000000..bd2982f --- /dev/null +++ b/parity_wasm/elements/opcodes/F64MAX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64MIN.v.html b/parity_wasm/elements/opcodes/F64MIN.v.html new file mode 100644 index 0000000..fd235fb --- /dev/null +++ b/parity_wasm/elements/opcodes/F64MIN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64MUL.v.html b/parity_wasm/elements/opcodes/F64MUL.v.html new file mode 100644 index 0000000..5c253ca --- /dev/null +++ b/parity_wasm/elements/opcodes/F64MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64NE.v.html b/parity_wasm/elements/opcodes/F64NE.v.html new file mode 100644 index 0000000..8d6a54c --- /dev/null +++ b/parity_wasm/elements/opcodes/F64NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64NEAREST.v.html b/parity_wasm/elements/opcodes/F64NEAREST.v.html new file mode 100644 index 0000000..49d5734 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64NEAREST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64NEAREST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64NEG.v.html b/parity_wasm/elements/opcodes/F64NEG.v.html new file mode 100644 index 0000000..280235c --- /dev/null +++ b/parity_wasm/elements/opcodes/F64NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64PROMOTEF32.v.html b/parity_wasm/elements/opcodes/F64PROMOTEF32.v.html new file mode 100644 index 0000000..a33be4a --- /dev/null +++ b/parity_wasm/elements/opcodes/F64PROMOTEF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64PROMOTEF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64REINTERPRETI64.v.html b/parity_wasm/elements/opcodes/F64REINTERPRETI64.v.html new file mode 100644 index 0000000..db01a53 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64REINTERPRETI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64REINTERPRETI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64SQRT.v.html b/parity_wasm/elements/opcodes/F64SQRT.v.html new file mode 100644 index 0000000..0ca9726 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64SQRT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64STORE.v.html b/parity_wasm/elements/opcodes/F64STORE.v.html new file mode 100644 index 0000000..168a6ef --- /dev/null +++ b/parity_wasm/elements/opcodes/F64STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64SUB.v.html b/parity_wasm/elements/opcodes/F64SUB.v.html new file mode 100644 index 0000000..a64fcf5 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64TRUNC.v.html b/parity_wasm/elements/opcodes/F64TRUNC.v.html new file mode 100644 index 0000000..1b00d4b --- /dev/null +++ b/parity_wasm/elements/opcodes/F64TRUNC.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64TRUNC.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_ABS.v.html b/parity_wasm/elements/opcodes/F64X2_ABS.v.html new file mode 100644 index 0000000..f514056 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_ABS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_ADD.v.html b/parity_wasm/elements/opcodes/F64X2_ADD.v.html new file mode 100644 index 0000000..ccbc0d6 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_CONVERT_S_I64X2.v.html b/parity_wasm/elements/opcodes/F64X2_CONVERT_S_I64X2.v.html new file mode 100644 index 0000000..34ab205 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_CONVERT_S_I64X2.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_CONVERT_S_I64X2.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_CONVERT_U_I64X2.v.html b/parity_wasm/elements/opcodes/F64X2_CONVERT_U_I64X2.v.html new file mode 100644 index 0000000..a9ec1c8 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_CONVERT_U_I64X2.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_CONVERT_U_I64X2.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_DIV.v.html b/parity_wasm/elements/opcodes/F64X2_DIV.v.html new file mode 100644 index 0000000..6bb42db --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_DIV.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_EQ.v.html b/parity_wasm/elements/opcodes/F64X2_EQ.v.html new file mode 100644 index 0000000..41555d3 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_EXTRACT_LANE.v.html b/parity_wasm/elements/opcodes/F64X2_EXTRACT_LANE.v.html new file mode 100644 index 0000000..279e71d --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_EXTRACT_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_GE.v.html b/parity_wasm/elements/opcodes/F64X2_GE.v.html new file mode 100644 index 0000000..6e5de58 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_GE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_GT.v.html b/parity_wasm/elements/opcodes/F64X2_GT.v.html new file mode 100644 index 0000000..8de4113 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_GT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_LE.v.html b/parity_wasm/elements/opcodes/F64X2_LE.v.html new file mode 100644 index 0000000..71118e1 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_LE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_LT.v.html b/parity_wasm/elements/opcodes/F64X2_LT.v.html new file mode 100644 index 0000000..ff2745d --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_LT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_MAX.v.html b/parity_wasm/elements/opcodes/F64X2_MAX.v.html new file mode 100644 index 0000000..c9fe553 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_MAX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_MIN.v.html b/parity_wasm/elements/opcodes/F64X2_MIN.v.html new file mode 100644 index 0000000..eb3f680 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_MIN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_MUL.v.html b/parity_wasm/elements/opcodes/F64X2_MUL.v.html new file mode 100644 index 0000000..92cd974 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_NE.v.html b/parity_wasm/elements/opcodes/F64X2_NE.v.html new file mode 100644 index 0000000..e142b0f --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_NEG.v.html b/parity_wasm/elements/opcodes/F64X2_NEG.v.html new file mode 100644 index 0000000..5183eba --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_REPLACE_LANE.v.html b/parity_wasm/elements/opcodes/F64X2_REPLACE_LANE.v.html new file mode 100644 index 0000000..a4e9588 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_SPLAT.v.html b/parity_wasm/elements/opcodes/F64X2_SPLAT.v.html new file mode 100644 index 0000000..e777157 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_SQRT.v.html b/parity_wasm/elements/opcodes/F64X2_SQRT.v.html new file mode 100644 index 0000000..899877f --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_SQRT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/F64X2_SUB.v.html b/parity_wasm/elements/opcodes/F64X2_SUB.v.html new file mode 100644 index 0000000..5e83d19 --- /dev/null +++ b/parity_wasm/elements/opcodes/F64X2_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/GETGLOBAL.v.html b/parity_wasm/elements/opcodes/GETGLOBAL.v.html new file mode 100644 index 0000000..40a1e20 --- /dev/null +++ b/parity_wasm/elements/opcodes/GETGLOBAL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.GETGLOBAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/GETLOCAL.v.html b/parity_wasm/elements/opcodes/GETLOCAL.v.html new file mode 100644 index 0000000..6926c44 --- /dev/null +++ b/parity_wasm/elements/opcodes/GETLOCAL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.GETLOCAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/GROWMEMORY.v.html b/parity_wasm/elements/opcodes/GROWMEMORY.v.html new file mode 100644 index 0000000..3942b93 --- /dev/null +++ b/parity_wasm/elements/opcodes/GROWMEMORY.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.GROWMEMORY.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_ADD.v.html b/parity_wasm/elements/opcodes/I16X8_ADD.v.html new file mode 100644 index 0000000..04e96b8 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_ADD_SATURATE_S.v.html b/parity_wasm/elements/opcodes/I16X8_ADD_SATURATE_S.v.html new file mode 100644 index 0000000..331b8be --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_ADD_SATURATE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_ADD_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_ADD_SATURATE_U.v.html b/parity_wasm/elements/opcodes/I16X8_ADD_SATURATE_U.v.html new file mode 100644 index 0000000..b494d77 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_ADD_SATURATE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_ADD_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_ALL_TRUE.v.html b/parity_wasm/elements/opcodes/I16X8_ALL_TRUE.v.html new file mode 100644 index 0000000..8553de7 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_ALL_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_ANY_TRUE.v.html b/parity_wasm/elements/opcodes/I16X8_ANY_TRUE.v.html new file mode 100644 index 0000000..66829d5 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_ANY_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_EQ.v.html b/parity_wasm/elements/opcodes/I16X8_EQ.v.html new file mode 100644 index 0000000..87adcba --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_EXTRACT_LANE_S.v.html b/parity_wasm/elements/opcodes/I16X8_EXTRACT_LANE_S.v.html new file mode 100644 index 0000000..a69369b --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_EXTRACT_LANE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_EXTRACT_LANE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_EXTRACT_LANE_U.v.html b/parity_wasm/elements/opcodes/I16X8_EXTRACT_LANE_U.v.html new file mode 100644 index 0000000..d3e8033 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_EXTRACT_LANE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_EXTRACT_LANE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_GE_S.v.html b/parity_wasm/elements/opcodes/I16X8_GE_S.v.html new file mode 100644 index 0000000..6e6d542 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_GE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_GE_U.v.html b/parity_wasm/elements/opcodes/I16X8_GE_U.v.html new file mode 100644 index 0000000..1d5f1d5 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_GE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_GT_S.v.html b/parity_wasm/elements/opcodes/I16X8_GT_S.v.html new file mode 100644 index 0000000..742ed27 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_GT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_GT_U.v.html b/parity_wasm/elements/opcodes/I16X8_GT_U.v.html new file mode 100644 index 0000000..2dcd93a --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_GT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_LE_S.v.html b/parity_wasm/elements/opcodes/I16X8_LE_S.v.html new file mode 100644 index 0000000..568fb2b --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_LE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_LE_U.v.html b/parity_wasm/elements/opcodes/I16X8_LE_U.v.html new file mode 100644 index 0000000..1f30902 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_LE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_LT_S.v.html b/parity_wasm/elements/opcodes/I16X8_LT_S.v.html new file mode 100644 index 0000000..3107b95 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_LT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_LT_U.v.html b/parity_wasm/elements/opcodes/I16X8_LT_U.v.html new file mode 100644 index 0000000..10ba83c --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_LT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_MUL.v.html b/parity_wasm/elements/opcodes/I16X8_MUL.v.html new file mode 100644 index 0000000..718bdcc --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_NE.v.html b/parity_wasm/elements/opcodes/I16X8_NE.v.html new file mode 100644 index 0000000..41c46f8 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_NEG.v.html b/parity_wasm/elements/opcodes/I16X8_NEG.v.html new file mode 100644 index 0000000..1eb12ea --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_REPLACE_LANE.v.html b/parity_wasm/elements/opcodes/I16X8_REPLACE_LANE.v.html new file mode 100644 index 0000000..9efdca0 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_SHL.v.html b/parity_wasm/elements/opcodes/I16X8_SHL.v.html new file mode 100644 index 0000000..5942a53 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_SHR_S.v.html b/parity_wasm/elements/opcodes/I16X8_SHR_S.v.html new file mode 100644 index 0000000..57f2ff3 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_SHR_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_SHR_U.v.html b/parity_wasm/elements/opcodes/I16X8_SHR_U.v.html new file mode 100644 index 0000000..36a7af2 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_SHR_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_SPLAT.v.html b/parity_wasm/elements/opcodes/I16X8_SPLAT.v.html new file mode 100644 index 0000000..ff15c60 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_SUB.v.html b/parity_wasm/elements/opcodes/I16X8_SUB.v.html new file mode 100644 index 0000000..fed0597 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_SUB_SATURATE_S.v.html b/parity_wasm/elements/opcodes/I16X8_SUB_SATURATE_S.v.html new file mode 100644 index 0000000..24ad9f6 --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_SUB_SATURATE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SUB_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I16X8_SUB_SATURATE_U.v.html b/parity_wasm/elements/opcodes/I16X8_SUB_SATURATE_U.v.html new file mode 100644 index 0000000..2c9aa3a --- /dev/null +++ b/parity_wasm/elements/opcodes/I16X8_SUB_SATURATE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SUB_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32ADD.v.html b/parity_wasm/elements/opcodes/I32ADD.v.html new file mode 100644 index 0000000..3b3d90f --- /dev/null +++ b/parity_wasm/elements/opcodes/I32ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32AND.v.html b/parity_wasm/elements/opcodes/I32AND.v.html new file mode 100644 index 0000000..36f325b --- /dev/null +++ b/parity_wasm/elements/opcodes/I32AND.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32CLZ.v.html b/parity_wasm/elements/opcodes/I32CLZ.v.html new file mode 100644 index 0000000..acb052a --- /dev/null +++ b/parity_wasm/elements/opcodes/I32CLZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32CLZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32CONST.v.html b/parity_wasm/elements/opcodes/I32CONST.v.html new file mode 100644 index 0000000..b0bc05c --- /dev/null +++ b/parity_wasm/elements/opcodes/I32CONST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32CTZ.v.html b/parity_wasm/elements/opcodes/I32CTZ.v.html new file mode 100644 index 0000000..b9561b8 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32CTZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32CTZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32DIVS.v.html b/parity_wasm/elements/opcodes/I32DIVS.v.html new file mode 100644 index 0000000..bbfbacd --- /dev/null +++ b/parity_wasm/elements/opcodes/I32DIVS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32DIVS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32DIVU.v.html b/parity_wasm/elements/opcodes/I32DIVU.v.html new file mode 100644 index 0000000..69e2c60 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32DIVU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32DIVU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32EQ.v.html b/parity_wasm/elements/opcodes/I32EQ.v.html new file mode 100644 index 0000000..2548792 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32EQZ.v.html b/parity_wasm/elements/opcodes/I32EQZ.v.html new file mode 100644 index 0000000..e2a1f4f --- /dev/null +++ b/parity_wasm/elements/opcodes/I32EQZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32EQZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32GES.v.html b/parity_wasm/elements/opcodes/I32GES.v.html new file mode 100644 index 0000000..3f92b1d --- /dev/null +++ b/parity_wasm/elements/opcodes/I32GES.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32GES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32GEU.v.html b/parity_wasm/elements/opcodes/I32GEU.v.html new file mode 100644 index 0000000..7d97f84 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32GEU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32GEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32GTS.v.html b/parity_wasm/elements/opcodes/I32GTS.v.html new file mode 100644 index 0000000..6d8ee6e --- /dev/null +++ b/parity_wasm/elements/opcodes/I32GTS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32GTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32GTU.v.html b/parity_wasm/elements/opcodes/I32GTU.v.html new file mode 100644 index 0000000..b41d90f --- /dev/null +++ b/parity_wasm/elements/opcodes/I32GTU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32GTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32LES.v.html b/parity_wasm/elements/opcodes/I32LES.v.html new file mode 100644 index 0000000..e1a4def --- /dev/null +++ b/parity_wasm/elements/opcodes/I32LES.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32LEU.v.html b/parity_wasm/elements/opcodes/I32LEU.v.html new file mode 100644 index 0000000..628ed9b --- /dev/null +++ b/parity_wasm/elements/opcodes/I32LEU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32LOAD.v.html b/parity_wasm/elements/opcodes/I32LOAD.v.html new file mode 100644 index 0000000..7af78d4 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32LOAD16S.v.html b/parity_wasm/elements/opcodes/I32LOAD16S.v.html new file mode 100644 index 0000000..b9e794e --- /dev/null +++ b/parity_wasm/elements/opcodes/I32LOAD16S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LOAD16S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32LOAD16U.v.html b/parity_wasm/elements/opcodes/I32LOAD16U.v.html new file mode 100644 index 0000000..f844d90 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32LOAD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32LOAD8S.v.html b/parity_wasm/elements/opcodes/I32LOAD8S.v.html new file mode 100644 index 0000000..efd0d1e --- /dev/null +++ b/parity_wasm/elements/opcodes/I32LOAD8S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LOAD8S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32LOAD8U.v.html b/parity_wasm/elements/opcodes/I32LOAD8U.v.html new file mode 100644 index 0000000..a01376b --- /dev/null +++ b/parity_wasm/elements/opcodes/I32LOAD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32LTS.v.html b/parity_wasm/elements/opcodes/I32LTS.v.html new file mode 100644 index 0000000..febe90d --- /dev/null +++ b/parity_wasm/elements/opcodes/I32LTS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32LTU.v.html b/parity_wasm/elements/opcodes/I32LTU.v.html new file mode 100644 index 0000000..43a0cea --- /dev/null +++ b/parity_wasm/elements/opcodes/I32LTU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32MUL.v.html b/parity_wasm/elements/opcodes/I32MUL.v.html new file mode 100644 index 0000000..1c7abc6 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32NE.v.html b/parity_wasm/elements/opcodes/I32NE.v.html new file mode 100644 index 0000000..afd1771 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32OR.v.html b/parity_wasm/elements/opcodes/I32OR.v.html new file mode 100644 index 0000000..290ee38 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32OR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32POPCNT.v.html b/parity_wasm/elements/opcodes/I32POPCNT.v.html new file mode 100644 index 0000000..1bfe739 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32POPCNT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32POPCNT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32REINTERPRETF32.v.html b/parity_wasm/elements/opcodes/I32REINTERPRETF32.v.html new file mode 100644 index 0000000..41ec189 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32REINTERPRETF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32REINTERPRETF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32REMS.v.html b/parity_wasm/elements/opcodes/I32REMS.v.html new file mode 100644 index 0000000..8dc9256 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32REMS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32REMS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32REMU.v.html b/parity_wasm/elements/opcodes/I32REMU.v.html new file mode 100644 index 0000000..d8ffff9 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32REMU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32REMU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32ROTL.v.html b/parity_wasm/elements/opcodes/I32ROTL.v.html new file mode 100644 index 0000000..723287c --- /dev/null +++ b/parity_wasm/elements/opcodes/I32ROTL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32ROTL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32ROTR.v.html b/parity_wasm/elements/opcodes/I32ROTR.v.html new file mode 100644 index 0000000..3325b16 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32ROTR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32ROTR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32SHL.v.html b/parity_wasm/elements/opcodes/I32SHL.v.html new file mode 100644 index 0000000..65959e7 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32SHRS.v.html b/parity_wasm/elements/opcodes/I32SHRS.v.html new file mode 100644 index 0000000..33cecb4 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32SHRS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32SHRS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32SHRU.v.html b/parity_wasm/elements/opcodes/I32SHRU.v.html new file mode 100644 index 0000000..eefc744 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32SHRU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32SHRU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32STORE.v.html b/parity_wasm/elements/opcodes/I32STORE.v.html new file mode 100644 index 0000000..e489837 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32STORE16.v.html b/parity_wasm/elements/opcodes/I32STORE16.v.html new file mode 100644 index 0000000..042afec --- /dev/null +++ b/parity_wasm/elements/opcodes/I32STORE16.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32STORE16.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32STORE8.v.html b/parity_wasm/elements/opcodes/I32STORE8.v.html new file mode 100644 index 0000000..1cfc911 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32STORE8.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32STORE8.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32SUB.v.html b/parity_wasm/elements/opcodes/I32SUB.v.html new file mode 100644 index 0000000..c352bfd --- /dev/null +++ b/parity_wasm/elements/opcodes/I32SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32TRUNCSF32.v.html b/parity_wasm/elements/opcodes/I32TRUNCSF32.v.html new file mode 100644 index 0000000..c10ed1e --- /dev/null +++ b/parity_wasm/elements/opcodes/I32TRUNCSF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32TRUNCSF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32TRUNCSF64.v.html b/parity_wasm/elements/opcodes/I32TRUNCSF64.v.html new file mode 100644 index 0000000..e25015e --- /dev/null +++ b/parity_wasm/elements/opcodes/I32TRUNCSF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32TRUNCSF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32TRUNCUF32.v.html b/parity_wasm/elements/opcodes/I32TRUNCUF32.v.html new file mode 100644 index 0000000..a9961fa --- /dev/null +++ b/parity_wasm/elements/opcodes/I32TRUNCUF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32TRUNCUF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32TRUNCUF64.v.html b/parity_wasm/elements/opcodes/I32TRUNCUF64.v.html new file mode 100644 index 0000000..8d61cfd --- /dev/null +++ b/parity_wasm/elements/opcodes/I32TRUNCUF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32TRUNCUF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32WRAPI64.v.html b/parity_wasm/elements/opcodes/I32WRAPI64.v.html new file mode 100644 index 0000000..5d90a1e --- /dev/null +++ b/parity_wasm/elements/opcodes/I32WRAPI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32WRAPI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_ADD.v.html b/parity_wasm/elements/opcodes/I32X4_ADD.v.html new file mode 100644 index 0000000..97cf4ac --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_ALL_TRUE.v.html b/parity_wasm/elements/opcodes/I32X4_ALL_TRUE.v.html new file mode 100644 index 0000000..1b3941c --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_ALL_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_ANY_TRUE.v.html b/parity_wasm/elements/opcodes/I32X4_ANY_TRUE.v.html new file mode 100644 index 0000000..b0f256e --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_ANY_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_EQ.v.html b/parity_wasm/elements/opcodes/I32X4_EQ.v.html new file mode 100644 index 0000000..4a2600e --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_EXTRACT_LANE.v.html b/parity_wasm/elements/opcodes/I32X4_EXTRACT_LANE.v.html new file mode 100644 index 0000000..3dc74fa --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_EXTRACT_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_GE_S.v.html b/parity_wasm/elements/opcodes/I32X4_GE_S.v.html new file mode 100644 index 0000000..243e802 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_GE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_GE_U.v.html b/parity_wasm/elements/opcodes/I32X4_GE_U.v.html new file mode 100644 index 0000000..5c679a0 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_GE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_GT_S.v.html b/parity_wasm/elements/opcodes/I32X4_GT_S.v.html new file mode 100644 index 0000000..c5d8248 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_GT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_GT_U.v.html b/parity_wasm/elements/opcodes/I32X4_GT_U.v.html new file mode 100644 index 0000000..c74dc8e --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_GT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_LE_S.v.html b/parity_wasm/elements/opcodes/I32X4_LE_S.v.html new file mode 100644 index 0000000..77dc38d --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_LE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_LE_U.v.html b/parity_wasm/elements/opcodes/I32X4_LE_U.v.html new file mode 100644 index 0000000..3a05986 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_LE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_LT_S.v.html b/parity_wasm/elements/opcodes/I32X4_LT_S.v.html new file mode 100644 index 0000000..f48fdb4 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_LT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_LT_U.v.html b/parity_wasm/elements/opcodes/I32X4_LT_U.v.html new file mode 100644 index 0000000..bd4f4eb --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_LT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_MUL.v.html b/parity_wasm/elements/opcodes/I32X4_MUL.v.html new file mode 100644 index 0000000..4286419 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_NE.v.html b/parity_wasm/elements/opcodes/I32X4_NE.v.html new file mode 100644 index 0000000..168d2d7 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_NEG.v.html b/parity_wasm/elements/opcodes/I32X4_NEG.v.html new file mode 100644 index 0000000..feb8352 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_REPLACE_LANE.v.html b/parity_wasm/elements/opcodes/I32X4_REPLACE_LANE.v.html new file mode 100644 index 0000000..9356814 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_SHL.v.html b/parity_wasm/elements/opcodes/I32X4_SHL.v.html new file mode 100644 index 0000000..ea89de3 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_SHR_S.v.html b/parity_wasm/elements/opcodes/I32X4_SHR_S.v.html new file mode 100644 index 0000000..e002e67 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_SHR_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_SHR_U.v.html b/parity_wasm/elements/opcodes/I32X4_SHR_U.v.html new file mode 100644 index 0000000..8c4bd1a --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_SHR_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_SPLAT.v.html b/parity_wasm/elements/opcodes/I32X4_SPLAT.v.html new file mode 100644 index 0000000..cbb8aac --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_SUB.v.html b/parity_wasm/elements/opcodes/I32X4_SUB.v.html new file mode 100644 index 0000000..8b7d780 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_TRUNC_S_F32X4_SAT.v.html b/parity_wasm/elements/opcodes/I32X4_TRUNC_S_F32X4_SAT.v.html new file mode 100644 index 0000000..539ff1b --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_TRUNC_S_F32X4_SAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_TRUNC_S_F32X4_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32X4_TRUNC_U_F32X4_SAT.v.html b/parity_wasm/elements/opcodes/I32X4_TRUNC_U_F32X4_SAT.v.html new file mode 100644 index 0000000..f4538fa --- /dev/null +++ b/parity_wasm/elements/opcodes/I32X4_TRUNC_U_F32X4_SAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_TRUNC_U_F32X4_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32XOR.v.html b/parity_wasm/elements/opcodes/I32XOR.v.html new file mode 100644 index 0000000..a4ef298 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32XOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_LOAD.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_LOAD.v.html new file mode 100644 index 0000000..f501cfd --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_LOAD16U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_LOAD16U.v.html new file mode 100644 index 0000000..9206865 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_LOAD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_LOAD8U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_LOAD8U.v.html new file mode 100644 index 0000000..441ef28 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_LOAD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD.v.html new file mode 100644 index 0000000..4aac5de --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD16U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD16U.v.html new file mode 100644 index 0000000..83fdaed --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_ADD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD8U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD8U.v.html new file mode 100644 index 0000000..3475cf0 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_ADD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_ADD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND.v.html new file mode 100644 index 0000000..64bf409 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND16U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND16U.v.html new file mode 100644 index 0000000..e94d9b8 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_AND16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND8U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND8U.v.html new file mode 100644 index 0000000..3dc3fbf --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_AND8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_AND8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG.v.html new file mode 100644 index 0000000..135b1c5 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_CMPXCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG16U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG16U.v.html new file mode 100644 index 0000000..40660c8 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_CMPXCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG8U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG8U.v.html new file mode 100644 index 0000000..00692d7 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_CMPXCHG8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_CMPXCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR.v.html new file mode 100644 index 0000000..e37a947 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR16U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR16U.v.html new file mode 100644 index 0000000..d15d237 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_OR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR8U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR8U.v.html new file mode 100644 index 0000000..b19f5a6 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_OR8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_OR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB.v.html new file mode 100644 index 0000000..3f0dc7c --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB16U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB16U.v.html new file mode 100644 index 0000000..f1fdc9b --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_SUB16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB8U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB8U.v.html new file mode 100644 index 0000000..2b19a46 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_SUB8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_SUB8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG.v.html new file mode 100644 index 0000000..eef3628 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG16U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG16U.v.html new file mode 100644 index 0000000..c00d537 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG8U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG8U.v.html new file mode 100644 index 0000000..13df81c --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XCHG8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR.v.html new file mode 100644 index 0000000..8bfd01d --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR16U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR16U.v.html new file mode 100644 index 0000000..fcb6119 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XOR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR8U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR8U.v.html new file mode 100644 index 0000000..17140b2 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_RMW_XOR8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XOR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_STORE.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_STORE.v.html new file mode 100644 index 0000000..c7b1abf --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_STORE16U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_STORE16U.v.html new file mode 100644 index 0000000..ff5639b --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_STORE16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_STORE16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_STORE8U.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_STORE8U.v.html new file mode 100644 index 0000000..0be73d0 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_STORE8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_STORE8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_ATOMIC_WAIT.v.html b/parity_wasm/elements/opcodes/I32_ATOMIC_WAIT.v.html new file mode 100644 index 0000000..7f5b578 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_ATOMIC_WAIT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_WAIT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_EXTEND16_S.v.html b/parity_wasm/elements/opcodes/I32_EXTEND16_S.v.html new file mode 100644 index 0000000..4260ceb --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_EXTEND16_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_EXTEND16_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I32_EXTEND8_S.v.html b/parity_wasm/elements/opcodes/I32_EXTEND8_S.v.html new file mode 100644 index 0000000..1f4f4f7 --- /dev/null +++ b/parity_wasm/elements/opcodes/I32_EXTEND8_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_EXTEND8_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64ADD.v.html b/parity_wasm/elements/opcodes/I64ADD.v.html new file mode 100644 index 0000000..2cffdfb --- /dev/null +++ b/parity_wasm/elements/opcodes/I64ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64AND.v.html b/parity_wasm/elements/opcodes/I64AND.v.html new file mode 100644 index 0000000..afac65e --- /dev/null +++ b/parity_wasm/elements/opcodes/I64AND.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64CLZ.v.html b/parity_wasm/elements/opcodes/I64CLZ.v.html new file mode 100644 index 0000000..c99bc45 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64CLZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64CLZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64CONST.v.html b/parity_wasm/elements/opcodes/I64CONST.v.html new file mode 100644 index 0000000..c8a434c --- /dev/null +++ b/parity_wasm/elements/opcodes/I64CONST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64CTZ.v.html b/parity_wasm/elements/opcodes/I64CTZ.v.html new file mode 100644 index 0000000..3a70c29 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64CTZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64CTZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64DIVS.v.html b/parity_wasm/elements/opcodes/I64DIVS.v.html new file mode 100644 index 0000000..21df44c --- /dev/null +++ b/parity_wasm/elements/opcodes/I64DIVS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64DIVS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64DIVU.v.html b/parity_wasm/elements/opcodes/I64DIVU.v.html new file mode 100644 index 0000000..df9a19c --- /dev/null +++ b/parity_wasm/elements/opcodes/I64DIVU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64DIVU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64EQ.v.html b/parity_wasm/elements/opcodes/I64EQ.v.html new file mode 100644 index 0000000..fb4c4ae --- /dev/null +++ b/parity_wasm/elements/opcodes/I64EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64EQZ.v.html b/parity_wasm/elements/opcodes/I64EQZ.v.html new file mode 100644 index 0000000..12c9c14 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64EQZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64EQZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64EXTENDSI32.v.html b/parity_wasm/elements/opcodes/I64EXTENDSI32.v.html new file mode 100644 index 0000000..50b22ec --- /dev/null +++ b/parity_wasm/elements/opcodes/I64EXTENDSI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64EXTENDSI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64EXTENDUI32.v.html b/parity_wasm/elements/opcodes/I64EXTENDUI32.v.html new file mode 100644 index 0000000..0929193 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64EXTENDUI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64EXTENDUI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64GES.v.html b/parity_wasm/elements/opcodes/I64GES.v.html new file mode 100644 index 0000000..b035726 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64GES.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64GES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64GEU.v.html b/parity_wasm/elements/opcodes/I64GEU.v.html new file mode 100644 index 0000000..04121a5 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64GEU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64GEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64GTS.v.html b/parity_wasm/elements/opcodes/I64GTS.v.html new file mode 100644 index 0000000..a32c9e0 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64GTS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64GTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64GTU.v.html b/parity_wasm/elements/opcodes/I64GTU.v.html new file mode 100644 index 0000000..149c331 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64GTU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64GTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64LES.v.html b/parity_wasm/elements/opcodes/I64LES.v.html new file mode 100644 index 0000000..e7c3363 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64LES.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64LEU.v.html b/parity_wasm/elements/opcodes/I64LEU.v.html new file mode 100644 index 0000000..237ae8b --- /dev/null +++ b/parity_wasm/elements/opcodes/I64LEU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64LOAD.v.html b/parity_wasm/elements/opcodes/I64LOAD.v.html new file mode 100644 index 0000000..c65fb82 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64LOAD16S.v.html b/parity_wasm/elements/opcodes/I64LOAD16S.v.html new file mode 100644 index 0000000..5298020 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64LOAD16S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD16S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64LOAD16U.v.html b/parity_wasm/elements/opcodes/I64LOAD16U.v.html new file mode 100644 index 0000000..9443e96 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64LOAD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64LOAD32S.v.html b/parity_wasm/elements/opcodes/I64LOAD32S.v.html new file mode 100644 index 0000000..9a5c370 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64LOAD32S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD32S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64LOAD32U.v.html b/parity_wasm/elements/opcodes/I64LOAD32U.v.html new file mode 100644 index 0000000..f383a01 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64LOAD32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64LOAD8S.v.html b/parity_wasm/elements/opcodes/I64LOAD8S.v.html new file mode 100644 index 0000000..5fb3180 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64LOAD8S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD8S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64LOAD8U.v.html b/parity_wasm/elements/opcodes/I64LOAD8U.v.html new file mode 100644 index 0000000..644ecd6 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64LOAD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64LTS.v.html b/parity_wasm/elements/opcodes/I64LTS.v.html new file mode 100644 index 0000000..123db97 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64LTS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64LTU.v.html b/parity_wasm/elements/opcodes/I64LTU.v.html new file mode 100644 index 0000000..3ce7442 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64LTU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64MUL.v.html b/parity_wasm/elements/opcodes/I64MUL.v.html new file mode 100644 index 0000000..2fbc346 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64NE.v.html b/parity_wasm/elements/opcodes/I64NE.v.html new file mode 100644 index 0000000..fea42cc --- /dev/null +++ b/parity_wasm/elements/opcodes/I64NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64OR.v.html b/parity_wasm/elements/opcodes/I64OR.v.html new file mode 100644 index 0000000..eef3ec8 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64OR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64POPCNT.v.html b/parity_wasm/elements/opcodes/I64POPCNT.v.html new file mode 100644 index 0000000..83bd2c9 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64POPCNT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64POPCNT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64REINTERPRETF64.v.html b/parity_wasm/elements/opcodes/I64REINTERPRETF64.v.html new file mode 100644 index 0000000..ccefee4 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64REINTERPRETF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64REINTERPRETF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64REMS.v.html b/parity_wasm/elements/opcodes/I64REMS.v.html new file mode 100644 index 0000000..2dad889 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64REMS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64REMS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64REMU.v.html b/parity_wasm/elements/opcodes/I64REMU.v.html new file mode 100644 index 0000000..ac9af69 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64REMU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64REMU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64ROTL.v.html b/parity_wasm/elements/opcodes/I64ROTL.v.html new file mode 100644 index 0000000..589f9fb --- /dev/null +++ b/parity_wasm/elements/opcodes/I64ROTL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64ROTL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64ROTR.v.html b/parity_wasm/elements/opcodes/I64ROTR.v.html new file mode 100644 index 0000000..a8bd3df --- /dev/null +++ b/parity_wasm/elements/opcodes/I64ROTR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64ROTR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64SHL.v.html b/parity_wasm/elements/opcodes/I64SHL.v.html new file mode 100644 index 0000000..6a08e4e --- /dev/null +++ b/parity_wasm/elements/opcodes/I64SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64SHRS.v.html b/parity_wasm/elements/opcodes/I64SHRS.v.html new file mode 100644 index 0000000..79ea7b2 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64SHRS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64SHRS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64SHRU.v.html b/parity_wasm/elements/opcodes/I64SHRU.v.html new file mode 100644 index 0000000..b508f3f --- /dev/null +++ b/parity_wasm/elements/opcodes/I64SHRU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64SHRU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64STORE.v.html b/parity_wasm/elements/opcodes/I64STORE.v.html new file mode 100644 index 0000000..e19bc85 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64STORE16.v.html b/parity_wasm/elements/opcodes/I64STORE16.v.html new file mode 100644 index 0000000..cc00c23 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64STORE16.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64STORE16.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64STORE32.v.html b/parity_wasm/elements/opcodes/I64STORE32.v.html new file mode 100644 index 0000000..27d0093 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64STORE32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64STORE32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64STORE8.v.html b/parity_wasm/elements/opcodes/I64STORE8.v.html new file mode 100644 index 0000000..94723f1 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64STORE8.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64STORE8.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64SUB.v.html b/parity_wasm/elements/opcodes/I64SUB.v.html new file mode 100644 index 0000000..abf2e9d --- /dev/null +++ b/parity_wasm/elements/opcodes/I64SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64TRUNCSF32.v.html b/parity_wasm/elements/opcodes/I64TRUNCSF32.v.html new file mode 100644 index 0000000..4fa5106 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64TRUNCSF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64TRUNCSF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64TRUNCSF64.v.html b/parity_wasm/elements/opcodes/I64TRUNCSF64.v.html new file mode 100644 index 0000000..3e5da85 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64TRUNCSF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64TRUNCSF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64TRUNCUF32.v.html b/parity_wasm/elements/opcodes/I64TRUNCUF32.v.html new file mode 100644 index 0000000..1c8f386 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64TRUNCUF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64TRUNCUF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64TRUNCUF64.v.html b/parity_wasm/elements/opcodes/I64TRUNCUF64.v.html new file mode 100644 index 0000000..782280a --- /dev/null +++ b/parity_wasm/elements/opcodes/I64TRUNCUF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64TRUNCUF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_ADD.v.html b/parity_wasm/elements/opcodes/I64X2_ADD.v.html new file mode 100644 index 0000000..bff6b57 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_ALL_TRUE.v.html b/parity_wasm/elements/opcodes/I64X2_ALL_TRUE.v.html new file mode 100644 index 0000000..b012181 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_ALL_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_ANY_TRUE.v.html b/parity_wasm/elements/opcodes/I64X2_ANY_TRUE.v.html new file mode 100644 index 0000000..7ea8baa --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_ANY_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_EXTRACT_LANE.v.html b/parity_wasm/elements/opcodes/I64X2_EXTRACT_LANE.v.html new file mode 100644 index 0000000..690fe71 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_EXTRACT_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_GE_S.v.html b/parity_wasm/elements/opcodes/I64X2_GE_S.v.html new file mode 100644 index 0000000..fe75768 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_GE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_GE_U.v.html b/parity_wasm/elements/opcodes/I64X2_GE_U.v.html new file mode 100644 index 0000000..734d04f --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_GE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_GT_S.v.html b/parity_wasm/elements/opcodes/I64X2_GT_S.v.html new file mode 100644 index 0000000..1fabdc9 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_GT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_GT_U.v.html b/parity_wasm/elements/opcodes/I64X2_GT_U.v.html new file mode 100644 index 0000000..9c3cb45 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_GT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_LE_S.v.html b/parity_wasm/elements/opcodes/I64X2_LE_S.v.html new file mode 100644 index 0000000..ef02ffd --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_LE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_LE_U.v.html b/parity_wasm/elements/opcodes/I64X2_LE_U.v.html new file mode 100644 index 0000000..8ace1cf --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_LE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_LT_S.v.html b/parity_wasm/elements/opcodes/I64X2_LT_S.v.html new file mode 100644 index 0000000..840399c --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_LT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_LT_U.v.html b/parity_wasm/elements/opcodes/I64X2_LT_U.v.html new file mode 100644 index 0000000..06fa911 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_LT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_NEG.v.html b/parity_wasm/elements/opcodes/I64X2_NEG.v.html new file mode 100644 index 0000000..54b5b78 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_REPLACE_LANE.v.html b/parity_wasm/elements/opcodes/I64X2_REPLACE_LANE.v.html new file mode 100644 index 0000000..140bbd5 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_SHL.v.html b/parity_wasm/elements/opcodes/I64X2_SHL.v.html new file mode 100644 index 0000000..d3299b3 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_SHR_S.v.html b/parity_wasm/elements/opcodes/I64X2_SHR_S.v.html new file mode 100644 index 0000000..2d2516f --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_SHR_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_SHR_U.v.html b/parity_wasm/elements/opcodes/I64X2_SHR_U.v.html new file mode 100644 index 0000000..e01748a --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_SHR_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_SPLAT.v.html b/parity_wasm/elements/opcodes/I64X2_SPLAT.v.html new file mode 100644 index 0000000..b1335e3 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_SUB.v.html b/parity_wasm/elements/opcodes/I64X2_SUB.v.html new file mode 100644 index 0000000..a1751d4 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_TRUNC_S_F64X2_SAT.v.html b/parity_wasm/elements/opcodes/I64X2_TRUNC_S_F64X2_SAT.v.html new file mode 100644 index 0000000..20186e0 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_TRUNC_S_F64X2_SAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_TRUNC_S_F64X2_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64X2_TRUNC_U_F64X2_SAT.v.html b/parity_wasm/elements/opcodes/I64X2_TRUNC_U_F64X2_SAT.v.html new file mode 100644 index 0000000..cb6f131 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64X2_TRUNC_U_F64X2_SAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_TRUNC_U_F64X2_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64XOR.v.html b/parity_wasm/elements/opcodes/I64XOR.v.html new file mode 100644 index 0000000..10089fc --- /dev/null +++ b/parity_wasm/elements/opcodes/I64XOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD.v.html new file mode 100644 index 0000000..07954e5 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD16U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD16U.v.html new file mode 100644 index 0000000..7632ddb --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD32U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD32U.v.html new file mode 100644 index 0000000..8af87d6 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_LOAD32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD8U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD8U.v.html new file mode 100644 index 0000000..706d19b --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_LOAD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD.v.html new file mode 100644 index 0000000..1df2401 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD16U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD16U.v.html new file mode 100644 index 0000000..170a57b --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_ADD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD32U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD32U.v.html new file mode 100644 index 0000000..a900fa7 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_ADD32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD8U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD8U.v.html new file mode 100644 index 0000000..aab6cd2 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_ADD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_ADD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND.v.html new file mode 100644 index 0000000..1aab54b --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND16U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND16U.v.html new file mode 100644 index 0000000..d8421f8 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_AND16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND32U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND32U.v.html new file mode 100644 index 0000000..a557a47 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_AND32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND8U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND8U.v.html new file mode 100644 index 0000000..62cbae1 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_AND8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_AND8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG.v.html new file mode 100644 index 0000000..7fc4c10 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_CMPXCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG16U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG16U.v.html new file mode 100644 index 0000000..f8458c6 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_CMPXCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG32U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG32U.v.html new file mode 100644 index 0000000..b2cd8a2 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_CMPXCHG32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG8U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG8U.v.html new file mode 100644 index 0000000..5a910de --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_CMPXCHG8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_CMPXCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR.v.html new file mode 100644 index 0000000..b5d1555 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR16U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR16U.v.html new file mode 100644 index 0000000..93fae89 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_OR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR32U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR32U.v.html new file mode 100644 index 0000000..abaf7f5 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_OR32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR8U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR8U.v.html new file mode 100644 index 0000000..219721d --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_OR8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_OR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB.v.html new file mode 100644 index 0000000..6a2a901 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB16U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB16U.v.html new file mode 100644 index 0000000..61750e0 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_SUB16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB32U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB32U.v.html new file mode 100644 index 0000000..3d4f6ae --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_SUB32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB8U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB8U.v.html new file mode 100644 index 0000000..4333c2f --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_SUB8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_SUB8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG.v.html new file mode 100644 index 0000000..4d6cb4e --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG16U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG16U.v.html new file mode 100644 index 0000000..529731a --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG32U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG32U.v.html new file mode 100644 index 0000000..2236992 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XCHG32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG8U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG8U.v.html new file mode 100644 index 0000000..44b428f --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XCHG8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR.v.html new file mode 100644 index 0000000..b7a13a0 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR16U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR16U.v.html new file mode 100644 index 0000000..4533927 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XOR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR32U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR32U.v.html new file mode 100644 index 0000000..d8533a9 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XOR32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR8U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR8U.v.html new file mode 100644 index 0000000..c329d2e --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_RMW_XOR8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XOR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_STORE.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_STORE.v.html new file mode 100644 index 0000000..e405d30 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_STORE16U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_STORE16U.v.html new file mode 100644 index 0000000..29a81ca --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_STORE16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_STORE16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_STORE32U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_STORE32U.v.html new file mode 100644 index 0000000..392c82c --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_STORE32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_STORE32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_STORE8U.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_STORE8U.v.html new file mode 100644 index 0000000..abb8588 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_STORE8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_STORE8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_ATOMIC_WAIT.v.html b/parity_wasm/elements/opcodes/I64_ATOMIC_WAIT.v.html new file mode 100644 index 0000000..d82ddb7 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_ATOMIC_WAIT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_WAIT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_EXTEND16_S.v.html b/parity_wasm/elements/opcodes/I64_EXTEND16_S.v.html new file mode 100644 index 0000000..d056004 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_EXTEND16_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_EXTEND16_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_EXTEND32_S.v.html b/parity_wasm/elements/opcodes/I64_EXTEND32_S.v.html new file mode 100644 index 0000000..43c1784 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_EXTEND32_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_EXTEND32_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I64_EXTEND8_S.v.html b/parity_wasm/elements/opcodes/I64_EXTEND8_S.v.html new file mode 100644 index 0000000..271aed0 --- /dev/null +++ b/parity_wasm/elements/opcodes/I64_EXTEND8_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_EXTEND8_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_ADD.v.html b/parity_wasm/elements/opcodes/I8X16_ADD.v.html new file mode 100644 index 0000000..119d81e --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_ADD_SATURATE_S.v.html b/parity_wasm/elements/opcodes/I8X16_ADD_SATURATE_S.v.html new file mode 100644 index 0000000..e0ec43d --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_ADD_SATURATE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_ADD_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_ADD_SATURATE_U.v.html b/parity_wasm/elements/opcodes/I8X16_ADD_SATURATE_U.v.html new file mode 100644 index 0000000..78842d5 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_ADD_SATURATE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_ADD_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_ALL_TRUE.v.html b/parity_wasm/elements/opcodes/I8X16_ALL_TRUE.v.html new file mode 100644 index 0000000..d32c6fc --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_ALL_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_ANY_TRUE.v.html b/parity_wasm/elements/opcodes/I8X16_ANY_TRUE.v.html new file mode 100644 index 0000000..0c48f8f --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_ANY_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_EQ.v.html b/parity_wasm/elements/opcodes/I8X16_EQ.v.html new file mode 100644 index 0000000..edffdc0 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_EXTRACT_LANE_S.v.html b/parity_wasm/elements/opcodes/I8X16_EXTRACT_LANE_S.v.html new file mode 100644 index 0000000..baa5d90 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_EXTRACT_LANE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_EXTRACT_LANE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_EXTRACT_LANE_U.v.html b/parity_wasm/elements/opcodes/I8X16_EXTRACT_LANE_U.v.html new file mode 100644 index 0000000..4e1e0b3 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_EXTRACT_LANE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_EXTRACT_LANE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_GE_S.v.html b/parity_wasm/elements/opcodes/I8X16_GE_S.v.html new file mode 100644 index 0000000..6584d03 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_GE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_GE_U.v.html b/parity_wasm/elements/opcodes/I8X16_GE_U.v.html new file mode 100644 index 0000000..812398c --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_GE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_GT_S.v.html b/parity_wasm/elements/opcodes/I8X16_GT_S.v.html new file mode 100644 index 0000000..f1cbc77 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_GT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_GT_U.v.html b/parity_wasm/elements/opcodes/I8X16_GT_U.v.html new file mode 100644 index 0000000..935368b --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_GT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_LE_S.v.html b/parity_wasm/elements/opcodes/I8X16_LE_S.v.html new file mode 100644 index 0000000..fac12ee --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_LE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_LE_U.v.html b/parity_wasm/elements/opcodes/I8X16_LE_U.v.html new file mode 100644 index 0000000..0c9bae4 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_LE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_LT_S.v.html b/parity_wasm/elements/opcodes/I8X16_LT_S.v.html new file mode 100644 index 0000000..922d248 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_LT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_LT_U.v.html b/parity_wasm/elements/opcodes/I8X16_LT_U.v.html new file mode 100644 index 0000000..5994c20 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_LT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_MUL.v.html b/parity_wasm/elements/opcodes/I8X16_MUL.v.html new file mode 100644 index 0000000..006b40d --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_NE.v.html b/parity_wasm/elements/opcodes/I8X16_NE.v.html new file mode 100644 index 0000000..0a0e03b --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_NEG.v.html b/parity_wasm/elements/opcodes/I8X16_NEG.v.html new file mode 100644 index 0000000..599e808 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_REPLACE_LANE.v.html b/parity_wasm/elements/opcodes/I8X16_REPLACE_LANE.v.html new file mode 100644 index 0000000..192860b --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_SHL.v.html b/parity_wasm/elements/opcodes/I8X16_SHL.v.html new file mode 100644 index 0000000..4f5b53b --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_SHR_S.v.html b/parity_wasm/elements/opcodes/I8X16_SHR_S.v.html new file mode 100644 index 0000000..2f72774 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_SHR_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_SHR_U.v.html b/parity_wasm/elements/opcodes/I8X16_SHR_U.v.html new file mode 100644 index 0000000..c150fc2 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_SHR_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_SPLAT.v.html b/parity_wasm/elements/opcodes/I8X16_SPLAT.v.html new file mode 100644 index 0000000..aa8c642 --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_SUB.v.html b/parity_wasm/elements/opcodes/I8X16_SUB.v.html new file mode 100644 index 0000000..4ee958c --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_SUB_SATURATE_S.v.html b/parity_wasm/elements/opcodes/I8X16_SUB_SATURATE_S.v.html new file mode 100644 index 0000000..d24d7ad --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_SUB_SATURATE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SUB_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/I8X16_SUB_SATURATE_U.v.html b/parity_wasm/elements/opcodes/I8X16_SUB_SATURATE_U.v.html new file mode 100644 index 0000000..e904abe --- /dev/null +++ b/parity_wasm/elements/opcodes/I8X16_SUB_SATURATE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SUB_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/IF.v.html b/parity_wasm/elements/opcodes/IF.v.html new file mode 100644 index 0000000..397299a --- /dev/null +++ b/parity_wasm/elements/opcodes/IF.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.IF.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/LOOP.v.html b/parity_wasm/elements/opcodes/LOOP.v.html new file mode 100644 index 0000000..e7e5838 --- /dev/null +++ b/parity_wasm/elements/opcodes/LOOP.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.LOOP.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/NOP.v.html b/parity_wasm/elements/opcodes/NOP.v.html new file mode 100644 index 0000000..701584c --- /dev/null +++ b/parity_wasm/elements/opcodes/NOP.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.NOP.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/RETURN.v.html b/parity_wasm/elements/opcodes/RETURN.v.html new file mode 100644 index 0000000..6358e32 --- /dev/null +++ b/parity_wasm/elements/opcodes/RETURN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.RETURN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/SELECT.v.html b/parity_wasm/elements/opcodes/SELECT.v.html new file mode 100644 index 0000000..cc4c993 --- /dev/null +++ b/parity_wasm/elements/opcodes/SELECT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.SELECT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/SETGLOBAL.v.html b/parity_wasm/elements/opcodes/SETGLOBAL.v.html new file mode 100644 index 0000000..77304e2 --- /dev/null +++ b/parity_wasm/elements/opcodes/SETGLOBAL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.SETGLOBAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/SETLOCAL.v.html b/parity_wasm/elements/opcodes/SETLOCAL.v.html new file mode 100644 index 0000000..575baf1 --- /dev/null +++ b/parity_wasm/elements/opcodes/SETLOCAL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.SETLOCAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/SIMD_PREFIX.v.html b/parity_wasm/elements/opcodes/SIMD_PREFIX.v.html new file mode 100644 index 0000000..a66988a --- /dev/null +++ b/parity_wasm/elements/opcodes/SIMD_PREFIX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.SIMD_PREFIX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/TEELOCAL.v.html b/parity_wasm/elements/opcodes/TEELOCAL.v.html new file mode 100644 index 0000000..1e4a7fa --- /dev/null +++ b/parity_wasm/elements/opcodes/TEELOCAL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.TEELOCAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/UNREACHABLE.v.html b/parity_wasm/elements/opcodes/UNREACHABLE.v.html new file mode 100644 index 0000000..705b961 --- /dev/null +++ b/parity_wasm/elements/opcodes/UNREACHABLE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.UNREACHABLE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/V128_AND.v.html b/parity_wasm/elements/opcodes/V128_AND.v.html new file mode 100644 index 0000000..f1fa9bc --- /dev/null +++ b/parity_wasm/elements/opcodes/V128_AND.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/V128_BITSELECT.v.html b/parity_wasm/elements/opcodes/V128_BITSELECT.v.html new file mode 100644 index 0000000..a79c919 --- /dev/null +++ b/parity_wasm/elements/opcodes/V128_BITSELECT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_BITSELECT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/V128_CONST.v.html b/parity_wasm/elements/opcodes/V128_CONST.v.html new file mode 100644 index 0000000..afd8430 --- /dev/null +++ b/parity_wasm/elements/opcodes/V128_CONST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/V128_LOAD.v.html b/parity_wasm/elements/opcodes/V128_LOAD.v.html new file mode 100644 index 0000000..cc0aa57 --- /dev/null +++ b/parity_wasm/elements/opcodes/V128_LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/V128_NOT.v.html b/parity_wasm/elements/opcodes/V128_NOT.v.html new file mode 100644 index 0000000..e41ea49 --- /dev/null +++ b/parity_wasm/elements/opcodes/V128_NOT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_NOT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/V128_OR.v.html b/parity_wasm/elements/opcodes/V128_OR.v.html new file mode 100644 index 0000000..60758dd --- /dev/null +++ b/parity_wasm/elements/opcodes/V128_OR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/V128_STORE.v.html b/parity_wasm/elements/opcodes/V128_STORE.v.html new file mode 100644 index 0000000..65ca12f --- /dev/null +++ b/parity_wasm/elements/opcodes/V128_STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/V128_XOR.v.html b/parity_wasm/elements/opcodes/V128_XOR.v.html new file mode 100644 index 0000000..f4d3ae7 --- /dev/null +++ b/parity_wasm/elements/opcodes/V128_XOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/V8X16_SHUFFLE.v.html b/parity_wasm/elements/opcodes/V8X16_SHUFFLE.v.html new file mode 100644 index 0000000..da2d22d --- /dev/null +++ b/parity_wasm/elements/opcodes/V8X16_SHUFFLE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V8X16_SHUFFLE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.ATOMIC_PREFIX.html b/parity_wasm/elements/opcodes/constant.ATOMIC_PREFIX.html new file mode 100644 index 0000000..3aad318 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.ATOMIC_PREFIX.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::ATOMIC_PREFIX - Rust

Constant parity_wasm::elements::opcodes::ATOMIC_PREFIX[][src]

pub const ATOMIC_PREFIX: u8 = 254
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.ATOMIC_WAKE.html b/parity_wasm/elements/opcodes/constant.ATOMIC_WAKE.html new file mode 100644 index 0000000..641a4bf --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.ATOMIC_WAKE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::ATOMIC_WAKE - Rust

Constant parity_wasm::elements::opcodes::ATOMIC_WAKE[][src]

pub const ATOMIC_WAKE: u8 = 0
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.BLOCK.html b/parity_wasm/elements/opcodes/constant.BLOCK.html new file mode 100644 index 0000000..498f13e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.BLOCK.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::BLOCK - Rust

Constant parity_wasm::elements::opcodes::BLOCK[][src]

pub const BLOCK: u8 = 2
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.BR.html b/parity_wasm/elements/opcodes/constant.BR.html new file mode 100644 index 0000000..8022983 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.BR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::BR - Rust

Constant parity_wasm::elements::opcodes::BR[][src]

pub const BR: u8 = 12
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.BRIF.html b/parity_wasm/elements/opcodes/constant.BRIF.html new file mode 100644 index 0000000..79b92bb --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.BRIF.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::BRIF - Rust

Constant parity_wasm::elements::opcodes::BRIF[][src]

pub const BRIF: u8 = 13
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.BRTABLE.html b/parity_wasm/elements/opcodes/constant.BRTABLE.html new file mode 100644 index 0000000..77b4f79 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.BRTABLE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::BRTABLE - Rust

Constant parity_wasm::elements::opcodes::BRTABLE[][src]

pub const BRTABLE: u8 = 14
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.CALL.html b/parity_wasm/elements/opcodes/constant.CALL.html new file mode 100644 index 0000000..4a0b3e4 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.CALL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::CALL - Rust

Constant parity_wasm::elements::opcodes::CALL[][src]

pub const CALL: u8 = 16
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.CALLINDIRECT.html b/parity_wasm/elements/opcodes/constant.CALLINDIRECT.html new file mode 100644 index 0000000..5984c86 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.CALLINDIRECT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::CALLINDIRECT - Rust

Constant parity_wasm::elements::opcodes::CALLINDIRECT[][src]

pub const CALLINDIRECT: u8 = 17
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.CURRENTMEMORY.html b/parity_wasm/elements/opcodes/constant.CURRENTMEMORY.html new file mode 100644 index 0000000..15638c6 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.CURRENTMEMORY.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::CURRENTMEMORY - Rust

Constant parity_wasm::elements::opcodes::CURRENTMEMORY[][src]

pub const CURRENTMEMORY: u8 = 63
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.DROP.html b/parity_wasm/elements/opcodes/constant.DROP.html new file mode 100644 index 0000000..b79587a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.DROP.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::DROP - Rust

Constant parity_wasm::elements::opcodes::DROP[][src]

pub const DROP: u8 = 26
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.ELSE.html b/parity_wasm/elements/opcodes/constant.ELSE.html new file mode 100644 index 0000000..70c13db --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.ELSE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::ELSE - Rust

Constant parity_wasm::elements::opcodes::ELSE[][src]

pub const ELSE: u8 = 5
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.END.html b/parity_wasm/elements/opcodes/constant.END.html new file mode 100644 index 0000000..28e0bd4 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.END.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::END - Rust

Constant parity_wasm::elements::opcodes::END[][src]

pub const END: u8 = 11
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32ABS.html b/parity_wasm/elements/opcodes/constant.F32ABS.html new file mode 100644 index 0000000..6e86244 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32ABS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32ABS - Rust

Constant parity_wasm::elements::opcodes::F32ABS[][src]

pub const F32ABS: u8 = 139
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32ADD.html b/parity_wasm/elements/opcodes/constant.F32ADD.html new file mode 100644 index 0000000..c81aaa1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32ADD - Rust

Constant parity_wasm::elements::opcodes::F32ADD[][src]

pub const F32ADD: u8 = 146
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32CEIL.html b/parity_wasm/elements/opcodes/constant.F32CEIL.html new file mode 100644 index 0000000..f6557d9 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32CEIL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32CEIL - Rust

Constant parity_wasm::elements::opcodes::F32CEIL[][src]

pub const F32CEIL: u8 = 141
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32CONST.html b/parity_wasm/elements/opcodes/constant.F32CONST.html new file mode 100644 index 0000000..12171aa --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32CONST.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32CONST - Rust

Constant parity_wasm::elements::opcodes::F32CONST[][src]

pub const F32CONST: u8 = 67
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32CONVERTSI32.html b/parity_wasm/elements/opcodes/constant.F32CONVERTSI32.html new file mode 100644 index 0000000..1db9a38 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32CONVERTSI32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32CONVERTSI32 - Rust

Constant parity_wasm::elements::opcodes::F32CONVERTSI32[][src]

pub const F32CONVERTSI32: u8 = 178
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32CONVERTSI64.html b/parity_wasm/elements/opcodes/constant.F32CONVERTSI64.html new file mode 100644 index 0000000..4c23566 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32CONVERTSI64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32CONVERTSI64 - Rust

Constant parity_wasm::elements::opcodes::F32CONVERTSI64[][src]

pub const F32CONVERTSI64: u8 = 180
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32CONVERTUI32.html b/parity_wasm/elements/opcodes/constant.F32CONVERTUI32.html new file mode 100644 index 0000000..54d26cb --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32CONVERTUI32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32CONVERTUI32 - Rust

Constant parity_wasm::elements::opcodes::F32CONVERTUI32[][src]

pub const F32CONVERTUI32: u8 = 179
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32CONVERTUI64.html b/parity_wasm/elements/opcodes/constant.F32CONVERTUI64.html new file mode 100644 index 0000000..76d6fbb --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32CONVERTUI64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32CONVERTUI64 - Rust

Constant parity_wasm::elements::opcodes::F32CONVERTUI64[][src]

pub const F32CONVERTUI64: u8 = 181
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32COPYSIGN.html b/parity_wasm/elements/opcodes/constant.F32COPYSIGN.html new file mode 100644 index 0000000..0f05e6e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32COPYSIGN.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32COPYSIGN - Rust

Constant parity_wasm::elements::opcodes::F32COPYSIGN[][src]

pub const F32COPYSIGN: u8 = 152
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32DEMOTEF64.html b/parity_wasm/elements/opcodes/constant.F32DEMOTEF64.html new file mode 100644 index 0000000..1ad08de --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32DEMOTEF64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32DEMOTEF64 - Rust

Constant parity_wasm::elements::opcodes::F32DEMOTEF64[][src]

pub const F32DEMOTEF64: u8 = 182
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32DIV.html b/parity_wasm/elements/opcodes/constant.F32DIV.html new file mode 100644 index 0000000..51d3e7f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32DIV.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32DIV - Rust

Constant parity_wasm::elements::opcodes::F32DIV[][src]

pub const F32DIV: u8 = 149
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32EQ.html b/parity_wasm/elements/opcodes/constant.F32EQ.html new file mode 100644 index 0000000..f7e5872 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32EQ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32EQ - Rust

Constant parity_wasm::elements::opcodes::F32EQ[][src]

pub const F32EQ: u8 = 91
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32FLOOR.html b/parity_wasm/elements/opcodes/constant.F32FLOOR.html new file mode 100644 index 0000000..5c6f145 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32FLOOR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32FLOOR - Rust

Constant parity_wasm::elements::opcodes::F32FLOOR[][src]

pub const F32FLOOR: u8 = 142
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32GE.html b/parity_wasm/elements/opcodes/constant.F32GE.html new file mode 100644 index 0000000..b2c9461 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32GE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32GE - Rust

Constant parity_wasm::elements::opcodes::F32GE[][src]

pub const F32GE: u8 = 96
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32GT.html b/parity_wasm/elements/opcodes/constant.F32GT.html new file mode 100644 index 0000000..c85b9ec --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32GT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32GT - Rust

Constant parity_wasm::elements::opcodes::F32GT[][src]

pub const F32GT: u8 = 94
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32LE.html b/parity_wasm/elements/opcodes/constant.F32LE.html new file mode 100644 index 0000000..713009e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32LE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32LE - Rust

Constant parity_wasm::elements::opcodes::F32LE[][src]

pub const F32LE: u8 = 95
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32LOAD.html b/parity_wasm/elements/opcodes/constant.F32LOAD.html new file mode 100644 index 0000000..8cc864b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32LOAD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32LOAD - Rust

Constant parity_wasm::elements::opcodes::F32LOAD[][src]

pub const F32LOAD: u8 = 42
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32LT.html b/parity_wasm/elements/opcodes/constant.F32LT.html new file mode 100644 index 0000000..82cb21d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32LT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32LT - Rust

Constant parity_wasm::elements::opcodes::F32LT[][src]

pub const F32LT: u8 = 93
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32MAX.html b/parity_wasm/elements/opcodes/constant.F32MAX.html new file mode 100644 index 0000000..f25ac5c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32MAX.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32MAX - Rust

Constant parity_wasm::elements::opcodes::F32MAX[][src]

pub const F32MAX: u8 = 151
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32MIN.html b/parity_wasm/elements/opcodes/constant.F32MIN.html new file mode 100644 index 0000000..a15f18d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32MIN.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32MIN - Rust

Constant parity_wasm::elements::opcodes::F32MIN[][src]

pub const F32MIN: u8 = 150
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32MUL.html b/parity_wasm/elements/opcodes/constant.F32MUL.html new file mode 100644 index 0000000..f18570b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32MUL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32MUL - Rust

Constant parity_wasm::elements::opcodes::F32MUL[][src]

pub const F32MUL: u8 = 148
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32NE.html b/parity_wasm/elements/opcodes/constant.F32NE.html new file mode 100644 index 0000000..84be3c1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32NE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32NE - Rust

Constant parity_wasm::elements::opcodes::F32NE[][src]

pub const F32NE: u8 = 92
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32NEAREST.html b/parity_wasm/elements/opcodes/constant.F32NEAREST.html new file mode 100644 index 0000000..bc35067 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32NEAREST.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32NEAREST - Rust

Constant parity_wasm::elements::opcodes::F32NEAREST[][src]

pub const F32NEAREST: u8 = 144
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32NEG.html b/parity_wasm/elements/opcodes/constant.F32NEG.html new file mode 100644 index 0000000..cc25104 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32NEG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32NEG - Rust

Constant parity_wasm::elements::opcodes::F32NEG[][src]

pub const F32NEG: u8 = 140
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32REINTERPRETI32.html b/parity_wasm/elements/opcodes/constant.F32REINTERPRETI32.html new file mode 100644 index 0000000..a57ea03 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32REINTERPRETI32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32REINTERPRETI32 - Rust

Constant parity_wasm::elements::opcodes::F32REINTERPRETI32[][src]

pub const F32REINTERPRETI32: u8 = 190
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32SQRT.html b/parity_wasm/elements/opcodes/constant.F32SQRT.html new file mode 100644 index 0000000..43331f2 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32SQRT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32SQRT - Rust

Constant parity_wasm::elements::opcodes::F32SQRT[][src]

pub const F32SQRT: u8 = 145
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32STORE.html b/parity_wasm/elements/opcodes/constant.F32STORE.html new file mode 100644 index 0000000..5495677 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32STORE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32STORE - Rust

Constant parity_wasm::elements::opcodes::F32STORE[][src]

pub const F32STORE: u8 = 56
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32SUB.html b/parity_wasm/elements/opcodes/constant.F32SUB.html new file mode 100644 index 0000000..b1fade3 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32SUB - Rust

Constant parity_wasm::elements::opcodes::F32SUB[][src]

pub const F32SUB: u8 = 147
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32TRUNC.html b/parity_wasm/elements/opcodes/constant.F32TRUNC.html new file mode 100644 index 0000000..c57abee --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32TRUNC.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32TRUNC - Rust

Constant parity_wasm::elements::opcodes::F32TRUNC[][src]

pub const F32TRUNC: u8 = 143
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_ABS.html b/parity_wasm/elements/opcodes/constant.F32X4_ABS.html new file mode 100644 index 0000000..5ca4811 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_ABS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_ABS - Rust

Constant parity_wasm::elements::opcodes::F32X4_ABS[][src]

pub const F32X4_ABS: u32 = 127
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_ADD.html b/parity_wasm/elements/opcodes/constant.F32X4_ADD.html new file mode 100644 index 0000000..60a8136 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_ADD - Rust

Constant parity_wasm::elements::opcodes::F32X4_ADD[][src]

pub const F32X4_ADD: u32 = 133
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_CONVERT_S_I32X4.html b/parity_wasm/elements/opcodes/constant.F32X4_CONVERT_S_I32X4.html new file mode 100644 index 0000000..a23df19 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_CONVERT_S_I32X4.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_CONVERT_S_I32X4 - Rust

Constant parity_wasm::elements::opcodes::F32X4_CONVERT_S_I32X4[][src]

pub const F32X4_CONVERT_S_I32X4: u32 = 143
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_CONVERT_U_I32X4.html b/parity_wasm/elements/opcodes/constant.F32X4_CONVERT_U_I32X4.html new file mode 100644 index 0000000..f926798 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_CONVERT_U_I32X4.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_CONVERT_U_I32X4 - Rust

Constant parity_wasm::elements::opcodes::F32X4_CONVERT_U_I32X4[][src]

pub const F32X4_CONVERT_U_I32X4: u32 = 144
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_DIV.html b/parity_wasm/elements/opcodes/constant.F32X4_DIV.html new file mode 100644 index 0000000..4de9568 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_DIV.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_DIV - Rust

Constant parity_wasm::elements::opcodes::F32X4_DIV[][src]

pub const F32X4_DIV: u32 = 137
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_EQ.html b/parity_wasm/elements/opcodes/constant.F32X4_EQ.html new file mode 100644 index 0000000..bfd6069 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_EQ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_EQ - Rust

Constant parity_wasm::elements::opcodes::F32X4_EQ[][src]

pub const F32X4_EQ: u32 = 77
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_EXTRACT_LANE.html b/parity_wasm/elements/opcodes/constant.F32X4_EXTRACT_LANE.html new file mode 100644 index 0000000..53378ab --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_EXTRACT_LANE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_EXTRACT_LANE - Rust

Constant parity_wasm::elements::opcodes::F32X4_EXTRACT_LANE[][src]

pub const F32X4_EXTRACT_LANE: u32 = 15
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_GE.html b/parity_wasm/elements/opcodes/constant.F32X4_GE.html new file mode 100644 index 0000000..f997436 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_GE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_GE - Rust

Constant parity_wasm::elements::opcodes::F32X4_GE[][src]

pub const F32X4_GE: u32 = 123
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_GT.html b/parity_wasm/elements/opcodes/constant.F32X4_GT.html new file mode 100644 index 0000000..e53fd50 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_GT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_GT - Rust

Constant parity_wasm::elements::opcodes::F32X4_GT[][src]

pub const F32X4_GT: u32 = 113
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_LE.html b/parity_wasm/elements/opcodes/constant.F32X4_LE.html new file mode 100644 index 0000000..c34cc01 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_LE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_LE - Rust

Constant parity_wasm::elements::opcodes::F32X4_LE[][src]

pub const F32X4_LE: u32 = 103
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_LT.html b/parity_wasm/elements/opcodes/constant.F32X4_LT.html new file mode 100644 index 0000000..d4bb3c1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_LT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_LT - Rust

Constant parity_wasm::elements::opcodes::F32X4_LT[][src]

pub const F32X4_LT: u32 = 93
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_MAX.html b/parity_wasm/elements/opcodes/constant.F32X4_MAX.html new file mode 100644 index 0000000..94c4614 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_MAX.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_MAX - Rust

Constant parity_wasm::elements::opcodes::F32X4_MAX[][src]

pub const F32X4_MAX: u32 = 131
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_MIN.html b/parity_wasm/elements/opcodes/constant.F32X4_MIN.html new file mode 100644 index 0000000..51fbfe1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_MIN.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_MIN - Rust

Constant parity_wasm::elements::opcodes::F32X4_MIN[][src]

pub const F32X4_MIN: u32 = 129
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_MUL.html b/parity_wasm/elements/opcodes/constant.F32X4_MUL.html new file mode 100644 index 0000000..d8849a6 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_MUL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_MUL - Rust

Constant parity_wasm::elements::opcodes::F32X4_MUL[][src]

pub const F32X4_MUL: u32 = 139
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_NE.html b/parity_wasm/elements/opcodes/constant.F32X4_NE.html new file mode 100644 index 0000000..f8f8384 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_NE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_NE - Rust

Constant parity_wasm::elements::opcodes::F32X4_NE[][src]

pub const F32X4_NE: u32 = 83
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_NEG.html b/parity_wasm/elements/opcodes/constant.F32X4_NEG.html new file mode 100644 index 0000000..075c62c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_NEG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_NEG - Rust

Constant parity_wasm::elements::opcodes::F32X4_NEG[][src]

pub const F32X4_NEG: u32 = 125
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_REPLACE_LANE.html b/parity_wasm/elements/opcodes/constant.F32X4_REPLACE_LANE.html new file mode 100644 index 0000000..f4f2f71 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_REPLACE_LANE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_REPLACE_LANE - Rust

Constant parity_wasm::elements::opcodes::F32X4_REPLACE_LANE[][src]

pub const F32X4_REPLACE_LANE: u32 = 21
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_SPLAT.html b/parity_wasm/elements/opcodes/constant.F32X4_SPLAT.html new file mode 100644 index 0000000..eb77a21 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_SPLAT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_SPLAT - Rust

Constant parity_wasm::elements::opcodes::F32X4_SPLAT[][src]

pub const F32X4_SPLAT: u32 = 7
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_SQRT.html b/parity_wasm/elements/opcodes/constant.F32X4_SQRT.html new file mode 100644 index 0000000..23497c8 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_SQRT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_SQRT - Rust

Constant parity_wasm::elements::opcodes::F32X4_SQRT[][src]

pub const F32X4_SQRT: u32 = 141
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F32X4_SUB.html b/parity_wasm/elements/opcodes/constant.F32X4_SUB.html new file mode 100644 index 0000000..10ced3b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F32X4_SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F32X4_SUB - Rust

Constant parity_wasm::elements::opcodes::F32X4_SUB[][src]

pub const F32X4_SUB: u32 = 135
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64ABS.html b/parity_wasm/elements/opcodes/constant.F64ABS.html new file mode 100644 index 0000000..589989c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64ABS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64ABS - Rust

Constant parity_wasm::elements::opcodes::F64ABS[][src]

pub const F64ABS: u8 = 153
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64ADD.html b/parity_wasm/elements/opcodes/constant.F64ADD.html new file mode 100644 index 0000000..6ddfe23 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64ADD - Rust

Constant parity_wasm::elements::opcodes::F64ADD[][src]

pub const F64ADD: u8 = 160
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64CEIL.html b/parity_wasm/elements/opcodes/constant.F64CEIL.html new file mode 100644 index 0000000..e22ec9d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64CEIL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64CEIL - Rust

Constant parity_wasm::elements::opcodes::F64CEIL[][src]

pub const F64CEIL: u8 = 155
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64CONST.html b/parity_wasm/elements/opcodes/constant.F64CONST.html new file mode 100644 index 0000000..a048bb2 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64CONST.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64CONST - Rust

Constant parity_wasm::elements::opcodes::F64CONST[][src]

pub const F64CONST: u8 = 68
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64CONVERTSI32.html b/parity_wasm/elements/opcodes/constant.F64CONVERTSI32.html new file mode 100644 index 0000000..cf4db63 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64CONVERTSI32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64CONVERTSI32 - Rust

Constant parity_wasm::elements::opcodes::F64CONVERTSI32[][src]

pub const F64CONVERTSI32: u8 = 183
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64CONVERTSI64.html b/parity_wasm/elements/opcodes/constant.F64CONVERTSI64.html new file mode 100644 index 0000000..599b6db --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64CONVERTSI64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64CONVERTSI64 - Rust

Constant parity_wasm::elements::opcodes::F64CONVERTSI64[][src]

pub const F64CONVERTSI64: u8 = 185
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64CONVERTUI32.html b/parity_wasm/elements/opcodes/constant.F64CONVERTUI32.html new file mode 100644 index 0000000..0babadf --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64CONVERTUI32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64CONVERTUI32 - Rust

Constant parity_wasm::elements::opcodes::F64CONVERTUI32[][src]

pub const F64CONVERTUI32: u8 = 184
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64CONVERTUI64.html b/parity_wasm/elements/opcodes/constant.F64CONVERTUI64.html new file mode 100644 index 0000000..db08867 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64CONVERTUI64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64CONVERTUI64 - Rust

Constant parity_wasm::elements::opcodes::F64CONVERTUI64[][src]

pub const F64CONVERTUI64: u8 = 186
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64COPYSIGN.html b/parity_wasm/elements/opcodes/constant.F64COPYSIGN.html new file mode 100644 index 0000000..0867a77 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64COPYSIGN.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64COPYSIGN - Rust

Constant parity_wasm::elements::opcodes::F64COPYSIGN[][src]

pub const F64COPYSIGN: u8 = 166
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64DIV.html b/parity_wasm/elements/opcodes/constant.F64DIV.html new file mode 100644 index 0000000..da6f44b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64DIV.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64DIV - Rust

Constant parity_wasm::elements::opcodes::F64DIV[][src]

pub const F64DIV: u8 = 163
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64EQ.html b/parity_wasm/elements/opcodes/constant.F64EQ.html new file mode 100644 index 0000000..4a2c1e6 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64EQ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64EQ - Rust

Constant parity_wasm::elements::opcodes::F64EQ[][src]

pub const F64EQ: u8 = 97
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64FLOOR.html b/parity_wasm/elements/opcodes/constant.F64FLOOR.html new file mode 100644 index 0000000..16b4c31 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64FLOOR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64FLOOR - Rust

Constant parity_wasm::elements::opcodes::F64FLOOR[][src]

pub const F64FLOOR: u8 = 156
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64GE.html b/parity_wasm/elements/opcodes/constant.F64GE.html new file mode 100644 index 0000000..2911919 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64GE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64GE - Rust

Constant parity_wasm::elements::opcodes::F64GE[][src]

pub const F64GE: u8 = 102
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64GT.html b/parity_wasm/elements/opcodes/constant.F64GT.html new file mode 100644 index 0000000..2a9d439 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64GT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64GT - Rust

Constant parity_wasm::elements::opcodes::F64GT[][src]

pub const F64GT: u8 = 100
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64LE.html b/parity_wasm/elements/opcodes/constant.F64LE.html new file mode 100644 index 0000000..416fe24 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64LE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64LE - Rust

Constant parity_wasm::elements::opcodes::F64LE[][src]

pub const F64LE: u8 = 101
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64LOAD.html b/parity_wasm/elements/opcodes/constant.F64LOAD.html new file mode 100644 index 0000000..f0dc389 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64LOAD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64LOAD - Rust

Constant parity_wasm::elements::opcodes::F64LOAD[][src]

pub const F64LOAD: u8 = 43
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64LT.html b/parity_wasm/elements/opcodes/constant.F64LT.html new file mode 100644 index 0000000..1383d77 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64LT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64LT - Rust

Constant parity_wasm::elements::opcodes::F64LT[][src]

pub const F64LT: u8 = 99
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64MAX.html b/parity_wasm/elements/opcodes/constant.F64MAX.html new file mode 100644 index 0000000..5b4189e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64MAX.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64MAX - Rust

Constant parity_wasm::elements::opcodes::F64MAX[][src]

pub const F64MAX: u8 = 165
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64MIN.html b/parity_wasm/elements/opcodes/constant.F64MIN.html new file mode 100644 index 0000000..b2054d1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64MIN.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64MIN - Rust

Constant parity_wasm::elements::opcodes::F64MIN[][src]

pub const F64MIN: u8 = 164
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64MUL.html b/parity_wasm/elements/opcodes/constant.F64MUL.html new file mode 100644 index 0000000..ddc208c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64MUL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64MUL - Rust

Constant parity_wasm::elements::opcodes::F64MUL[][src]

pub const F64MUL: u8 = 162
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64NE.html b/parity_wasm/elements/opcodes/constant.F64NE.html new file mode 100644 index 0000000..d74fd8a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64NE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64NE - Rust

Constant parity_wasm::elements::opcodes::F64NE[][src]

pub const F64NE: u8 = 98
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64NEAREST.html b/parity_wasm/elements/opcodes/constant.F64NEAREST.html new file mode 100644 index 0000000..033b39a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64NEAREST.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64NEAREST - Rust

Constant parity_wasm::elements::opcodes::F64NEAREST[][src]

pub const F64NEAREST: u8 = 158
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64NEG.html b/parity_wasm/elements/opcodes/constant.F64NEG.html new file mode 100644 index 0000000..fba73f8 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64NEG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64NEG - Rust

Constant parity_wasm::elements::opcodes::F64NEG[][src]

pub const F64NEG: u8 = 154
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64PROMOTEF32.html b/parity_wasm/elements/opcodes/constant.F64PROMOTEF32.html new file mode 100644 index 0000000..f5899c3 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64PROMOTEF32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64PROMOTEF32 - Rust

Constant parity_wasm::elements::opcodes::F64PROMOTEF32[][src]

pub const F64PROMOTEF32: u8 = 187
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64REINTERPRETI64.html b/parity_wasm/elements/opcodes/constant.F64REINTERPRETI64.html new file mode 100644 index 0000000..e22819c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64REINTERPRETI64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64REINTERPRETI64 - Rust

Constant parity_wasm::elements::opcodes::F64REINTERPRETI64[][src]

pub const F64REINTERPRETI64: u8 = 191
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64SQRT.html b/parity_wasm/elements/opcodes/constant.F64SQRT.html new file mode 100644 index 0000000..b678c36 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64SQRT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64SQRT - Rust

Constant parity_wasm::elements::opcodes::F64SQRT[][src]

pub const F64SQRT: u8 = 159
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64STORE.html b/parity_wasm/elements/opcodes/constant.F64STORE.html new file mode 100644 index 0000000..49ce2a2 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64STORE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64STORE - Rust

Constant parity_wasm::elements::opcodes::F64STORE[][src]

pub const F64STORE: u8 = 57
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64SUB.html b/parity_wasm/elements/opcodes/constant.F64SUB.html new file mode 100644 index 0000000..c72d663 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64SUB - Rust

Constant parity_wasm::elements::opcodes::F64SUB[][src]

pub const F64SUB: u8 = 161
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64TRUNC.html b/parity_wasm/elements/opcodes/constant.F64TRUNC.html new file mode 100644 index 0000000..0824fa6 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64TRUNC.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64TRUNC - Rust

Constant parity_wasm::elements::opcodes::F64TRUNC[][src]

pub const F64TRUNC: u8 = 157
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_ABS.html b/parity_wasm/elements/opcodes/constant.F64X2_ABS.html new file mode 100644 index 0000000..1f09b22 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_ABS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_ABS - Rust

Constant parity_wasm::elements::opcodes::F64X2_ABS[][src]

pub const F64X2_ABS: u32 = 128
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_ADD.html b/parity_wasm/elements/opcodes/constant.F64X2_ADD.html new file mode 100644 index 0000000..05e4d96 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_ADD - Rust

Constant parity_wasm::elements::opcodes::F64X2_ADD[][src]

pub const F64X2_ADD: u32 = 134
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_CONVERT_S_I64X2.html b/parity_wasm/elements/opcodes/constant.F64X2_CONVERT_S_I64X2.html new file mode 100644 index 0000000..bb4e861 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_CONVERT_S_I64X2.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_CONVERT_S_I64X2 - Rust

Constant parity_wasm::elements::opcodes::F64X2_CONVERT_S_I64X2[][src]

pub const F64X2_CONVERT_S_I64X2: u32 = 145
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_CONVERT_U_I64X2.html b/parity_wasm/elements/opcodes/constant.F64X2_CONVERT_U_I64X2.html new file mode 100644 index 0000000..9db0373 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_CONVERT_U_I64X2.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_CONVERT_U_I64X2 - Rust

Constant parity_wasm::elements::opcodes::F64X2_CONVERT_U_I64X2[][src]

pub const F64X2_CONVERT_U_I64X2: u32 = 146
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_DIV.html b/parity_wasm/elements/opcodes/constant.F64X2_DIV.html new file mode 100644 index 0000000..4f20081 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_DIV.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_DIV - Rust

Constant parity_wasm::elements::opcodes::F64X2_DIV[][src]

pub const F64X2_DIV: u32 = 138
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_EQ.html b/parity_wasm/elements/opcodes/constant.F64X2_EQ.html new file mode 100644 index 0000000..2b00d45 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_EQ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_EQ - Rust

Constant parity_wasm::elements::opcodes::F64X2_EQ[][src]

pub const F64X2_EQ: u32 = 78
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_EXTRACT_LANE.html b/parity_wasm/elements/opcodes/constant.F64X2_EXTRACT_LANE.html new file mode 100644 index 0000000..62add3c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_EXTRACT_LANE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_EXTRACT_LANE - Rust

Constant parity_wasm::elements::opcodes::F64X2_EXTRACT_LANE[][src]

pub const F64X2_EXTRACT_LANE: u32 = 16
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_GE.html b/parity_wasm/elements/opcodes/constant.F64X2_GE.html new file mode 100644 index 0000000..e0f5987 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_GE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_GE - Rust

Constant parity_wasm::elements::opcodes::F64X2_GE[][src]

pub const F64X2_GE: u32 = 124
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_GT.html b/parity_wasm/elements/opcodes/constant.F64X2_GT.html new file mode 100644 index 0000000..9262bd9 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_GT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_GT - Rust

Constant parity_wasm::elements::opcodes::F64X2_GT[][src]

pub const F64X2_GT: u32 = 114
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_LE.html b/parity_wasm/elements/opcodes/constant.F64X2_LE.html new file mode 100644 index 0000000..e4109f1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_LE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_LE - Rust

Constant parity_wasm::elements::opcodes::F64X2_LE[][src]

pub const F64X2_LE: u32 = 104
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_LT.html b/parity_wasm/elements/opcodes/constant.F64X2_LT.html new file mode 100644 index 0000000..44eeb1b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_LT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_LT - Rust

Constant parity_wasm::elements::opcodes::F64X2_LT[][src]

pub const F64X2_LT: u32 = 94
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_MAX.html b/parity_wasm/elements/opcodes/constant.F64X2_MAX.html new file mode 100644 index 0000000..82035d0 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_MAX.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_MAX - Rust

Constant parity_wasm::elements::opcodes::F64X2_MAX[][src]

pub const F64X2_MAX: u32 = 132
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_MIN.html b/parity_wasm/elements/opcodes/constant.F64X2_MIN.html new file mode 100644 index 0000000..4aaf633 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_MIN.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_MIN - Rust

Constant parity_wasm::elements::opcodes::F64X2_MIN[][src]

pub const F64X2_MIN: u32 = 130
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_MUL.html b/parity_wasm/elements/opcodes/constant.F64X2_MUL.html new file mode 100644 index 0000000..deb005b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_MUL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_MUL - Rust

Constant parity_wasm::elements::opcodes::F64X2_MUL[][src]

pub const F64X2_MUL: u32 = 140
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_NE.html b/parity_wasm/elements/opcodes/constant.F64X2_NE.html new file mode 100644 index 0000000..729cf8a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_NE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_NE - Rust

Constant parity_wasm::elements::opcodes::F64X2_NE[][src]

pub const F64X2_NE: u32 = 84
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_NEG.html b/parity_wasm/elements/opcodes/constant.F64X2_NEG.html new file mode 100644 index 0000000..921be6e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_NEG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_NEG - Rust

Constant parity_wasm::elements::opcodes::F64X2_NEG[][src]

pub const F64X2_NEG: u32 = 126
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_REPLACE_LANE.html b/parity_wasm/elements/opcodes/constant.F64X2_REPLACE_LANE.html new file mode 100644 index 0000000..e0e4ccd --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_REPLACE_LANE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_REPLACE_LANE - Rust

Constant parity_wasm::elements::opcodes::F64X2_REPLACE_LANE[][src]

pub const F64X2_REPLACE_LANE: u32 = 22
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_SPLAT.html b/parity_wasm/elements/opcodes/constant.F64X2_SPLAT.html new file mode 100644 index 0000000..88d4698 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_SPLAT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_SPLAT - Rust

Constant parity_wasm::elements::opcodes::F64X2_SPLAT[][src]

pub const F64X2_SPLAT: u32 = 8
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_SQRT.html b/parity_wasm/elements/opcodes/constant.F64X2_SQRT.html new file mode 100644 index 0000000..301c258 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_SQRT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_SQRT - Rust

Constant parity_wasm::elements::opcodes::F64X2_SQRT[][src]

pub const F64X2_SQRT: u32 = 142
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.F64X2_SUB.html b/parity_wasm/elements/opcodes/constant.F64X2_SUB.html new file mode 100644 index 0000000..f976b08 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.F64X2_SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::F64X2_SUB - Rust

Constant parity_wasm::elements::opcodes::F64X2_SUB[][src]

pub const F64X2_SUB: u32 = 136
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.GETGLOBAL.html b/parity_wasm/elements/opcodes/constant.GETGLOBAL.html new file mode 100644 index 0000000..002cb99 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.GETGLOBAL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::GETGLOBAL - Rust

Constant parity_wasm::elements::opcodes::GETGLOBAL[][src]

pub const GETGLOBAL: u8 = 35
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.GETLOCAL.html b/parity_wasm/elements/opcodes/constant.GETLOCAL.html new file mode 100644 index 0000000..8bb49c7 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.GETLOCAL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::GETLOCAL - Rust

Constant parity_wasm::elements::opcodes::GETLOCAL[][src]

pub const GETLOCAL: u8 = 32
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.GROWMEMORY.html b/parity_wasm/elements/opcodes/constant.GROWMEMORY.html new file mode 100644 index 0000000..58c6921 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.GROWMEMORY.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::GROWMEMORY - Rust

Constant parity_wasm::elements::opcodes::GROWMEMORY[][src]

pub const GROWMEMORY: u8 = 64
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_ADD.html b/parity_wasm/elements/opcodes/constant.I16X8_ADD.html new file mode 100644 index 0000000..61c3b26 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_ADD - Rust

Constant parity_wasm::elements::opcodes::I16X8_ADD[][src]

pub const I16X8_ADD: u32 = 25
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_ADD_SATURATE_S.html b/parity_wasm/elements/opcodes/constant.I16X8_ADD_SATURATE_S.html new file mode 100644 index 0000000..23fe826 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_ADD_SATURATE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_ADD_SATURATE_S - Rust

Constant parity_wasm::elements::opcodes::I16X8_ADD_SATURATE_S[][src]

pub const I16X8_ADD_SATURATE_S: u32 = 42
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_ADD_SATURATE_U.html b/parity_wasm/elements/opcodes/constant.I16X8_ADD_SATURATE_U.html new file mode 100644 index 0000000..633a275 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_ADD_SATURATE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_ADD_SATURATE_U - Rust

Constant parity_wasm::elements::opcodes::I16X8_ADD_SATURATE_U[][src]

pub const I16X8_ADD_SATURATE_U: u32 = 43
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_ALL_TRUE.html b/parity_wasm/elements/opcodes/constant.I16X8_ALL_TRUE.html new file mode 100644 index 0000000..d94c44d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_ALL_TRUE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_ALL_TRUE - Rust

Constant parity_wasm::elements::opcodes::I16X8_ALL_TRUE[][src]

pub const I16X8_ALL_TRUE: u32 = 70
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_ANY_TRUE.html b/parity_wasm/elements/opcodes/constant.I16X8_ANY_TRUE.html new file mode 100644 index 0000000..fe00b8e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_ANY_TRUE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_ANY_TRUE - Rust

Constant parity_wasm::elements::opcodes::I16X8_ANY_TRUE[][src]

pub const I16X8_ANY_TRUE: u32 = 66
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_EQ.html b/parity_wasm/elements/opcodes/constant.I16X8_EQ.html new file mode 100644 index 0000000..878b2a7 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_EQ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_EQ - Rust

Constant parity_wasm::elements::opcodes::I16X8_EQ[][src]

pub const I16X8_EQ: u32 = 74
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_EXTRACT_LANE_S.html b/parity_wasm/elements/opcodes/constant.I16X8_EXTRACT_LANE_S.html new file mode 100644 index 0000000..932f7c4 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_EXTRACT_LANE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_EXTRACT_LANE_S - Rust

Constant parity_wasm::elements::opcodes::I16X8_EXTRACT_LANE_S[][src]

pub const I16X8_EXTRACT_LANE_S: u32 = 11
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_EXTRACT_LANE_U.html b/parity_wasm/elements/opcodes/constant.I16X8_EXTRACT_LANE_U.html new file mode 100644 index 0000000..0db6758 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_EXTRACT_LANE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_EXTRACT_LANE_U - Rust

Constant parity_wasm::elements::opcodes::I16X8_EXTRACT_LANE_U[][src]

pub const I16X8_EXTRACT_LANE_U: u32 = 12
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_GE_S.html b/parity_wasm/elements/opcodes/constant.I16X8_GE_S.html new file mode 100644 index 0000000..010ac1b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_GE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_GE_S - Rust

Constant parity_wasm::elements::opcodes::I16X8_GE_S[][src]

pub const I16X8_GE_S: u32 = 117
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_GE_U.html b/parity_wasm/elements/opcodes/constant.I16X8_GE_U.html new file mode 100644 index 0000000..58fe420 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_GE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_GE_U - Rust

Constant parity_wasm::elements::opcodes::I16X8_GE_U[][src]

pub const I16X8_GE_U: u32 = 118
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_GT_S.html b/parity_wasm/elements/opcodes/constant.I16X8_GT_S.html new file mode 100644 index 0000000..25a1b40 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_GT_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_GT_S - Rust

Constant parity_wasm::elements::opcodes::I16X8_GT_S[][src]

pub const I16X8_GT_S: u32 = 107
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_GT_U.html b/parity_wasm/elements/opcodes/constant.I16X8_GT_U.html new file mode 100644 index 0000000..50fde64 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_GT_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_GT_U - Rust

Constant parity_wasm::elements::opcodes::I16X8_GT_U[][src]

pub const I16X8_GT_U: u32 = 108
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_LE_S.html b/parity_wasm/elements/opcodes/constant.I16X8_LE_S.html new file mode 100644 index 0000000..0915922 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_LE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_LE_S - Rust

Constant parity_wasm::elements::opcodes::I16X8_LE_S[][src]

pub const I16X8_LE_S: u32 = 97
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_LE_U.html b/parity_wasm/elements/opcodes/constant.I16X8_LE_U.html new file mode 100644 index 0000000..e59a5af --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_LE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_LE_U - Rust

Constant parity_wasm::elements::opcodes::I16X8_LE_U[][src]

pub const I16X8_LE_U: u32 = 98
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_LT_S.html b/parity_wasm/elements/opcodes/constant.I16X8_LT_S.html new file mode 100644 index 0000000..acaaebc --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_LT_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_LT_S - Rust

Constant parity_wasm::elements::opcodes::I16X8_LT_S[][src]

pub const I16X8_LT_S: u32 = 87
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_LT_U.html b/parity_wasm/elements/opcodes/constant.I16X8_LT_U.html new file mode 100644 index 0000000..4bea4e6 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_LT_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_LT_U - Rust

Constant parity_wasm::elements::opcodes::I16X8_LT_U[][src]

pub const I16X8_LT_U: u32 = 88
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_MUL.html b/parity_wasm/elements/opcodes/constant.I16X8_MUL.html new file mode 100644 index 0000000..9c47fc9 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_MUL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_MUL - Rust

Constant parity_wasm::elements::opcodes::I16X8_MUL[][src]

pub const I16X8_MUL: u32 = 33
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_NE.html b/parity_wasm/elements/opcodes/constant.I16X8_NE.html new file mode 100644 index 0000000..61cf52f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_NE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_NE - Rust

Constant parity_wasm::elements::opcodes::I16X8_NE[][src]

pub const I16X8_NE: u32 = 80
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_NEG.html b/parity_wasm/elements/opcodes/constant.I16X8_NEG.html new file mode 100644 index 0000000..4703685 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_NEG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_NEG - Rust

Constant parity_wasm::elements::opcodes::I16X8_NEG[][src]

pub const I16X8_NEG: u32 = 37
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_REPLACE_LANE.html b/parity_wasm/elements/opcodes/constant.I16X8_REPLACE_LANE.html new file mode 100644 index 0000000..c21fa7d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_REPLACE_LANE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_REPLACE_LANE - Rust

Constant parity_wasm::elements::opcodes::I16X8_REPLACE_LANE[][src]

pub const I16X8_REPLACE_LANE: u32 = 18
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_SHL.html b/parity_wasm/elements/opcodes/constant.I16X8_SHL.html new file mode 100644 index 0000000..f974a2c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_SHL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_SHL - Rust

Constant parity_wasm::elements::opcodes::I16X8_SHL[][src]

pub const I16X8_SHL: u32 = 49
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_SHR_S.html b/parity_wasm/elements/opcodes/constant.I16X8_SHR_S.html new file mode 100644 index 0000000..4aa40fe --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_SHR_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_SHR_S - Rust

Constant parity_wasm::elements::opcodes::I16X8_SHR_S[][src]

pub const I16X8_SHR_S: u32 = 54
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_SHR_U.html b/parity_wasm/elements/opcodes/constant.I16X8_SHR_U.html new file mode 100644 index 0000000..b3fa3ff --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_SHR_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_SHR_U - Rust

Constant parity_wasm::elements::opcodes::I16X8_SHR_U[][src]

pub const I16X8_SHR_U: u32 = 55
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_SPLAT.html b/parity_wasm/elements/opcodes/constant.I16X8_SPLAT.html new file mode 100644 index 0000000..96e8de8 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_SPLAT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_SPLAT - Rust

Constant parity_wasm::elements::opcodes::I16X8_SPLAT[][src]

pub const I16X8_SPLAT: u32 = 4
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_SUB.html b/parity_wasm/elements/opcodes/constant.I16X8_SUB.html new file mode 100644 index 0000000..c22042e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_SUB - Rust

Constant parity_wasm::elements::opcodes::I16X8_SUB[][src]

pub const I16X8_SUB: u32 = 29
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_SUB_SATURATE_S.html b/parity_wasm/elements/opcodes/constant.I16X8_SUB_SATURATE_S.html new file mode 100644 index 0000000..8c32f3f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_SUB_SATURATE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_SUB_SATURATE_S - Rust

Constant parity_wasm::elements::opcodes::I16X8_SUB_SATURATE_S[][src]

pub const I16X8_SUB_SATURATE_S: u32 = 46
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I16X8_SUB_SATURATE_U.html b/parity_wasm/elements/opcodes/constant.I16X8_SUB_SATURATE_U.html new file mode 100644 index 0000000..5f291a3 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I16X8_SUB_SATURATE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I16X8_SUB_SATURATE_U - Rust

Constant parity_wasm::elements::opcodes::I16X8_SUB_SATURATE_U[][src]

pub const I16X8_SUB_SATURATE_U: u32 = 47
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32ADD.html b/parity_wasm/elements/opcodes/constant.I32ADD.html new file mode 100644 index 0000000..7cf12c4 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32ADD - Rust

Constant parity_wasm::elements::opcodes::I32ADD[][src]

pub const I32ADD: u8 = 106
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32AND.html b/parity_wasm/elements/opcodes/constant.I32AND.html new file mode 100644 index 0000000..e5b9d3e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32AND.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32AND - Rust

Constant parity_wasm::elements::opcodes::I32AND[][src]

pub const I32AND: u8 = 113
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32CLZ.html b/parity_wasm/elements/opcodes/constant.I32CLZ.html new file mode 100644 index 0000000..ddcb4f1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32CLZ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32CLZ - Rust

Constant parity_wasm::elements::opcodes::I32CLZ[][src]

pub const I32CLZ: u8 = 103
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32CONST.html b/parity_wasm/elements/opcodes/constant.I32CONST.html new file mode 100644 index 0000000..db03ae6 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32CONST.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32CONST - Rust

Constant parity_wasm::elements::opcodes::I32CONST[][src]

pub const I32CONST: u8 = 65
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32CTZ.html b/parity_wasm/elements/opcodes/constant.I32CTZ.html new file mode 100644 index 0000000..153d6cb --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32CTZ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32CTZ - Rust

Constant parity_wasm::elements::opcodes::I32CTZ[][src]

pub const I32CTZ: u8 = 104
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32DIVS.html b/parity_wasm/elements/opcodes/constant.I32DIVS.html new file mode 100644 index 0000000..198de4a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32DIVS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32DIVS - Rust

Constant parity_wasm::elements::opcodes::I32DIVS[][src]

pub const I32DIVS: u8 = 109
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32DIVU.html b/parity_wasm/elements/opcodes/constant.I32DIVU.html new file mode 100644 index 0000000..f216c08 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32DIVU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32DIVU - Rust

Constant parity_wasm::elements::opcodes::I32DIVU[][src]

pub const I32DIVU: u8 = 110
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32EQ.html b/parity_wasm/elements/opcodes/constant.I32EQ.html new file mode 100644 index 0000000..389e23e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32EQ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32EQ - Rust

Constant parity_wasm::elements::opcodes::I32EQ[][src]

pub const I32EQ: u8 = 70
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32EQZ.html b/parity_wasm/elements/opcodes/constant.I32EQZ.html new file mode 100644 index 0000000..a0279d7 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32EQZ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32EQZ - Rust

Constant parity_wasm::elements::opcodes::I32EQZ[][src]

pub const I32EQZ: u8 = 69
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32GES.html b/parity_wasm/elements/opcodes/constant.I32GES.html new file mode 100644 index 0000000..5b00351 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32GES.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32GES - Rust

Constant parity_wasm::elements::opcodes::I32GES[][src]

pub const I32GES: u8 = 78
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32GEU.html b/parity_wasm/elements/opcodes/constant.I32GEU.html new file mode 100644 index 0000000..799033e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32GEU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32GEU - Rust

Constant parity_wasm::elements::opcodes::I32GEU[][src]

pub const I32GEU: u8 = 79
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32GTS.html b/parity_wasm/elements/opcodes/constant.I32GTS.html new file mode 100644 index 0000000..1bc796f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32GTS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32GTS - Rust

Constant parity_wasm::elements::opcodes::I32GTS[][src]

pub const I32GTS: u8 = 74
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32GTU.html b/parity_wasm/elements/opcodes/constant.I32GTU.html new file mode 100644 index 0000000..f86a0fd --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32GTU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32GTU - Rust

Constant parity_wasm::elements::opcodes::I32GTU[][src]

pub const I32GTU: u8 = 75
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32LES.html b/parity_wasm/elements/opcodes/constant.I32LES.html new file mode 100644 index 0000000..ba98524 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32LES.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32LES - Rust

Constant parity_wasm::elements::opcodes::I32LES[][src]

pub const I32LES: u8 = 76
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32LEU.html b/parity_wasm/elements/opcodes/constant.I32LEU.html new file mode 100644 index 0000000..a0ff8f2 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32LEU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32LEU - Rust

Constant parity_wasm::elements::opcodes::I32LEU[][src]

pub const I32LEU: u8 = 77
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32LOAD.html b/parity_wasm/elements/opcodes/constant.I32LOAD.html new file mode 100644 index 0000000..058fddd --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32LOAD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32LOAD - Rust

Constant parity_wasm::elements::opcodes::I32LOAD[][src]

pub const I32LOAD: u8 = 40
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32LOAD16S.html b/parity_wasm/elements/opcodes/constant.I32LOAD16S.html new file mode 100644 index 0000000..23401f7 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32LOAD16S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32LOAD16S - Rust

Constant parity_wasm::elements::opcodes::I32LOAD16S[][src]

pub const I32LOAD16S: u8 = 46
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32LOAD16U.html b/parity_wasm/elements/opcodes/constant.I32LOAD16U.html new file mode 100644 index 0000000..7103b44 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32LOAD16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32LOAD16U - Rust

Constant parity_wasm::elements::opcodes::I32LOAD16U[][src]

pub const I32LOAD16U: u8 = 47
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32LOAD8S.html b/parity_wasm/elements/opcodes/constant.I32LOAD8S.html new file mode 100644 index 0000000..b53ecac --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32LOAD8S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32LOAD8S - Rust

Constant parity_wasm::elements::opcodes::I32LOAD8S[][src]

pub const I32LOAD8S: u8 = 44
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32LOAD8U.html b/parity_wasm/elements/opcodes/constant.I32LOAD8U.html new file mode 100644 index 0000000..96c1184 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32LOAD8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32LOAD8U - Rust

Constant parity_wasm::elements::opcodes::I32LOAD8U[][src]

pub const I32LOAD8U: u8 = 45
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32LTS.html b/parity_wasm/elements/opcodes/constant.I32LTS.html new file mode 100644 index 0000000..db6cd97 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32LTS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32LTS - Rust

Constant parity_wasm::elements::opcodes::I32LTS[][src]

pub const I32LTS: u8 = 72
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32LTU.html b/parity_wasm/elements/opcodes/constant.I32LTU.html new file mode 100644 index 0000000..6c2a788 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32LTU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32LTU - Rust

Constant parity_wasm::elements::opcodes::I32LTU[][src]

pub const I32LTU: u8 = 73
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32MUL.html b/parity_wasm/elements/opcodes/constant.I32MUL.html new file mode 100644 index 0000000..3f9c8da --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32MUL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32MUL - Rust

Constant parity_wasm::elements::opcodes::I32MUL[][src]

pub const I32MUL: u8 = 108
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32NE.html b/parity_wasm/elements/opcodes/constant.I32NE.html new file mode 100644 index 0000000..0dd3c4a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32NE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32NE - Rust

Constant parity_wasm::elements::opcodes::I32NE[][src]

pub const I32NE: u8 = 71
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32OR.html b/parity_wasm/elements/opcodes/constant.I32OR.html new file mode 100644 index 0000000..ad85118 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32OR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32OR - Rust

Constant parity_wasm::elements::opcodes::I32OR[][src]

pub const I32OR: u8 = 114
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32POPCNT.html b/parity_wasm/elements/opcodes/constant.I32POPCNT.html new file mode 100644 index 0000000..b072703 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32POPCNT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32POPCNT - Rust

Constant parity_wasm::elements::opcodes::I32POPCNT[][src]

pub const I32POPCNT: u8 = 105
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32REINTERPRETF32.html b/parity_wasm/elements/opcodes/constant.I32REINTERPRETF32.html new file mode 100644 index 0000000..3d9fc56 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32REINTERPRETF32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32REINTERPRETF32 - Rust

Constant parity_wasm::elements::opcodes::I32REINTERPRETF32[][src]

pub const I32REINTERPRETF32: u8 = 188
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32REMS.html b/parity_wasm/elements/opcodes/constant.I32REMS.html new file mode 100644 index 0000000..d96c838 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32REMS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32REMS - Rust

Constant parity_wasm::elements::opcodes::I32REMS[][src]

pub const I32REMS: u8 = 111
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32REMU.html b/parity_wasm/elements/opcodes/constant.I32REMU.html new file mode 100644 index 0000000..ef14a4b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32REMU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32REMU - Rust

Constant parity_wasm::elements::opcodes::I32REMU[][src]

pub const I32REMU: u8 = 112
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32ROTL.html b/parity_wasm/elements/opcodes/constant.I32ROTL.html new file mode 100644 index 0000000..10f955c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32ROTL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32ROTL - Rust

Constant parity_wasm::elements::opcodes::I32ROTL[][src]

pub const I32ROTL: u8 = 119
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32ROTR.html b/parity_wasm/elements/opcodes/constant.I32ROTR.html new file mode 100644 index 0000000..2f7ec7d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32ROTR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32ROTR - Rust

Constant parity_wasm::elements::opcodes::I32ROTR[][src]

pub const I32ROTR: u8 = 120
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32SHL.html b/parity_wasm/elements/opcodes/constant.I32SHL.html new file mode 100644 index 0000000..a41e0a3 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32SHL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32SHL - Rust

Constant parity_wasm::elements::opcodes::I32SHL[][src]

pub const I32SHL: u8 = 116
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32SHRS.html b/parity_wasm/elements/opcodes/constant.I32SHRS.html new file mode 100644 index 0000000..698b86b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32SHRS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32SHRS - Rust

Constant parity_wasm::elements::opcodes::I32SHRS[][src]

pub const I32SHRS: u8 = 117
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32SHRU.html b/parity_wasm/elements/opcodes/constant.I32SHRU.html new file mode 100644 index 0000000..cd59b98 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32SHRU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32SHRU - Rust

Constant parity_wasm::elements::opcodes::I32SHRU[][src]

pub const I32SHRU: u8 = 118
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32STORE.html b/parity_wasm/elements/opcodes/constant.I32STORE.html new file mode 100644 index 0000000..afeecfe --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32STORE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32STORE - Rust

Constant parity_wasm::elements::opcodes::I32STORE[][src]

pub const I32STORE: u8 = 54
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32STORE16.html b/parity_wasm/elements/opcodes/constant.I32STORE16.html new file mode 100644 index 0000000..dbe170e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32STORE16.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32STORE16 - Rust

Constant parity_wasm::elements::opcodes::I32STORE16[][src]

pub const I32STORE16: u8 = 59
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32STORE8.html b/parity_wasm/elements/opcodes/constant.I32STORE8.html new file mode 100644 index 0000000..2831b33 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32STORE8.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32STORE8 - Rust

Constant parity_wasm::elements::opcodes::I32STORE8[][src]

pub const I32STORE8: u8 = 58
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32SUB.html b/parity_wasm/elements/opcodes/constant.I32SUB.html new file mode 100644 index 0000000..11365fb --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32SUB - Rust

Constant parity_wasm::elements::opcodes::I32SUB[][src]

pub const I32SUB: u8 = 107
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32TRUNCSF32.html b/parity_wasm/elements/opcodes/constant.I32TRUNCSF32.html new file mode 100644 index 0000000..3739b47 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32TRUNCSF32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32TRUNCSF32 - Rust

Constant parity_wasm::elements::opcodes::I32TRUNCSF32[][src]

pub const I32TRUNCSF32: u8 = 168
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32TRUNCSF64.html b/parity_wasm/elements/opcodes/constant.I32TRUNCSF64.html new file mode 100644 index 0000000..d7b936b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32TRUNCSF64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32TRUNCSF64 - Rust

Constant parity_wasm::elements::opcodes::I32TRUNCSF64[][src]

pub const I32TRUNCSF64: u8 = 170
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32TRUNCUF32.html b/parity_wasm/elements/opcodes/constant.I32TRUNCUF32.html new file mode 100644 index 0000000..7f7eaab --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32TRUNCUF32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32TRUNCUF32 - Rust

Constant parity_wasm::elements::opcodes::I32TRUNCUF32[][src]

pub const I32TRUNCUF32: u8 = 169
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32TRUNCUF64.html b/parity_wasm/elements/opcodes/constant.I32TRUNCUF64.html new file mode 100644 index 0000000..61f4a4d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32TRUNCUF64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32TRUNCUF64 - Rust

Constant parity_wasm::elements::opcodes::I32TRUNCUF64[][src]

pub const I32TRUNCUF64: u8 = 171
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32WRAPI64.html b/parity_wasm/elements/opcodes/constant.I32WRAPI64.html new file mode 100644 index 0000000..520911f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32WRAPI64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32WRAPI64 - Rust

Constant parity_wasm::elements::opcodes::I32WRAPI64[][src]

pub const I32WRAPI64: u8 = 167
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_ADD.html b/parity_wasm/elements/opcodes/constant.I32X4_ADD.html new file mode 100644 index 0000000..b7339b2 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_ADD - Rust

Constant parity_wasm::elements::opcodes::I32X4_ADD[][src]

pub const I32X4_ADD: u32 = 26
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_ALL_TRUE.html b/parity_wasm/elements/opcodes/constant.I32X4_ALL_TRUE.html new file mode 100644 index 0000000..b449d79 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_ALL_TRUE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_ALL_TRUE - Rust

Constant parity_wasm::elements::opcodes::I32X4_ALL_TRUE[][src]

pub const I32X4_ALL_TRUE: u32 = 71
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_ANY_TRUE.html b/parity_wasm/elements/opcodes/constant.I32X4_ANY_TRUE.html new file mode 100644 index 0000000..f9ca40e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_ANY_TRUE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_ANY_TRUE - Rust

Constant parity_wasm::elements::opcodes::I32X4_ANY_TRUE[][src]

pub const I32X4_ANY_TRUE: u32 = 67
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_EQ.html b/parity_wasm/elements/opcodes/constant.I32X4_EQ.html new file mode 100644 index 0000000..1f5f07c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_EQ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_EQ - Rust

Constant parity_wasm::elements::opcodes::I32X4_EQ[][src]

pub const I32X4_EQ: u32 = 75
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_EXTRACT_LANE.html b/parity_wasm/elements/opcodes/constant.I32X4_EXTRACT_LANE.html new file mode 100644 index 0000000..ca1f83c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_EXTRACT_LANE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_EXTRACT_LANE - Rust

Constant parity_wasm::elements::opcodes::I32X4_EXTRACT_LANE[][src]

pub const I32X4_EXTRACT_LANE: u32 = 13
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_GE_S.html b/parity_wasm/elements/opcodes/constant.I32X4_GE_S.html new file mode 100644 index 0000000..ba65d15 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_GE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_GE_S - Rust

Constant parity_wasm::elements::opcodes::I32X4_GE_S[][src]

pub const I32X4_GE_S: u32 = 119
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_GE_U.html b/parity_wasm/elements/opcodes/constant.I32X4_GE_U.html new file mode 100644 index 0000000..da08ccc --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_GE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_GE_U - Rust

Constant parity_wasm::elements::opcodes::I32X4_GE_U[][src]

pub const I32X4_GE_U: u32 = 120
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_GT_S.html b/parity_wasm/elements/opcodes/constant.I32X4_GT_S.html new file mode 100644 index 0000000..5e116ef --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_GT_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_GT_S - Rust

Constant parity_wasm::elements::opcodes::I32X4_GT_S[][src]

pub const I32X4_GT_S: u32 = 109
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_GT_U.html b/parity_wasm/elements/opcodes/constant.I32X4_GT_U.html new file mode 100644 index 0000000..ca70d86 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_GT_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_GT_U - Rust

Constant parity_wasm::elements::opcodes::I32X4_GT_U[][src]

pub const I32X4_GT_U: u32 = 110
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_LE_S.html b/parity_wasm/elements/opcodes/constant.I32X4_LE_S.html new file mode 100644 index 0000000..1d63850 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_LE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_LE_S - Rust

Constant parity_wasm::elements::opcodes::I32X4_LE_S[][src]

pub const I32X4_LE_S: u32 = 99
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_LE_U.html b/parity_wasm/elements/opcodes/constant.I32X4_LE_U.html new file mode 100644 index 0000000..1dcaa05 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_LE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_LE_U - Rust

Constant parity_wasm::elements::opcodes::I32X4_LE_U[][src]

pub const I32X4_LE_U: u32 = 100
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_LT_S.html b/parity_wasm/elements/opcodes/constant.I32X4_LT_S.html new file mode 100644 index 0000000..586976e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_LT_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_LT_S - Rust

Constant parity_wasm::elements::opcodes::I32X4_LT_S[][src]

pub const I32X4_LT_S: u32 = 89
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_LT_U.html b/parity_wasm/elements/opcodes/constant.I32X4_LT_U.html new file mode 100644 index 0000000..6088354 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_LT_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_LT_U - Rust

Constant parity_wasm::elements::opcodes::I32X4_LT_U[][src]

pub const I32X4_LT_U: u32 = 90
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_MUL.html b/parity_wasm/elements/opcodes/constant.I32X4_MUL.html new file mode 100644 index 0000000..53110a6 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_MUL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_MUL - Rust

Constant parity_wasm::elements::opcodes::I32X4_MUL[][src]

pub const I32X4_MUL: u32 = 34
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_NE.html b/parity_wasm/elements/opcodes/constant.I32X4_NE.html new file mode 100644 index 0000000..768b784 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_NE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_NE - Rust

Constant parity_wasm::elements::opcodes::I32X4_NE[][src]

pub const I32X4_NE: u32 = 81
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_NEG.html b/parity_wasm/elements/opcodes/constant.I32X4_NEG.html new file mode 100644 index 0000000..475da2b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_NEG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_NEG - Rust

Constant parity_wasm::elements::opcodes::I32X4_NEG[][src]

pub const I32X4_NEG: u32 = 38
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_REPLACE_LANE.html b/parity_wasm/elements/opcodes/constant.I32X4_REPLACE_LANE.html new file mode 100644 index 0000000..6a4bbdd --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_REPLACE_LANE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_REPLACE_LANE - Rust

Constant parity_wasm::elements::opcodes::I32X4_REPLACE_LANE[][src]

pub const I32X4_REPLACE_LANE: u32 = 19
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_SHL.html b/parity_wasm/elements/opcodes/constant.I32X4_SHL.html new file mode 100644 index 0000000..cbf517d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_SHL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_SHL - Rust

Constant parity_wasm::elements::opcodes::I32X4_SHL[][src]

pub const I32X4_SHL: u32 = 50
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_SHR_S.html b/parity_wasm/elements/opcodes/constant.I32X4_SHR_S.html new file mode 100644 index 0000000..46023f0 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_SHR_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_SHR_S - Rust

Constant parity_wasm::elements::opcodes::I32X4_SHR_S[][src]

pub const I32X4_SHR_S: u32 = 56
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_SHR_U.html b/parity_wasm/elements/opcodes/constant.I32X4_SHR_U.html new file mode 100644 index 0000000..60bbe4a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_SHR_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_SHR_U - Rust

Constant parity_wasm::elements::opcodes::I32X4_SHR_U[][src]

pub const I32X4_SHR_U: u32 = 57
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_SPLAT.html b/parity_wasm/elements/opcodes/constant.I32X4_SPLAT.html new file mode 100644 index 0000000..83e4bf2 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_SPLAT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_SPLAT - Rust

Constant parity_wasm::elements::opcodes::I32X4_SPLAT[][src]

pub const I32X4_SPLAT: u32 = 5
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_SUB.html b/parity_wasm/elements/opcodes/constant.I32X4_SUB.html new file mode 100644 index 0000000..a126dc5 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_SUB - Rust

Constant parity_wasm::elements::opcodes::I32X4_SUB[][src]

pub const I32X4_SUB: u32 = 30
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_TRUNC_S_F32X4_SAT.html b/parity_wasm/elements/opcodes/constant.I32X4_TRUNC_S_F32X4_SAT.html new file mode 100644 index 0000000..e8a1c3b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_TRUNC_S_F32X4_SAT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_TRUNC_S_F32X4_SAT - Rust

Constant parity_wasm::elements::opcodes::I32X4_TRUNC_S_F32X4_SAT[][src]

pub const I32X4_TRUNC_S_F32X4_SAT: u32 = 147
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32X4_TRUNC_U_F32X4_SAT.html b/parity_wasm/elements/opcodes/constant.I32X4_TRUNC_U_F32X4_SAT.html new file mode 100644 index 0000000..32ebf13 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32X4_TRUNC_U_F32X4_SAT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32X4_TRUNC_U_F32X4_SAT - Rust

Constant parity_wasm::elements::opcodes::I32X4_TRUNC_U_F32X4_SAT[][src]

pub const I32X4_TRUNC_U_F32X4_SAT: u32 = 148
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32XOR.html b/parity_wasm/elements/opcodes/constant.I32XOR.html new file mode 100644 index 0000000..d8f89f7 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32XOR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32XOR - Rust

Constant parity_wasm::elements::opcodes::I32XOR[][src]

pub const I32XOR: u8 = 115
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD.html new file mode 100644 index 0000000..8a7c8e8 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_LOAD - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_LOAD[][src]

pub const I32_ATOMIC_LOAD: u8 = 16
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD16U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD16U.html new file mode 100644 index 0000000..cdf4464 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_LOAD16U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_LOAD16U[][src]

pub const I32_ATOMIC_LOAD16U: u8 = 19
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD8U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD8U.html new file mode 100644 index 0000000..102de03 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_LOAD8U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_LOAD8U[][src]

pub const I32_ATOMIC_LOAD8U: u8 = 18
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD.html new file mode 100644 index 0000000..f3ca618 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_ADD - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_ADD[][src]

pub const I32_ATOMIC_RMW_ADD: u8 = 30
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD16U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD16U.html new file mode 100644 index 0000000..d78d5d5 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_ADD16U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_ADD16U[][src]

pub const I32_ATOMIC_RMW_ADD16U: u8 = 33
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD8U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD8U.html new file mode 100644 index 0000000..435a76f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_ADD8U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_ADD8U[][src]

pub const I32_ATOMIC_RMW_ADD8U: u8 = 32
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND.html new file mode 100644 index 0000000..1be3748 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_AND - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_AND[][src]

pub const I32_ATOMIC_RMW_AND: u8 = 44
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND16U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND16U.html new file mode 100644 index 0000000..c3da49f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_AND16U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_AND16U[][src]

pub const I32_ATOMIC_RMW_AND16U: u8 = 47
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND8U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND8U.html new file mode 100644 index 0000000..2c8f927 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_AND8U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_AND8U[][src]

pub const I32_ATOMIC_RMW_AND8U: u8 = 46
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG.html new file mode 100644 index 0000000..72c2431 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_CMPXCHG - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_CMPXCHG[][src]

pub const I32_ATOMIC_RMW_CMPXCHG: u8 = 72
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG16U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG16U.html new file mode 100644 index 0000000..d95a1f8 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_CMPXCHG16U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_CMPXCHG16U[][src]

pub const I32_ATOMIC_RMW_CMPXCHG16U: u8 = 75
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG8U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG8U.html new file mode 100644 index 0000000..57a4fc1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_CMPXCHG8U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_CMPXCHG8U[][src]

pub const I32_ATOMIC_RMW_CMPXCHG8U: u8 = 74
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR.html new file mode 100644 index 0000000..3d06a61 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_OR - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_OR[][src]

pub const I32_ATOMIC_RMW_OR: u8 = 51
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR16U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR16U.html new file mode 100644 index 0000000..2c9cde0 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_OR16U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_OR16U[][src]

pub const I32_ATOMIC_RMW_OR16U: u8 = 54
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR8U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR8U.html new file mode 100644 index 0000000..7b16e87 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_OR8U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_OR8U[][src]

pub const I32_ATOMIC_RMW_OR8U: u8 = 53
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB.html new file mode 100644 index 0000000..9f91a46 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_SUB - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_SUB[][src]

pub const I32_ATOMIC_RMW_SUB: u8 = 37
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB16U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB16U.html new file mode 100644 index 0000000..199659c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_SUB16U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_SUB16U[][src]

pub const I32_ATOMIC_RMW_SUB16U: u8 = 40
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB8U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB8U.html new file mode 100644 index 0000000..592a0a7 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_SUB8U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_SUB8U[][src]

pub const I32_ATOMIC_RMW_SUB8U: u8 = 39
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG.html new file mode 100644 index 0000000..655575b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XCHG - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XCHG[][src]

pub const I32_ATOMIC_RMW_XCHG: u8 = 65
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG16U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG16U.html new file mode 100644 index 0000000..1671f32 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XCHG16U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XCHG16U[][src]

pub const I32_ATOMIC_RMW_XCHG16U: u8 = 68
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG8U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG8U.html new file mode 100644 index 0000000..6ff41b0 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XCHG8U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XCHG8U[][src]

pub const I32_ATOMIC_RMW_XCHG8U: u8 = 67
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR.html new file mode 100644 index 0000000..bbdadb3 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XOR - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XOR[][src]

pub const I32_ATOMIC_RMW_XOR: u8 = 58
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR16U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR16U.html new file mode 100644 index 0000000..f092f82 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XOR16U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XOR16U[][src]

pub const I32_ATOMIC_RMW_XOR16U: u8 = 61
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR8U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR8U.html new file mode 100644 index 0000000..3db2483 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XOR8U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_RMW_XOR8U[][src]

pub const I32_ATOMIC_RMW_XOR8U: u8 = 60
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE.html new file mode 100644 index 0000000..526d196 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_STORE - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_STORE[][src]

pub const I32_ATOMIC_STORE: u8 = 23
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE16U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE16U.html new file mode 100644 index 0000000..f11b381 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_STORE16U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_STORE16U[][src]

pub const I32_ATOMIC_STORE16U: u8 = 26
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE8U.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE8U.html new file mode 100644 index 0000000..7e55575 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_STORE8U - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_STORE8U[][src]

pub const I32_ATOMIC_STORE8U: u8 = 25
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_ATOMIC_WAIT.html b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_WAIT.html new file mode 100644 index 0000000..c26f903 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_ATOMIC_WAIT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_ATOMIC_WAIT - Rust

Constant parity_wasm::elements::opcodes::I32_ATOMIC_WAIT[][src]

pub const I32_ATOMIC_WAIT: u8 = 1
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_EXTEND16_S.html b/parity_wasm/elements/opcodes/constant.I32_EXTEND16_S.html new file mode 100644 index 0000000..4027419 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_EXTEND16_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_EXTEND16_S - Rust

Constant parity_wasm::elements::opcodes::I32_EXTEND16_S[][src]

pub const I32_EXTEND16_S: u8 = 193
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I32_EXTEND8_S.html b/parity_wasm/elements/opcodes/constant.I32_EXTEND8_S.html new file mode 100644 index 0000000..92eb4b9 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I32_EXTEND8_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I32_EXTEND8_S - Rust

Constant parity_wasm::elements::opcodes::I32_EXTEND8_S[][src]

pub const I32_EXTEND8_S: u8 = 192
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64ADD.html b/parity_wasm/elements/opcodes/constant.I64ADD.html new file mode 100644 index 0000000..a3b68b9 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64ADD - Rust

Constant parity_wasm::elements::opcodes::I64ADD[][src]

pub const I64ADD: u8 = 124
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64AND.html b/parity_wasm/elements/opcodes/constant.I64AND.html new file mode 100644 index 0000000..a1cd66d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64AND.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64AND - Rust

Constant parity_wasm::elements::opcodes::I64AND[][src]

pub const I64AND: u8 = 131
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64CLZ.html b/parity_wasm/elements/opcodes/constant.I64CLZ.html new file mode 100644 index 0000000..f95adbb --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64CLZ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64CLZ - Rust

Constant parity_wasm::elements::opcodes::I64CLZ[][src]

pub const I64CLZ: u8 = 121
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64CONST.html b/parity_wasm/elements/opcodes/constant.I64CONST.html new file mode 100644 index 0000000..3d9fae4 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64CONST.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64CONST - Rust

Constant parity_wasm::elements::opcodes::I64CONST[][src]

pub const I64CONST: u8 = 66
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64CTZ.html b/parity_wasm/elements/opcodes/constant.I64CTZ.html new file mode 100644 index 0000000..7edc719 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64CTZ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64CTZ - Rust

Constant parity_wasm::elements::opcodes::I64CTZ[][src]

pub const I64CTZ: u8 = 122
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64DIVS.html b/parity_wasm/elements/opcodes/constant.I64DIVS.html new file mode 100644 index 0000000..339783b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64DIVS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64DIVS - Rust

Constant parity_wasm::elements::opcodes::I64DIVS[][src]

pub const I64DIVS: u8 = 127
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64DIVU.html b/parity_wasm/elements/opcodes/constant.I64DIVU.html new file mode 100644 index 0000000..1d04562 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64DIVU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64DIVU - Rust

Constant parity_wasm::elements::opcodes::I64DIVU[][src]

pub const I64DIVU: u8 = 128
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64EQ.html b/parity_wasm/elements/opcodes/constant.I64EQ.html new file mode 100644 index 0000000..7946da5 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64EQ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64EQ - Rust

Constant parity_wasm::elements::opcodes::I64EQ[][src]

pub const I64EQ: u8 = 81
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64EQZ.html b/parity_wasm/elements/opcodes/constant.I64EQZ.html new file mode 100644 index 0000000..d4d4a69 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64EQZ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64EQZ - Rust

Constant parity_wasm::elements::opcodes::I64EQZ[][src]

pub const I64EQZ: u8 = 80
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64EXTENDSI32.html b/parity_wasm/elements/opcodes/constant.I64EXTENDSI32.html new file mode 100644 index 0000000..fb00f33 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64EXTENDSI32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64EXTENDSI32 - Rust

Constant parity_wasm::elements::opcodes::I64EXTENDSI32[][src]

pub const I64EXTENDSI32: u8 = 172
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64EXTENDUI32.html b/parity_wasm/elements/opcodes/constant.I64EXTENDUI32.html new file mode 100644 index 0000000..5f36929 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64EXTENDUI32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64EXTENDUI32 - Rust

Constant parity_wasm::elements::opcodes::I64EXTENDUI32[][src]

pub const I64EXTENDUI32: u8 = 173
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64GES.html b/parity_wasm/elements/opcodes/constant.I64GES.html new file mode 100644 index 0000000..26e0e41 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64GES.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64GES - Rust

Constant parity_wasm::elements::opcodes::I64GES[][src]

pub const I64GES: u8 = 89
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64GEU.html b/parity_wasm/elements/opcodes/constant.I64GEU.html new file mode 100644 index 0000000..369052f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64GEU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64GEU - Rust

Constant parity_wasm::elements::opcodes::I64GEU[][src]

pub const I64GEU: u8 = 90
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64GTS.html b/parity_wasm/elements/opcodes/constant.I64GTS.html new file mode 100644 index 0000000..8476ce4 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64GTS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64GTS - Rust

Constant parity_wasm::elements::opcodes::I64GTS[][src]

pub const I64GTS: u8 = 85
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64GTU.html b/parity_wasm/elements/opcodes/constant.I64GTU.html new file mode 100644 index 0000000..a9c7766 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64GTU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64GTU - Rust

Constant parity_wasm::elements::opcodes::I64GTU[][src]

pub const I64GTU: u8 = 86
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64LES.html b/parity_wasm/elements/opcodes/constant.I64LES.html new file mode 100644 index 0000000..7972871 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64LES.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64LES - Rust

Constant parity_wasm::elements::opcodes::I64LES[][src]

pub const I64LES: u8 = 87
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64LEU.html b/parity_wasm/elements/opcodes/constant.I64LEU.html new file mode 100644 index 0000000..3426926 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64LEU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64LEU - Rust

Constant parity_wasm::elements::opcodes::I64LEU[][src]

pub const I64LEU: u8 = 88
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64LOAD.html b/parity_wasm/elements/opcodes/constant.I64LOAD.html new file mode 100644 index 0000000..e52df7f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64LOAD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64LOAD - Rust

Constant parity_wasm::elements::opcodes::I64LOAD[][src]

pub const I64LOAD: u8 = 41
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64LOAD16S.html b/parity_wasm/elements/opcodes/constant.I64LOAD16S.html new file mode 100644 index 0000000..73eade5 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64LOAD16S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64LOAD16S - Rust

Constant parity_wasm::elements::opcodes::I64LOAD16S[][src]

pub const I64LOAD16S: u8 = 50
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64LOAD16U.html b/parity_wasm/elements/opcodes/constant.I64LOAD16U.html new file mode 100644 index 0000000..a619699 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64LOAD16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64LOAD16U - Rust

Constant parity_wasm::elements::opcodes::I64LOAD16U[][src]

pub const I64LOAD16U: u8 = 51
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64LOAD32S.html b/parity_wasm/elements/opcodes/constant.I64LOAD32S.html new file mode 100644 index 0000000..cbb2acd --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64LOAD32S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64LOAD32S - Rust

Constant parity_wasm::elements::opcodes::I64LOAD32S[][src]

pub const I64LOAD32S: u8 = 52
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64LOAD32U.html b/parity_wasm/elements/opcodes/constant.I64LOAD32U.html new file mode 100644 index 0000000..03c0134 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64LOAD32U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64LOAD32U - Rust

Constant parity_wasm::elements::opcodes::I64LOAD32U[][src]

pub const I64LOAD32U: u8 = 53
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64LOAD8S.html b/parity_wasm/elements/opcodes/constant.I64LOAD8S.html new file mode 100644 index 0000000..fd7c7aa --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64LOAD8S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64LOAD8S - Rust

Constant parity_wasm::elements::opcodes::I64LOAD8S[][src]

pub const I64LOAD8S: u8 = 48
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64LOAD8U.html b/parity_wasm/elements/opcodes/constant.I64LOAD8U.html new file mode 100644 index 0000000..08c1478 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64LOAD8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64LOAD8U - Rust

Constant parity_wasm::elements::opcodes::I64LOAD8U[][src]

pub const I64LOAD8U: u8 = 49
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64LTS.html b/parity_wasm/elements/opcodes/constant.I64LTS.html new file mode 100644 index 0000000..7893f48 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64LTS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64LTS - Rust

Constant parity_wasm::elements::opcodes::I64LTS[][src]

pub const I64LTS: u8 = 83
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64LTU.html b/parity_wasm/elements/opcodes/constant.I64LTU.html new file mode 100644 index 0000000..573a202 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64LTU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64LTU - Rust

Constant parity_wasm::elements::opcodes::I64LTU[][src]

pub const I64LTU: u8 = 84
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64MUL.html b/parity_wasm/elements/opcodes/constant.I64MUL.html new file mode 100644 index 0000000..fef1c8f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64MUL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64MUL - Rust

Constant parity_wasm::elements::opcodes::I64MUL[][src]

pub const I64MUL: u8 = 126
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64NE.html b/parity_wasm/elements/opcodes/constant.I64NE.html new file mode 100644 index 0000000..ddeccc4 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64NE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64NE - Rust

Constant parity_wasm::elements::opcodes::I64NE[][src]

pub const I64NE: u8 = 82
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64OR.html b/parity_wasm/elements/opcodes/constant.I64OR.html new file mode 100644 index 0000000..d24ea61 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64OR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64OR - Rust

Constant parity_wasm::elements::opcodes::I64OR[][src]

pub const I64OR: u8 = 132
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64POPCNT.html b/parity_wasm/elements/opcodes/constant.I64POPCNT.html new file mode 100644 index 0000000..0ecfb99 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64POPCNT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64POPCNT - Rust

Constant parity_wasm::elements::opcodes::I64POPCNT[][src]

pub const I64POPCNT: u8 = 123
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64REINTERPRETF64.html b/parity_wasm/elements/opcodes/constant.I64REINTERPRETF64.html new file mode 100644 index 0000000..cd0f11a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64REINTERPRETF64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64REINTERPRETF64 - Rust

Constant parity_wasm::elements::opcodes::I64REINTERPRETF64[][src]

pub const I64REINTERPRETF64: u8 = 189
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64REMS.html b/parity_wasm/elements/opcodes/constant.I64REMS.html new file mode 100644 index 0000000..5700e4b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64REMS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64REMS - Rust

Constant parity_wasm::elements::opcodes::I64REMS[][src]

pub const I64REMS: u8 = 129
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64REMU.html b/parity_wasm/elements/opcodes/constant.I64REMU.html new file mode 100644 index 0000000..7d18da4 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64REMU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64REMU - Rust

Constant parity_wasm::elements::opcodes::I64REMU[][src]

pub const I64REMU: u8 = 130
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64ROTL.html b/parity_wasm/elements/opcodes/constant.I64ROTL.html new file mode 100644 index 0000000..376def6 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64ROTL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64ROTL - Rust

Constant parity_wasm::elements::opcodes::I64ROTL[][src]

pub const I64ROTL: u8 = 137
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64ROTR.html b/parity_wasm/elements/opcodes/constant.I64ROTR.html new file mode 100644 index 0000000..02b8d35 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64ROTR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64ROTR - Rust

Constant parity_wasm::elements::opcodes::I64ROTR[][src]

pub const I64ROTR: u8 = 138
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64SHL.html b/parity_wasm/elements/opcodes/constant.I64SHL.html new file mode 100644 index 0000000..0d638c9 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64SHL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64SHL - Rust

Constant parity_wasm::elements::opcodes::I64SHL[][src]

pub const I64SHL: u8 = 134
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64SHRS.html b/parity_wasm/elements/opcodes/constant.I64SHRS.html new file mode 100644 index 0000000..565afb4 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64SHRS.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64SHRS - Rust

Constant parity_wasm::elements::opcodes::I64SHRS[][src]

pub const I64SHRS: u8 = 135
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64SHRU.html b/parity_wasm/elements/opcodes/constant.I64SHRU.html new file mode 100644 index 0000000..4e5a461 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64SHRU.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64SHRU - Rust

Constant parity_wasm::elements::opcodes::I64SHRU[][src]

pub const I64SHRU: u8 = 136
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64STORE.html b/parity_wasm/elements/opcodes/constant.I64STORE.html new file mode 100644 index 0000000..3f942f9 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64STORE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64STORE - Rust

Constant parity_wasm::elements::opcodes::I64STORE[][src]

pub const I64STORE: u8 = 55
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64STORE16.html b/parity_wasm/elements/opcodes/constant.I64STORE16.html new file mode 100644 index 0000000..7bb17a3 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64STORE16.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64STORE16 - Rust

Constant parity_wasm::elements::opcodes::I64STORE16[][src]

pub const I64STORE16: u8 = 61
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64STORE32.html b/parity_wasm/elements/opcodes/constant.I64STORE32.html new file mode 100644 index 0000000..274735b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64STORE32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64STORE32 - Rust

Constant parity_wasm::elements::opcodes::I64STORE32[][src]

pub const I64STORE32: u8 = 62
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64STORE8.html b/parity_wasm/elements/opcodes/constant.I64STORE8.html new file mode 100644 index 0000000..cdbe641 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64STORE8.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64STORE8 - Rust

Constant parity_wasm::elements::opcodes::I64STORE8[][src]

pub const I64STORE8: u8 = 60
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64SUB.html b/parity_wasm/elements/opcodes/constant.I64SUB.html new file mode 100644 index 0000000..cfa7fb5 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64SUB - Rust

Constant parity_wasm::elements::opcodes::I64SUB[][src]

pub const I64SUB: u8 = 125
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64TRUNCSF32.html b/parity_wasm/elements/opcodes/constant.I64TRUNCSF32.html new file mode 100644 index 0000000..a3d7353 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64TRUNCSF32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64TRUNCSF32 - Rust

Constant parity_wasm::elements::opcodes::I64TRUNCSF32[][src]

pub const I64TRUNCSF32: u8 = 174
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64TRUNCSF64.html b/parity_wasm/elements/opcodes/constant.I64TRUNCSF64.html new file mode 100644 index 0000000..55a326c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64TRUNCSF64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64TRUNCSF64 - Rust

Constant parity_wasm::elements::opcodes::I64TRUNCSF64[][src]

pub const I64TRUNCSF64: u8 = 176
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64TRUNCUF32.html b/parity_wasm/elements/opcodes/constant.I64TRUNCUF32.html new file mode 100644 index 0000000..28a7004 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64TRUNCUF32.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64TRUNCUF32 - Rust

Constant parity_wasm::elements::opcodes::I64TRUNCUF32[][src]

pub const I64TRUNCUF32: u8 = 175
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64TRUNCUF64.html b/parity_wasm/elements/opcodes/constant.I64TRUNCUF64.html new file mode 100644 index 0000000..c24f463 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64TRUNCUF64.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64TRUNCUF64 - Rust

Constant parity_wasm::elements::opcodes::I64TRUNCUF64[][src]

pub const I64TRUNCUF64: u8 = 177
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_ADD.html b/parity_wasm/elements/opcodes/constant.I64X2_ADD.html new file mode 100644 index 0000000..a81859a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_ADD - Rust

Constant parity_wasm::elements::opcodes::I64X2_ADD[][src]

pub const I64X2_ADD: u32 = 27
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_ALL_TRUE.html b/parity_wasm/elements/opcodes/constant.I64X2_ALL_TRUE.html new file mode 100644 index 0000000..b3b309d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_ALL_TRUE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_ALL_TRUE - Rust

Constant parity_wasm::elements::opcodes::I64X2_ALL_TRUE[][src]

pub const I64X2_ALL_TRUE: u32 = 72
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_ANY_TRUE.html b/parity_wasm/elements/opcodes/constant.I64X2_ANY_TRUE.html new file mode 100644 index 0000000..a945819 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_ANY_TRUE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_ANY_TRUE - Rust

Constant parity_wasm::elements::opcodes::I64X2_ANY_TRUE[][src]

pub const I64X2_ANY_TRUE: u32 = 68
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_EXTRACT_LANE.html b/parity_wasm/elements/opcodes/constant.I64X2_EXTRACT_LANE.html new file mode 100644 index 0000000..52c086f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_EXTRACT_LANE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_EXTRACT_LANE - Rust

Constant parity_wasm::elements::opcodes::I64X2_EXTRACT_LANE[][src]

pub const I64X2_EXTRACT_LANE: u32 = 14
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_GE_S.html b/parity_wasm/elements/opcodes/constant.I64X2_GE_S.html new file mode 100644 index 0000000..4462865 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_GE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_GE_S - Rust

Constant parity_wasm::elements::opcodes::I64X2_GE_S[][src]

pub const I64X2_GE_S: u32 = 121
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_GE_U.html b/parity_wasm/elements/opcodes/constant.I64X2_GE_U.html new file mode 100644 index 0000000..76eab4b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_GE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_GE_U - Rust

Constant parity_wasm::elements::opcodes::I64X2_GE_U[][src]

pub const I64X2_GE_U: u32 = 122
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_GT_S.html b/parity_wasm/elements/opcodes/constant.I64X2_GT_S.html new file mode 100644 index 0000000..aef299f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_GT_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_GT_S - Rust

Constant parity_wasm::elements::opcodes::I64X2_GT_S[][src]

pub const I64X2_GT_S: u32 = 111
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_GT_U.html b/parity_wasm/elements/opcodes/constant.I64X2_GT_U.html new file mode 100644 index 0000000..d2b81ea --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_GT_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_GT_U - Rust

Constant parity_wasm::elements::opcodes::I64X2_GT_U[][src]

pub const I64X2_GT_U: u32 = 112
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_LE_S.html b/parity_wasm/elements/opcodes/constant.I64X2_LE_S.html new file mode 100644 index 0000000..8ed2f53 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_LE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_LE_S - Rust

Constant parity_wasm::elements::opcodes::I64X2_LE_S[][src]

pub const I64X2_LE_S: u32 = 101
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_LE_U.html b/parity_wasm/elements/opcodes/constant.I64X2_LE_U.html new file mode 100644 index 0000000..e9a0849 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_LE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_LE_U - Rust

Constant parity_wasm::elements::opcodes::I64X2_LE_U[][src]

pub const I64X2_LE_U: u32 = 102
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_LT_S.html b/parity_wasm/elements/opcodes/constant.I64X2_LT_S.html new file mode 100644 index 0000000..085f07e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_LT_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_LT_S - Rust

Constant parity_wasm::elements::opcodes::I64X2_LT_S[][src]

pub const I64X2_LT_S: u32 = 91
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_LT_U.html b/parity_wasm/elements/opcodes/constant.I64X2_LT_U.html new file mode 100644 index 0000000..c6ca6e0 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_LT_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_LT_U - Rust

Constant parity_wasm::elements::opcodes::I64X2_LT_U[][src]

pub const I64X2_LT_U: u32 = 92
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_NEG.html b/parity_wasm/elements/opcodes/constant.I64X2_NEG.html new file mode 100644 index 0000000..9e4f4ac --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_NEG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_NEG - Rust

Constant parity_wasm::elements::opcodes::I64X2_NEG[][src]

pub const I64X2_NEG: u32 = 39
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_REPLACE_LANE.html b/parity_wasm/elements/opcodes/constant.I64X2_REPLACE_LANE.html new file mode 100644 index 0000000..b4bc4b7 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_REPLACE_LANE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_REPLACE_LANE - Rust

Constant parity_wasm::elements::opcodes::I64X2_REPLACE_LANE[][src]

pub const I64X2_REPLACE_LANE: u32 = 20
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_SHL.html b/parity_wasm/elements/opcodes/constant.I64X2_SHL.html new file mode 100644 index 0000000..85c4ba1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_SHL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_SHL - Rust

Constant parity_wasm::elements::opcodes::I64X2_SHL[][src]

pub const I64X2_SHL: u32 = 51
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_SHR_S.html b/parity_wasm/elements/opcodes/constant.I64X2_SHR_S.html new file mode 100644 index 0000000..0d8cf68 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_SHR_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_SHR_S - Rust

Constant parity_wasm::elements::opcodes::I64X2_SHR_S[][src]

pub const I64X2_SHR_S: u32 = 58
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_SHR_U.html b/parity_wasm/elements/opcodes/constant.I64X2_SHR_U.html new file mode 100644 index 0000000..f69e37f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_SHR_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_SHR_U - Rust

Constant parity_wasm::elements::opcodes::I64X2_SHR_U[][src]

pub const I64X2_SHR_U: u32 = 59
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_SPLAT.html b/parity_wasm/elements/opcodes/constant.I64X2_SPLAT.html new file mode 100644 index 0000000..09bdb11 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_SPLAT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_SPLAT - Rust

Constant parity_wasm::elements::opcodes::I64X2_SPLAT[][src]

pub const I64X2_SPLAT: u32 = 6
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_SUB.html b/parity_wasm/elements/opcodes/constant.I64X2_SUB.html new file mode 100644 index 0000000..d931da9 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_SUB - Rust

Constant parity_wasm::elements::opcodes::I64X2_SUB[][src]

pub const I64X2_SUB: u32 = 31
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_TRUNC_S_F64X2_SAT.html b/parity_wasm/elements/opcodes/constant.I64X2_TRUNC_S_F64X2_SAT.html new file mode 100644 index 0000000..4914a3a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_TRUNC_S_F64X2_SAT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_TRUNC_S_F64X2_SAT - Rust

Constant parity_wasm::elements::opcodes::I64X2_TRUNC_S_F64X2_SAT[][src]

pub const I64X2_TRUNC_S_F64X2_SAT: u32 = 149
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64X2_TRUNC_U_F64X2_SAT.html b/parity_wasm/elements/opcodes/constant.I64X2_TRUNC_U_F64X2_SAT.html new file mode 100644 index 0000000..f3742ef --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64X2_TRUNC_U_F64X2_SAT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64X2_TRUNC_U_F64X2_SAT - Rust

Constant parity_wasm::elements::opcodes::I64X2_TRUNC_U_F64X2_SAT[][src]

pub const I64X2_TRUNC_U_F64X2_SAT: u32 = 150
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64XOR.html b/parity_wasm/elements/opcodes/constant.I64XOR.html new file mode 100644 index 0000000..d380a76 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64XOR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64XOR - Rust

Constant parity_wasm::elements::opcodes::I64XOR[][src]

pub const I64XOR: u8 = 133
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD.html new file mode 100644 index 0000000..6e24b82 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_LOAD - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_LOAD[][src]

pub const I64_ATOMIC_LOAD: u8 = 17
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD16U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD16U.html new file mode 100644 index 0000000..3302ac7 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_LOAD16U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_LOAD16U[][src]

pub const I64_ATOMIC_LOAD16U: u8 = 21
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD32U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD32U.html new file mode 100644 index 0000000..9e73e40 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD32U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_LOAD32U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_LOAD32U[][src]

pub const I64_ATOMIC_LOAD32U: u8 = 22
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD8U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD8U.html new file mode 100644 index 0000000..338455d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_LOAD8U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_LOAD8U[][src]

pub const I64_ATOMIC_LOAD8U: u8 = 20
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD.html new file mode 100644 index 0000000..93a5d2a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_ADD - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_ADD[][src]

pub const I64_ATOMIC_RMW_ADD: u8 = 31
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD16U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD16U.html new file mode 100644 index 0000000..7ee02ed --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_ADD16U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_ADD16U[][src]

pub const I64_ATOMIC_RMW_ADD16U: u8 = 35
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD32U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD32U.html new file mode 100644 index 0000000..799a1fb --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD32U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_ADD32U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_ADD32U[][src]

pub const I64_ATOMIC_RMW_ADD32U: u8 = 36
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD8U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD8U.html new file mode 100644 index 0000000..afcb85a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_ADD8U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_ADD8U[][src]

pub const I64_ATOMIC_RMW_ADD8U: u8 = 34
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND.html new file mode 100644 index 0000000..f9aae01 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_AND - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_AND[][src]

pub const I64_ATOMIC_RMW_AND: u8 = 45
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND16U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND16U.html new file mode 100644 index 0000000..59315ac --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_AND16U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_AND16U[][src]

pub const I64_ATOMIC_RMW_AND16U: u8 = 49
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND32U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND32U.html new file mode 100644 index 0000000..173b3ea --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND32U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_AND32U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_AND32U[][src]

pub const I64_ATOMIC_RMW_AND32U: u8 = 50
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND8U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND8U.html new file mode 100644 index 0000000..ff17bbd --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_AND8U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_AND8U[][src]

pub const I64_ATOMIC_RMW_AND8U: u8 = 48
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG.html new file mode 100644 index 0000000..c159517 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_CMPXCHG - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_CMPXCHG[][src]

pub const I64_ATOMIC_RMW_CMPXCHG: u8 = 73
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG16U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG16U.html new file mode 100644 index 0000000..a3b1e6b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_CMPXCHG16U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_CMPXCHG16U[][src]

pub const I64_ATOMIC_RMW_CMPXCHG16U: u8 = 77
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG32U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG32U.html new file mode 100644 index 0000000..d8a9429 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG32U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_CMPXCHG32U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_CMPXCHG32U[][src]

pub const I64_ATOMIC_RMW_CMPXCHG32U: u8 = 78
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG8U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG8U.html new file mode 100644 index 0000000..03657cd --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_CMPXCHG8U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_CMPXCHG8U[][src]

pub const I64_ATOMIC_RMW_CMPXCHG8U: u8 = 76
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR.html new file mode 100644 index 0000000..eade785 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_OR - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_OR[][src]

pub const I64_ATOMIC_RMW_OR: u8 = 52
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR16U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR16U.html new file mode 100644 index 0000000..fe6cae0 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_OR16U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_OR16U[][src]

pub const I64_ATOMIC_RMW_OR16U: u8 = 56
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR32U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR32U.html new file mode 100644 index 0000000..404c328 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR32U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_OR32U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_OR32U[][src]

pub const I64_ATOMIC_RMW_OR32U: u8 = 57
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR8U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR8U.html new file mode 100644 index 0000000..fdca73d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_OR8U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_OR8U[][src]

pub const I64_ATOMIC_RMW_OR8U: u8 = 55
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB.html new file mode 100644 index 0000000..b07603b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_SUB - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_SUB[][src]

pub const I64_ATOMIC_RMW_SUB: u8 = 38
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB16U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB16U.html new file mode 100644 index 0000000..0167125 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_SUB16U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_SUB16U[][src]

pub const I64_ATOMIC_RMW_SUB16U: u8 = 42
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB32U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB32U.html new file mode 100644 index 0000000..bef5dd5 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB32U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_SUB32U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_SUB32U[][src]

pub const I64_ATOMIC_RMW_SUB32U: u8 = 43
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB8U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB8U.html new file mode 100644 index 0000000..9dd82e9 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_SUB8U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_SUB8U[][src]

pub const I64_ATOMIC_RMW_SUB8U: u8 = 41
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG.html new file mode 100644 index 0000000..c61469d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XCHG - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XCHG[][src]

pub const I64_ATOMIC_RMW_XCHG: u8 = 66
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG16U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG16U.html new file mode 100644 index 0000000..0f017c2 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XCHG16U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XCHG16U[][src]

pub const I64_ATOMIC_RMW_XCHG16U: u8 = 70
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG32U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG32U.html new file mode 100644 index 0000000..419827c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG32U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XCHG32U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XCHG32U[][src]

pub const I64_ATOMIC_RMW_XCHG32U: u8 = 71
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG8U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG8U.html new file mode 100644 index 0000000..df5a8e8 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XCHG8U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XCHG8U[][src]

pub const I64_ATOMIC_RMW_XCHG8U: u8 = 69
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR.html new file mode 100644 index 0000000..a26b161 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XOR - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XOR[][src]

pub const I64_ATOMIC_RMW_XOR: u8 = 59
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR16U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR16U.html new file mode 100644 index 0000000..65fb9a1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XOR16U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XOR16U[][src]

pub const I64_ATOMIC_RMW_XOR16U: u8 = 63
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR32U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR32U.html new file mode 100644 index 0000000..be64ea1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR32U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XOR32U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XOR32U[][src]

pub const I64_ATOMIC_RMW_XOR32U: u8 = 64
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR8U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR8U.html new file mode 100644 index 0000000..cda1a50 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XOR8U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_RMW_XOR8U[][src]

pub const I64_ATOMIC_RMW_XOR8U: u8 = 62
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE.html new file mode 100644 index 0000000..1699b2c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_STORE - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_STORE[][src]

pub const I64_ATOMIC_STORE: u8 = 24
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE16U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE16U.html new file mode 100644 index 0000000..a5bc8e7 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE16U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_STORE16U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_STORE16U[][src]

pub const I64_ATOMIC_STORE16U: u8 = 28
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE32U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE32U.html new file mode 100644 index 0000000..d4d3eef --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE32U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_STORE32U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_STORE32U[][src]

pub const I64_ATOMIC_STORE32U: u8 = 29
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE8U.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE8U.html new file mode 100644 index 0000000..a4d6737 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE8U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_STORE8U - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_STORE8U[][src]

pub const I64_ATOMIC_STORE8U: u8 = 27
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_ATOMIC_WAIT.html b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_WAIT.html new file mode 100644 index 0000000..cb5ebbf --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_ATOMIC_WAIT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_ATOMIC_WAIT - Rust

Constant parity_wasm::elements::opcodes::I64_ATOMIC_WAIT[][src]

pub const I64_ATOMIC_WAIT: u8 = 2
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_EXTEND16_S.html b/parity_wasm/elements/opcodes/constant.I64_EXTEND16_S.html new file mode 100644 index 0000000..4ad1059 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_EXTEND16_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_EXTEND16_S - Rust

Constant parity_wasm::elements::opcodes::I64_EXTEND16_S[][src]

pub const I64_EXTEND16_S: u8 = 195
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_EXTEND32_S.html b/parity_wasm/elements/opcodes/constant.I64_EXTEND32_S.html new file mode 100644 index 0000000..64c18f8 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_EXTEND32_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_EXTEND32_S - Rust

Constant parity_wasm::elements::opcodes::I64_EXTEND32_S[][src]

pub const I64_EXTEND32_S: u8 = 196
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I64_EXTEND8_S.html b/parity_wasm/elements/opcodes/constant.I64_EXTEND8_S.html new file mode 100644 index 0000000..fbecbaa --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I64_EXTEND8_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I64_EXTEND8_S - Rust

Constant parity_wasm::elements::opcodes::I64_EXTEND8_S[][src]

pub const I64_EXTEND8_S: u8 = 194
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_ADD.html b/parity_wasm/elements/opcodes/constant.I8X16_ADD.html new file mode 100644 index 0000000..aea9b40 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_ADD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_ADD - Rust

Constant parity_wasm::elements::opcodes::I8X16_ADD[][src]

pub const I8X16_ADD: u32 = 24
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_ADD_SATURATE_S.html b/parity_wasm/elements/opcodes/constant.I8X16_ADD_SATURATE_S.html new file mode 100644 index 0000000..c6b6c85 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_ADD_SATURATE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_ADD_SATURATE_S - Rust

Constant parity_wasm::elements::opcodes::I8X16_ADD_SATURATE_S[][src]

pub const I8X16_ADD_SATURATE_S: u32 = 40
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_ADD_SATURATE_U.html b/parity_wasm/elements/opcodes/constant.I8X16_ADD_SATURATE_U.html new file mode 100644 index 0000000..ddc2a8b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_ADD_SATURATE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_ADD_SATURATE_U - Rust

Constant parity_wasm::elements::opcodes::I8X16_ADD_SATURATE_U[][src]

pub const I8X16_ADD_SATURATE_U: u32 = 41
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_ALL_TRUE.html b/parity_wasm/elements/opcodes/constant.I8X16_ALL_TRUE.html new file mode 100644 index 0000000..c3b5a48 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_ALL_TRUE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_ALL_TRUE - Rust

Constant parity_wasm::elements::opcodes::I8X16_ALL_TRUE[][src]

pub const I8X16_ALL_TRUE: u32 = 69
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_ANY_TRUE.html b/parity_wasm/elements/opcodes/constant.I8X16_ANY_TRUE.html new file mode 100644 index 0000000..51d93c3 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_ANY_TRUE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_ANY_TRUE - Rust

Constant parity_wasm::elements::opcodes::I8X16_ANY_TRUE[][src]

pub const I8X16_ANY_TRUE: u32 = 65
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_EQ.html b/parity_wasm/elements/opcodes/constant.I8X16_EQ.html new file mode 100644 index 0000000..b6205bd --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_EQ.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_EQ - Rust

Constant parity_wasm::elements::opcodes::I8X16_EQ[][src]

pub const I8X16_EQ: u32 = 73
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_EXTRACT_LANE_S.html b/parity_wasm/elements/opcodes/constant.I8X16_EXTRACT_LANE_S.html new file mode 100644 index 0000000..43e6767 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_EXTRACT_LANE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_EXTRACT_LANE_S - Rust

Constant parity_wasm::elements::opcodes::I8X16_EXTRACT_LANE_S[][src]

pub const I8X16_EXTRACT_LANE_S: u32 = 9
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_EXTRACT_LANE_U.html b/parity_wasm/elements/opcodes/constant.I8X16_EXTRACT_LANE_U.html new file mode 100644 index 0000000..05bf95f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_EXTRACT_LANE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_EXTRACT_LANE_U - Rust

Constant parity_wasm::elements::opcodes::I8X16_EXTRACT_LANE_U[][src]

pub const I8X16_EXTRACT_LANE_U: u32 = 10
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_GE_S.html b/parity_wasm/elements/opcodes/constant.I8X16_GE_S.html new file mode 100644 index 0000000..b3bc410 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_GE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_GE_S - Rust

Constant parity_wasm::elements::opcodes::I8X16_GE_S[][src]

pub const I8X16_GE_S: u32 = 115
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_GE_U.html b/parity_wasm/elements/opcodes/constant.I8X16_GE_U.html new file mode 100644 index 0000000..388db69 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_GE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_GE_U - Rust

Constant parity_wasm::elements::opcodes::I8X16_GE_U[][src]

pub const I8X16_GE_U: u32 = 116
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_GT_S.html b/parity_wasm/elements/opcodes/constant.I8X16_GT_S.html new file mode 100644 index 0000000..4258544 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_GT_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_GT_S - Rust

Constant parity_wasm::elements::opcodes::I8X16_GT_S[][src]

pub const I8X16_GT_S: u32 = 105
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_GT_U.html b/parity_wasm/elements/opcodes/constant.I8X16_GT_U.html new file mode 100644 index 0000000..28c035c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_GT_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_GT_U - Rust

Constant parity_wasm::elements::opcodes::I8X16_GT_U[][src]

pub const I8X16_GT_U: u32 = 106
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_LE_S.html b/parity_wasm/elements/opcodes/constant.I8X16_LE_S.html new file mode 100644 index 0000000..adf2d7d --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_LE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_LE_S - Rust

Constant parity_wasm::elements::opcodes::I8X16_LE_S[][src]

pub const I8X16_LE_S: u32 = 95
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_LE_U.html b/parity_wasm/elements/opcodes/constant.I8X16_LE_U.html new file mode 100644 index 0000000..c595cd1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_LE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_LE_U - Rust

Constant parity_wasm::elements::opcodes::I8X16_LE_U[][src]

pub const I8X16_LE_U: u32 = 96
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_LT_S.html b/parity_wasm/elements/opcodes/constant.I8X16_LT_S.html new file mode 100644 index 0000000..dd3e3ea --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_LT_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_LT_S - Rust

Constant parity_wasm::elements::opcodes::I8X16_LT_S[][src]

pub const I8X16_LT_S: u32 = 85
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_LT_U.html b/parity_wasm/elements/opcodes/constant.I8X16_LT_U.html new file mode 100644 index 0000000..554e3cc --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_LT_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_LT_U - Rust

Constant parity_wasm::elements::opcodes::I8X16_LT_U[][src]

pub const I8X16_LT_U: u32 = 86
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_MUL.html b/parity_wasm/elements/opcodes/constant.I8X16_MUL.html new file mode 100644 index 0000000..a3d740f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_MUL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_MUL - Rust

Constant parity_wasm::elements::opcodes::I8X16_MUL[][src]

pub const I8X16_MUL: u32 = 32
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_NE.html b/parity_wasm/elements/opcodes/constant.I8X16_NE.html new file mode 100644 index 0000000..172fcc1 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_NE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_NE - Rust

Constant parity_wasm::elements::opcodes::I8X16_NE[][src]

pub const I8X16_NE: u32 = 79
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_NEG.html b/parity_wasm/elements/opcodes/constant.I8X16_NEG.html new file mode 100644 index 0000000..d14641f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_NEG.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_NEG - Rust

Constant parity_wasm::elements::opcodes::I8X16_NEG[][src]

pub const I8X16_NEG: u32 = 36
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_REPLACE_LANE.html b/parity_wasm/elements/opcodes/constant.I8X16_REPLACE_LANE.html new file mode 100644 index 0000000..e699664 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_REPLACE_LANE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_REPLACE_LANE - Rust

Constant parity_wasm::elements::opcodes::I8X16_REPLACE_LANE[][src]

pub const I8X16_REPLACE_LANE: u32 = 17
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_SHL.html b/parity_wasm/elements/opcodes/constant.I8X16_SHL.html new file mode 100644 index 0000000..b2bfed0 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_SHL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_SHL - Rust

Constant parity_wasm::elements::opcodes::I8X16_SHL[][src]

pub const I8X16_SHL: u32 = 48
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_SHR_S.html b/parity_wasm/elements/opcodes/constant.I8X16_SHR_S.html new file mode 100644 index 0000000..7c56306 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_SHR_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_SHR_S - Rust

Constant parity_wasm::elements::opcodes::I8X16_SHR_S[][src]

pub const I8X16_SHR_S: u32 = 52
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_SHR_U.html b/parity_wasm/elements/opcodes/constant.I8X16_SHR_U.html new file mode 100644 index 0000000..be30291 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_SHR_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_SHR_U - Rust

Constant parity_wasm::elements::opcodes::I8X16_SHR_U[][src]

pub const I8X16_SHR_U: u32 = 53
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_SPLAT.html b/parity_wasm/elements/opcodes/constant.I8X16_SPLAT.html new file mode 100644 index 0000000..b14dab3 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_SPLAT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_SPLAT - Rust

Constant parity_wasm::elements::opcodes::I8X16_SPLAT[][src]

pub const I8X16_SPLAT: u32 = 3
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_SUB.html b/parity_wasm/elements/opcodes/constant.I8X16_SUB.html new file mode 100644 index 0000000..986c810 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_SUB.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_SUB - Rust

Constant parity_wasm::elements::opcodes::I8X16_SUB[][src]

pub const I8X16_SUB: u32 = 28
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_SUB_SATURATE_S.html b/parity_wasm/elements/opcodes/constant.I8X16_SUB_SATURATE_S.html new file mode 100644 index 0000000..a093978 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_SUB_SATURATE_S.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_SUB_SATURATE_S - Rust

Constant parity_wasm::elements::opcodes::I8X16_SUB_SATURATE_S[][src]

pub const I8X16_SUB_SATURATE_S: u32 = 44
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.I8X16_SUB_SATURATE_U.html b/parity_wasm/elements/opcodes/constant.I8X16_SUB_SATURATE_U.html new file mode 100644 index 0000000..751bb43 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.I8X16_SUB_SATURATE_U.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::I8X16_SUB_SATURATE_U - Rust

Constant parity_wasm::elements::opcodes::I8X16_SUB_SATURATE_U[][src]

pub const I8X16_SUB_SATURATE_U: u32 = 45
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.IF.html b/parity_wasm/elements/opcodes/constant.IF.html new file mode 100644 index 0000000..529262b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.IF.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::IF - Rust

Constant parity_wasm::elements::opcodes::IF[][src]

pub const IF: u8 = 4
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.LOOP.html b/parity_wasm/elements/opcodes/constant.LOOP.html new file mode 100644 index 0000000..86c9ed3 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.LOOP.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::LOOP - Rust

Constant parity_wasm::elements::opcodes::LOOP[][src]

pub const LOOP: u8 = 3
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.NOP.html b/parity_wasm/elements/opcodes/constant.NOP.html new file mode 100644 index 0000000..2c41f05 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.NOP.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::NOP - Rust

Constant parity_wasm::elements::opcodes::NOP[][src]

pub const NOP: u8 = 1
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.RETURN.html b/parity_wasm/elements/opcodes/constant.RETURN.html new file mode 100644 index 0000000..e197d96 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.RETURN.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::RETURN - Rust

Constant parity_wasm::elements::opcodes::RETURN[][src]

pub const RETURN: u8 = 15
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.SELECT.html b/parity_wasm/elements/opcodes/constant.SELECT.html new file mode 100644 index 0000000..6d96f5e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.SELECT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::SELECT - Rust

Constant parity_wasm::elements::opcodes::SELECT[][src]

pub const SELECT: u8 = 27
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.SETGLOBAL.html b/parity_wasm/elements/opcodes/constant.SETGLOBAL.html new file mode 100644 index 0000000..0a08ca9 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.SETGLOBAL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::SETGLOBAL - Rust

Constant parity_wasm::elements::opcodes::SETGLOBAL[][src]

pub const SETGLOBAL: u8 = 36
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.SETLOCAL.html b/parity_wasm/elements/opcodes/constant.SETLOCAL.html new file mode 100644 index 0000000..8296a28 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.SETLOCAL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::SETLOCAL - Rust

Constant parity_wasm::elements::opcodes::SETLOCAL[][src]

pub const SETLOCAL: u8 = 33
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.SIMD_PREFIX.html b/parity_wasm/elements/opcodes/constant.SIMD_PREFIX.html new file mode 100644 index 0000000..89a0131 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.SIMD_PREFIX.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::SIMD_PREFIX - Rust

Constant parity_wasm::elements::opcodes::SIMD_PREFIX[][src]

pub const SIMD_PREFIX: u8 = 253
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.TEELOCAL.html b/parity_wasm/elements/opcodes/constant.TEELOCAL.html new file mode 100644 index 0000000..6798b2e --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.TEELOCAL.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::TEELOCAL - Rust

Constant parity_wasm::elements::opcodes::TEELOCAL[][src]

pub const TEELOCAL: u8 = 34
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.UNREACHABLE.html b/parity_wasm/elements/opcodes/constant.UNREACHABLE.html new file mode 100644 index 0000000..383d3ee --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.UNREACHABLE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::UNREACHABLE - Rust

Constant parity_wasm::elements::opcodes::UNREACHABLE[][src]

pub const UNREACHABLE: u8 = 0
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.V128_AND.html b/parity_wasm/elements/opcodes/constant.V128_AND.html new file mode 100644 index 0000000..62d9729 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.V128_AND.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::V128_AND - Rust

Constant parity_wasm::elements::opcodes::V128_AND[][src]

pub const V128_AND: u32 = 60
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.V128_BITSELECT.html b/parity_wasm/elements/opcodes/constant.V128_BITSELECT.html new file mode 100644 index 0000000..03a986c --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.V128_BITSELECT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::V128_BITSELECT - Rust

Constant parity_wasm::elements::opcodes::V128_BITSELECT[][src]

pub const V128_BITSELECT: u32 = 64
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.V128_CONST.html b/parity_wasm/elements/opcodes/constant.V128_CONST.html new file mode 100644 index 0000000..bfa9775 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.V128_CONST.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::V128_CONST - Rust

Constant parity_wasm::elements::opcodes::V128_CONST[][src]

pub const V128_CONST: u32 = 0
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.V128_LOAD.html b/parity_wasm/elements/opcodes/constant.V128_LOAD.html new file mode 100644 index 0000000..bb20e92 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.V128_LOAD.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::V128_LOAD - Rust

Constant parity_wasm::elements::opcodes::V128_LOAD[][src]

pub const V128_LOAD: u32 = 1
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.V128_NOT.html b/parity_wasm/elements/opcodes/constant.V128_NOT.html new file mode 100644 index 0000000..a20b4cc --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.V128_NOT.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::V128_NOT - Rust

Constant parity_wasm::elements::opcodes::V128_NOT[][src]

pub const V128_NOT: u32 = 63
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.V128_OR.html b/parity_wasm/elements/opcodes/constant.V128_OR.html new file mode 100644 index 0000000..f9d9f2b --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.V128_OR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::V128_OR - Rust

Constant parity_wasm::elements::opcodes::V128_OR[][src]

pub const V128_OR: u32 = 61
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.V128_STORE.html b/parity_wasm/elements/opcodes/constant.V128_STORE.html new file mode 100644 index 0000000..3df8df6 --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.V128_STORE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::V128_STORE - Rust

Constant parity_wasm::elements::opcodes::V128_STORE[][src]

pub const V128_STORE: u32 = 2
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.V128_XOR.html b/parity_wasm/elements/opcodes/constant.V128_XOR.html new file mode 100644 index 0000000..fb2804f --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.V128_XOR.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::V128_XOR - Rust

Constant parity_wasm::elements::opcodes::V128_XOR[][src]

pub const V128_XOR: u32 = 62
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/constant.V8X16_SHUFFLE.html b/parity_wasm/elements/opcodes/constant.V8X16_SHUFFLE.html new file mode 100644 index 0000000..ca0585a --- /dev/null +++ b/parity_wasm/elements/opcodes/constant.V8X16_SHUFFLE.html @@ -0,0 +1 @@ +parity_wasm::elements::opcodes::V8X16_SHUFFLE - Rust

Constant parity_wasm::elements::opcodes::V8X16_SHUFFLE[][src]

pub const V8X16_SHUFFLE: u32 = 23
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/index.html b/parity_wasm/elements/opcodes/index.html new file mode 100644 index 0000000..577991f --- /dev/null +++ b/parity_wasm/elements/opcodes/index.html @@ -0,0 +1,2753 @@ +parity_wasm::elements::opcodes - Rust

Module parity_wasm::elements::opcodes[][src]

Constants

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATOMIC_PREFIX + +
ATOMIC_WAKE + +
BLOCK + +
BR + +
BRIF + +
BRTABLE + +
CALL + +
CALLINDIRECT + +
CURRENTMEMORY + +
DROP + +
ELSE + +
END + +
F32ABS + +
F32ADD + +
F32CEIL + +
F32CONST + +
F32CONVERTSI32 + +
F32CONVERTSI64 + +
F32CONVERTUI32 + +
F32CONVERTUI64 + +
F32COPYSIGN + +
F32DEMOTEF64 + +
F32DIV + +
F32EQ + +
F32FLOOR + +
F32GE + +
F32GT + +
F32LE + +
F32LOAD + +
F32LT + +
F32MAX + +
F32MIN + +
F32MUL + +
F32NE + +
F32NEAREST + +
F32NEG + +
F32REINTERPRETI32 + +
F32SQRT + +
F32STORE + +
F32SUB + +
F32TRUNC + +
F32X4_ABS + +
F32X4_ADD + +
F32X4_CONVERT_S_I32X4 + +
F32X4_CONVERT_U_I32X4 + +
F32X4_DIV + +
F32X4_EQ + +
F32X4_EXTRACT_LANE + +
F32X4_GE + +
F32X4_GT + +
F32X4_LE + +
F32X4_LT + +
F32X4_MAX + +
F32X4_MIN + +
F32X4_MUL + +
F32X4_NE + +
F32X4_NEG + +
F32X4_REPLACE_LANE + +
F32X4_SPLAT + +
F32X4_SQRT + +
F32X4_SUB + +
F64ABS + +
F64ADD + +
F64CEIL + +
F64CONST + +
F64CONVERTSI32 + +
F64CONVERTSI64 + +
F64CONVERTUI32 + +
F64CONVERTUI64 + +
F64COPYSIGN + +
F64DIV + +
F64EQ + +
F64FLOOR + +
F64GE + +
F64GT + +
F64LE + +
F64LOAD + +
F64LT + +
F64MAX + +
F64MIN + +
F64MUL + +
F64NE + +
F64NEAREST + +
F64NEG + +
F64PROMOTEF32 + +
F64REINTERPRETI64 + +
F64SQRT + +
F64STORE + +
F64SUB + +
F64TRUNC + +
F64X2_ABS + +
F64X2_ADD + +
F64X2_CONVERT_S_I64X2 + +
F64X2_CONVERT_U_I64X2 + +
F64X2_DIV + +
F64X2_EQ + +
F64X2_EXTRACT_LANE + +
F64X2_GE + +
F64X2_GT + +
F64X2_LE + +
F64X2_LT + +
F64X2_MAX + +
F64X2_MIN + +
F64X2_MUL + +
F64X2_NE + +
F64X2_NEG + +
F64X2_REPLACE_LANE + +
F64X2_SPLAT + +
F64X2_SQRT + +
F64X2_SUB + +
GETGLOBAL + +
GETLOCAL + +
GROWMEMORY + +
I16X8_ADD + +
I16X8_ADD_SATURATE_S + +
I16X8_ADD_SATURATE_U + +
I16X8_ALL_TRUE + +
I16X8_ANY_TRUE + +
I16X8_EQ + +
I16X8_EXTRACT_LANE_S + +
I16X8_EXTRACT_LANE_U + +
I16X8_GE_S + +
I16X8_GE_U + +
I16X8_GT_S + +
I16X8_GT_U + +
I16X8_LE_S + +
I16X8_LE_U + +
I16X8_LT_S + +
I16X8_LT_U + +
I16X8_MUL + +
I16X8_NE + +
I16X8_NEG + +
I16X8_REPLACE_LANE + +
I16X8_SHL + +
I16X8_SHR_S + +
I16X8_SHR_U + +
I16X8_SPLAT + +
I16X8_SUB + +
I16X8_SUB_SATURATE_S + +
I16X8_SUB_SATURATE_U + +
I32ADD + +
I32AND + +
I32CLZ + +
I32CONST + +
I32CTZ + +
I32DIVS + +
I32DIVU + +
I32EQ + +
I32EQZ + +
I32GES + +
I32GEU + +
I32GTS + +
I32GTU + +
I32LES + +
I32LEU + +
I32LOAD + +
I32LOAD16S + +
I32LOAD16U + +
I32LOAD8S + +
I32LOAD8U + +
I32LTS + +
I32LTU + +
I32MUL + +
I32NE + +
I32OR + +
I32POPCNT + +
I32REINTERPRETF32 + +
I32REMS + +
I32REMU + +
I32ROTL + +
I32ROTR + +
I32SHL + +
I32SHRS + +
I32SHRU + +
I32STORE + +
I32STORE8 + +
I32STORE16 + +
I32SUB + +
I32TRUNCSF32 + +
I32TRUNCSF64 + +
I32TRUNCUF32 + +
I32TRUNCUF64 + +
I32WRAPI64 + +
I32X4_ADD + +
I32X4_ALL_TRUE + +
I32X4_ANY_TRUE + +
I32X4_EQ + +
I32X4_EXTRACT_LANE + +
I32X4_GE_S + +
I32X4_GE_U + +
I32X4_GT_S + +
I32X4_GT_U + +
I32X4_LE_S + +
I32X4_LE_U + +
I32X4_LT_S + +
I32X4_LT_U + +
I32X4_MUL + +
I32X4_NE + +
I32X4_NEG + +
I32X4_REPLACE_LANE + +
I32X4_SHL + +
I32X4_SHR_S + +
I32X4_SHR_U + +
I32X4_SPLAT + +
I32X4_SUB + +
I32X4_TRUNC_S_F32X4_SAT + +
I32X4_TRUNC_U_F32X4_SAT + +
I32XOR + +
I32_ATOMIC_LOAD + +
I32_ATOMIC_LOAD16U + +
I32_ATOMIC_LOAD8U + +
I32_ATOMIC_RMW_ADD + +
I32_ATOMIC_RMW_ADD16U + +
I32_ATOMIC_RMW_ADD8U + +
I32_ATOMIC_RMW_AND + +
I32_ATOMIC_RMW_AND16U + +
I32_ATOMIC_RMW_AND8U + +
I32_ATOMIC_RMW_CMPXCHG + +
I32_ATOMIC_RMW_CMPXCHG16U + +
I32_ATOMIC_RMW_CMPXCHG8U + +
I32_ATOMIC_RMW_OR + +
I32_ATOMIC_RMW_OR16U + +
I32_ATOMIC_RMW_OR8U + +
I32_ATOMIC_RMW_SUB + +
I32_ATOMIC_RMW_SUB16U + +
I32_ATOMIC_RMW_SUB8U + +
I32_ATOMIC_RMW_XCHG + +
I32_ATOMIC_RMW_XCHG16U + +
I32_ATOMIC_RMW_XCHG8U + +
I32_ATOMIC_RMW_XOR + +
I32_ATOMIC_RMW_XOR16U + +
I32_ATOMIC_RMW_XOR8U + +
I32_ATOMIC_STORE + +
I32_ATOMIC_STORE16U + +
I32_ATOMIC_STORE8U + +
I32_ATOMIC_WAIT + +
I32_EXTEND16_S + +
I32_EXTEND8_S + +
I64ADD + +
I64AND + +
I64CLZ + +
I64CONST + +
I64CTZ + +
I64DIVS + +
I64DIVU + +
I64EQ + +
I64EQZ + +
I64EXTENDSI32 + +
I64EXTENDUI32 + +
I64GES + +
I64GEU + +
I64GTS + +
I64GTU + +
I64LES + +
I64LEU + +
I64LOAD + +
I64LOAD16S + +
I64LOAD16U + +
I64LOAD32S + +
I64LOAD32U + +
I64LOAD8S + +
I64LOAD8U + +
I64LTS + +
I64LTU + +
I64MUL + +
I64NE + +
I64OR + +
I64POPCNT + +
I64REINTERPRETF64 + +
I64REMS + +
I64REMU + +
I64ROTL + +
I64ROTR + +
I64SHL + +
I64SHRS + +
I64SHRU + +
I64STORE + +
I64STORE8 + +
I64STORE16 + +
I64STORE32 + +
I64SUB + +
I64TRUNCSF32 + +
I64TRUNCSF64 + +
I64TRUNCUF32 + +
I64TRUNCUF64 + +
I64X2_ADD + +
I64X2_ALL_TRUE + +
I64X2_ANY_TRUE + +
I64X2_EXTRACT_LANE + +
I64X2_GE_S + +
I64X2_GE_U + +
I64X2_GT_S + +
I64X2_GT_U + +
I64X2_LE_S + +
I64X2_LE_U + +
I64X2_LT_S + +
I64X2_LT_U + +
I64X2_NEG + +
I64X2_REPLACE_LANE + +
I64X2_SHL + +
I64X2_SHR_S + +
I64X2_SHR_U + +
I64X2_SPLAT + +
I64X2_SUB + +
I64X2_TRUNC_S_F64X2_SAT + +
I64X2_TRUNC_U_F64X2_SAT + +
I64XOR + +
I64_ATOMIC_LOAD + +
I64_ATOMIC_LOAD16U + +
I64_ATOMIC_LOAD32U + +
I64_ATOMIC_LOAD8U + +
I64_ATOMIC_RMW_ADD + +
I64_ATOMIC_RMW_ADD16U + +
I64_ATOMIC_RMW_ADD32U + +
I64_ATOMIC_RMW_ADD8U + +
I64_ATOMIC_RMW_AND + +
I64_ATOMIC_RMW_AND16U + +
I64_ATOMIC_RMW_AND32U + +
I64_ATOMIC_RMW_AND8U + +
I64_ATOMIC_RMW_CMPXCHG + +
I64_ATOMIC_RMW_CMPXCHG16U + +
I64_ATOMIC_RMW_CMPXCHG32U + +
I64_ATOMIC_RMW_CMPXCHG8U + +
I64_ATOMIC_RMW_OR + +
I64_ATOMIC_RMW_OR16U + +
I64_ATOMIC_RMW_OR32U + +
I64_ATOMIC_RMW_OR8U + +
I64_ATOMIC_RMW_SUB + +
I64_ATOMIC_RMW_SUB16U + +
I64_ATOMIC_RMW_SUB32U + +
I64_ATOMIC_RMW_SUB8U + +
I64_ATOMIC_RMW_XCHG + +
I64_ATOMIC_RMW_XCHG16U + +
I64_ATOMIC_RMW_XCHG32U + +
I64_ATOMIC_RMW_XCHG8U + +
I64_ATOMIC_RMW_XOR + +
I64_ATOMIC_RMW_XOR16U + +
I64_ATOMIC_RMW_XOR32U + +
I64_ATOMIC_RMW_XOR8U + +
I64_ATOMIC_STORE + +
I64_ATOMIC_STORE16U + +
I64_ATOMIC_STORE32U + +
I64_ATOMIC_STORE8U + +
I64_ATOMIC_WAIT + +
I64_EXTEND16_S + +
I64_EXTEND32_S + +
I64_EXTEND8_S + +
I8X16_ADD + +
I8X16_ADD_SATURATE_S + +
I8X16_ADD_SATURATE_U + +
I8X16_ALL_TRUE + +
I8X16_ANY_TRUE + +
I8X16_EQ + +
I8X16_EXTRACT_LANE_S + +
I8X16_EXTRACT_LANE_U + +
I8X16_GE_S + +
I8X16_GE_U + +
I8X16_GT_S + +
I8X16_GT_U + +
I8X16_LE_S + +
I8X16_LE_U + +
I8X16_LT_S + +
I8X16_LT_U + +
I8X16_MUL + +
I8X16_NE + +
I8X16_NEG + +
I8X16_REPLACE_LANE + +
I8X16_SHL + +
I8X16_SHR_S + +
I8X16_SHR_U + +
I8X16_SPLAT + +
I8X16_SUB + +
I8X16_SUB_SATURATE_S + +
I8X16_SUB_SATURATE_U + +
IF + +
LOOP + +
NOP + +
RETURN + +
SELECT + +
SETGLOBAL + +
SETLOCAL + +
SIMD_PREFIX + +
TEELOCAL + +
UNREACHABLE + +
V128_AND + +
V128_BITSELECT + +
V128_CONST + +
V128_LOAD + +
V128_NOT + +
V128_OR + +
V128_STORE + +
V128_XOR + +
V8X16_SHUFFLE + +
\ No newline at end of file diff --git a/parity_wasm/elements/opcodes/sidebar-items.js b/parity_wasm/elements/opcodes/sidebar-items.js new file mode 100644 index 0000000..26664ea --- /dev/null +++ b/parity_wasm/elements/opcodes/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"constant":[["ATOMIC_PREFIX",""],["ATOMIC_WAKE",""],["BLOCK",""],["BR",""],["BRIF",""],["BRTABLE",""],["CALL",""],["CALLINDIRECT",""],["CURRENTMEMORY",""],["DROP",""],["ELSE",""],["END",""],["F32ABS",""],["F32ADD",""],["F32CEIL",""],["F32CONST",""],["F32CONVERTSI32",""],["F32CONVERTSI64",""],["F32CONVERTUI32",""],["F32CONVERTUI64",""],["F32COPYSIGN",""],["F32DEMOTEF64",""],["F32DIV",""],["F32EQ",""],["F32FLOOR",""],["F32GE",""],["F32GT",""],["F32LE",""],["F32LOAD",""],["F32LT",""],["F32MAX",""],["F32MIN",""],["F32MUL",""],["F32NE",""],["F32NEAREST",""],["F32NEG",""],["F32REINTERPRETI32",""],["F32SQRT",""],["F32STORE",""],["F32SUB",""],["F32TRUNC",""],["F32X4_ABS",""],["F32X4_ADD",""],["F32X4_CONVERT_S_I32X4",""],["F32X4_CONVERT_U_I32X4",""],["F32X4_DIV",""],["F32X4_EQ",""],["F32X4_EXTRACT_LANE",""],["F32X4_GE",""],["F32X4_GT",""],["F32X4_LE",""],["F32X4_LT",""],["F32X4_MAX",""],["F32X4_MIN",""],["F32X4_MUL",""],["F32X4_NE",""],["F32X4_NEG",""],["F32X4_REPLACE_LANE",""],["F32X4_SPLAT",""],["F32X4_SQRT",""],["F32X4_SUB",""],["F64ABS",""],["F64ADD",""],["F64CEIL",""],["F64CONST",""],["F64CONVERTSI32",""],["F64CONVERTSI64",""],["F64CONVERTUI32",""],["F64CONVERTUI64",""],["F64COPYSIGN",""],["F64DIV",""],["F64EQ",""],["F64FLOOR",""],["F64GE",""],["F64GT",""],["F64LE",""],["F64LOAD",""],["F64LT",""],["F64MAX",""],["F64MIN",""],["F64MUL",""],["F64NE",""],["F64NEAREST",""],["F64NEG",""],["F64PROMOTEF32",""],["F64REINTERPRETI64",""],["F64SQRT",""],["F64STORE",""],["F64SUB",""],["F64TRUNC",""],["F64X2_ABS",""],["F64X2_ADD",""],["F64X2_CONVERT_S_I64X2",""],["F64X2_CONVERT_U_I64X2",""],["F64X2_DIV",""],["F64X2_EQ",""],["F64X2_EXTRACT_LANE",""],["F64X2_GE",""],["F64X2_GT",""],["F64X2_LE",""],["F64X2_LT",""],["F64X2_MAX",""],["F64X2_MIN",""],["F64X2_MUL",""],["F64X2_NE",""],["F64X2_NEG",""],["F64X2_REPLACE_LANE",""],["F64X2_SPLAT",""],["F64X2_SQRT",""],["F64X2_SUB",""],["GETGLOBAL",""],["GETLOCAL",""],["GROWMEMORY",""],["I16X8_ADD",""],["I16X8_ADD_SATURATE_S",""],["I16X8_ADD_SATURATE_U",""],["I16X8_ALL_TRUE",""],["I16X8_ANY_TRUE",""],["I16X8_EQ",""],["I16X8_EXTRACT_LANE_S",""],["I16X8_EXTRACT_LANE_U",""],["I16X8_GE_S",""],["I16X8_GE_U",""],["I16X8_GT_S",""],["I16X8_GT_U",""],["I16X8_LE_S",""],["I16X8_LE_U",""],["I16X8_LT_S",""],["I16X8_LT_U",""],["I16X8_MUL",""],["I16X8_NE",""],["I16X8_NEG",""],["I16X8_REPLACE_LANE",""],["I16X8_SHL",""],["I16X8_SHR_S",""],["I16X8_SHR_U",""],["I16X8_SPLAT",""],["I16X8_SUB",""],["I16X8_SUB_SATURATE_S",""],["I16X8_SUB_SATURATE_U",""],["I32ADD",""],["I32AND",""],["I32CLZ",""],["I32CONST",""],["I32CTZ",""],["I32DIVS",""],["I32DIVU",""],["I32EQ",""],["I32EQZ",""],["I32GES",""],["I32GEU",""],["I32GTS",""],["I32GTU",""],["I32LES",""],["I32LEU",""],["I32LOAD",""],["I32LOAD16S",""],["I32LOAD16U",""],["I32LOAD8S",""],["I32LOAD8U",""],["I32LTS",""],["I32LTU",""],["I32MUL",""],["I32NE",""],["I32OR",""],["I32POPCNT",""],["I32REINTERPRETF32",""],["I32REMS",""],["I32REMU",""],["I32ROTL",""],["I32ROTR",""],["I32SHL",""],["I32SHRS",""],["I32SHRU",""],["I32STORE",""],["I32STORE16",""],["I32STORE8",""],["I32SUB",""],["I32TRUNCSF32",""],["I32TRUNCSF64",""],["I32TRUNCUF32",""],["I32TRUNCUF64",""],["I32WRAPI64",""],["I32X4_ADD",""],["I32X4_ALL_TRUE",""],["I32X4_ANY_TRUE",""],["I32X4_EQ",""],["I32X4_EXTRACT_LANE",""],["I32X4_GE_S",""],["I32X4_GE_U",""],["I32X4_GT_S",""],["I32X4_GT_U",""],["I32X4_LE_S",""],["I32X4_LE_U",""],["I32X4_LT_S",""],["I32X4_LT_U",""],["I32X4_MUL",""],["I32X4_NE",""],["I32X4_NEG",""],["I32X4_REPLACE_LANE",""],["I32X4_SHL",""],["I32X4_SHR_S",""],["I32X4_SHR_U",""],["I32X4_SPLAT",""],["I32X4_SUB",""],["I32X4_TRUNC_S_F32X4_SAT",""],["I32X4_TRUNC_U_F32X4_SAT",""],["I32XOR",""],["I32_ATOMIC_LOAD",""],["I32_ATOMIC_LOAD16U",""],["I32_ATOMIC_LOAD8U",""],["I32_ATOMIC_RMW_ADD",""],["I32_ATOMIC_RMW_ADD16U",""],["I32_ATOMIC_RMW_ADD8U",""],["I32_ATOMIC_RMW_AND",""],["I32_ATOMIC_RMW_AND16U",""],["I32_ATOMIC_RMW_AND8U",""],["I32_ATOMIC_RMW_CMPXCHG",""],["I32_ATOMIC_RMW_CMPXCHG16U",""],["I32_ATOMIC_RMW_CMPXCHG8U",""],["I32_ATOMIC_RMW_OR",""],["I32_ATOMIC_RMW_OR16U",""],["I32_ATOMIC_RMW_OR8U",""],["I32_ATOMIC_RMW_SUB",""],["I32_ATOMIC_RMW_SUB16U",""],["I32_ATOMIC_RMW_SUB8U",""],["I32_ATOMIC_RMW_XCHG",""],["I32_ATOMIC_RMW_XCHG16U",""],["I32_ATOMIC_RMW_XCHG8U",""],["I32_ATOMIC_RMW_XOR",""],["I32_ATOMIC_RMW_XOR16U",""],["I32_ATOMIC_RMW_XOR8U",""],["I32_ATOMIC_STORE",""],["I32_ATOMIC_STORE16U",""],["I32_ATOMIC_STORE8U",""],["I32_ATOMIC_WAIT",""],["I32_EXTEND16_S",""],["I32_EXTEND8_S",""],["I64ADD",""],["I64AND",""],["I64CLZ",""],["I64CONST",""],["I64CTZ",""],["I64DIVS",""],["I64DIVU",""],["I64EQ",""],["I64EQZ",""],["I64EXTENDSI32",""],["I64EXTENDUI32",""],["I64GES",""],["I64GEU",""],["I64GTS",""],["I64GTU",""],["I64LES",""],["I64LEU",""],["I64LOAD",""],["I64LOAD16S",""],["I64LOAD16U",""],["I64LOAD32S",""],["I64LOAD32U",""],["I64LOAD8S",""],["I64LOAD8U",""],["I64LTS",""],["I64LTU",""],["I64MUL",""],["I64NE",""],["I64OR",""],["I64POPCNT",""],["I64REINTERPRETF64",""],["I64REMS",""],["I64REMU",""],["I64ROTL",""],["I64ROTR",""],["I64SHL",""],["I64SHRS",""],["I64SHRU",""],["I64STORE",""],["I64STORE16",""],["I64STORE32",""],["I64STORE8",""],["I64SUB",""],["I64TRUNCSF32",""],["I64TRUNCSF64",""],["I64TRUNCUF32",""],["I64TRUNCUF64",""],["I64X2_ADD",""],["I64X2_ALL_TRUE",""],["I64X2_ANY_TRUE",""],["I64X2_EXTRACT_LANE",""],["I64X2_GE_S",""],["I64X2_GE_U",""],["I64X2_GT_S",""],["I64X2_GT_U",""],["I64X2_LE_S",""],["I64X2_LE_U",""],["I64X2_LT_S",""],["I64X2_LT_U",""],["I64X2_NEG",""],["I64X2_REPLACE_LANE",""],["I64X2_SHL",""],["I64X2_SHR_S",""],["I64X2_SHR_U",""],["I64X2_SPLAT",""],["I64X2_SUB",""],["I64X2_TRUNC_S_F64X2_SAT",""],["I64X2_TRUNC_U_F64X2_SAT",""],["I64XOR",""],["I64_ATOMIC_LOAD",""],["I64_ATOMIC_LOAD16U",""],["I64_ATOMIC_LOAD32U",""],["I64_ATOMIC_LOAD8U",""],["I64_ATOMIC_RMW_ADD",""],["I64_ATOMIC_RMW_ADD16U",""],["I64_ATOMIC_RMW_ADD32U",""],["I64_ATOMIC_RMW_ADD8U",""],["I64_ATOMIC_RMW_AND",""],["I64_ATOMIC_RMW_AND16U",""],["I64_ATOMIC_RMW_AND32U",""],["I64_ATOMIC_RMW_AND8U",""],["I64_ATOMIC_RMW_CMPXCHG",""],["I64_ATOMIC_RMW_CMPXCHG16U",""],["I64_ATOMIC_RMW_CMPXCHG32U",""],["I64_ATOMIC_RMW_CMPXCHG8U",""],["I64_ATOMIC_RMW_OR",""],["I64_ATOMIC_RMW_OR16U",""],["I64_ATOMIC_RMW_OR32U",""],["I64_ATOMIC_RMW_OR8U",""],["I64_ATOMIC_RMW_SUB",""],["I64_ATOMIC_RMW_SUB16U",""],["I64_ATOMIC_RMW_SUB32U",""],["I64_ATOMIC_RMW_SUB8U",""],["I64_ATOMIC_RMW_XCHG",""],["I64_ATOMIC_RMW_XCHG16U",""],["I64_ATOMIC_RMW_XCHG32U",""],["I64_ATOMIC_RMW_XCHG8U",""],["I64_ATOMIC_RMW_XOR",""],["I64_ATOMIC_RMW_XOR16U",""],["I64_ATOMIC_RMW_XOR32U",""],["I64_ATOMIC_RMW_XOR8U",""],["I64_ATOMIC_STORE",""],["I64_ATOMIC_STORE16U",""],["I64_ATOMIC_STORE32U",""],["I64_ATOMIC_STORE8U",""],["I64_ATOMIC_WAIT",""],["I64_EXTEND16_S",""],["I64_EXTEND32_S",""],["I64_EXTEND8_S",""],["I8X16_ADD",""],["I8X16_ADD_SATURATE_S",""],["I8X16_ADD_SATURATE_U",""],["I8X16_ALL_TRUE",""],["I8X16_ANY_TRUE",""],["I8X16_EQ",""],["I8X16_EXTRACT_LANE_S",""],["I8X16_EXTRACT_LANE_U",""],["I8X16_GE_S",""],["I8X16_GE_U",""],["I8X16_GT_S",""],["I8X16_GT_U",""],["I8X16_LE_S",""],["I8X16_LE_U",""],["I8X16_LT_S",""],["I8X16_LT_U",""],["I8X16_MUL",""],["I8X16_NE",""],["I8X16_NEG",""],["I8X16_REPLACE_LANE",""],["I8X16_SHL",""],["I8X16_SHR_S",""],["I8X16_SHR_U",""],["I8X16_SPLAT",""],["I8X16_SUB",""],["I8X16_SUB_SATURATE_S",""],["I8X16_SUB_SATURATE_U",""],["IF",""],["LOOP",""],["NOP",""],["RETURN",""],["SELECT",""],["SETGLOBAL",""],["SETLOCAL",""],["SIMD_PREFIX",""],["TEELOCAL",""],["UNREACHABLE",""],["V128_AND",""],["V128_BITSELECT",""],["V128_CONST",""],["V128_LOAD",""],["V128_NOT",""],["V128_OR",""],["V128_STORE",""],["V128_XOR",""],["V8X16_SHUFFLE",""]]}); \ No newline at end of file diff --git a/parity_wasm/elements/ops/InitExpr.t.html b/parity_wasm/elements/ops/InitExpr.t.html new file mode 100644 index 0000000..cfea3f4 --- /dev/null +++ b/parity_wasm/elements/ops/InitExpr.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.InitExpr.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/Instruction.t.html b/parity_wasm/elements/ops/Instruction.t.html new file mode 100644 index 0000000..684e872 --- /dev/null +++ b/parity_wasm/elements/ops/Instruction.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.Instruction.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/Instructions.t.html b/parity_wasm/elements/ops/Instructions.t.html new file mode 100644 index 0000000..9bfc990 --- /dev/null +++ b/parity_wasm/elements/ops/Instructions.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Instructions.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/enum.Instruction.html b/parity_wasm/elements/ops/enum.Instruction.html new file mode 100644 index 0000000..d8dbcab --- /dev/null +++ b/parity_wasm/elements/ops/enum.Instruction.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/enum.Instruction.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/ATOMIC_PREFIX.v.html b/parity_wasm/elements/ops/opcodes/ATOMIC_PREFIX.v.html new file mode 100644 index 0000000..ba8daf8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/ATOMIC_PREFIX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.ATOMIC_PREFIX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/ATOMIC_WAKE.v.html b/parity_wasm/elements/ops/opcodes/ATOMIC_WAKE.v.html new file mode 100644 index 0000000..a68a203 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/ATOMIC_WAKE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.ATOMIC_WAKE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/BLOCK.v.html b/parity_wasm/elements/ops/opcodes/BLOCK.v.html new file mode 100644 index 0000000..9c386b6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/BLOCK.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.BLOCK.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/BR.v.html b/parity_wasm/elements/ops/opcodes/BR.v.html new file mode 100644 index 0000000..e14d6ac --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/BR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.BR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/BRIF.v.html b/parity_wasm/elements/ops/opcodes/BRIF.v.html new file mode 100644 index 0000000..8706b8c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/BRIF.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.BRIF.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/BRTABLE.v.html b/parity_wasm/elements/ops/opcodes/BRTABLE.v.html new file mode 100644 index 0000000..ce8a330 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/BRTABLE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.BRTABLE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/CALL.v.html b/parity_wasm/elements/ops/opcodes/CALL.v.html new file mode 100644 index 0000000..bcf3582 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/CALL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.CALL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/CALLINDIRECT.v.html b/parity_wasm/elements/ops/opcodes/CALLINDIRECT.v.html new file mode 100644 index 0000000..d0144ba --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/CALLINDIRECT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.CALLINDIRECT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/CURRENTMEMORY.v.html b/parity_wasm/elements/ops/opcodes/CURRENTMEMORY.v.html new file mode 100644 index 0000000..ba1d0e3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/CURRENTMEMORY.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.CURRENTMEMORY.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/DROP.v.html b/parity_wasm/elements/ops/opcodes/DROP.v.html new file mode 100644 index 0000000..12c1022 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/DROP.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.DROP.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/ELSE.v.html b/parity_wasm/elements/ops/opcodes/ELSE.v.html new file mode 100644 index 0000000..9ed77fb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/ELSE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.ELSE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/END.v.html b/parity_wasm/elements/ops/opcodes/END.v.html new file mode 100644 index 0000000..6318b60 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/END.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.END.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32ABS.v.html b/parity_wasm/elements/ops/opcodes/F32ABS.v.html new file mode 100644 index 0000000..ee74fb2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32ABS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32ADD.v.html b/parity_wasm/elements/ops/opcodes/F32ADD.v.html new file mode 100644 index 0000000..75cc9c9 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32CEIL.v.html b/parity_wasm/elements/ops/opcodes/F32CEIL.v.html new file mode 100644 index 0000000..ec9cebf --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32CEIL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CEIL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32CONST.v.html b/parity_wasm/elements/ops/opcodes/F32CONST.v.html new file mode 100644 index 0000000..e730caa --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32CONST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32CONVERTSI32.v.html b/parity_wasm/elements/ops/opcodes/F32CONVERTSI32.v.html new file mode 100644 index 0000000..a20f650 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32CONVERTSI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CONVERTSI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32CONVERTSI64.v.html b/parity_wasm/elements/ops/opcodes/F32CONVERTSI64.v.html new file mode 100644 index 0000000..1097967 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32CONVERTSI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CONVERTSI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32CONVERTUI32.v.html b/parity_wasm/elements/ops/opcodes/F32CONVERTUI32.v.html new file mode 100644 index 0000000..38c1e32 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32CONVERTUI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CONVERTUI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32CONVERTUI64.v.html b/parity_wasm/elements/ops/opcodes/F32CONVERTUI64.v.html new file mode 100644 index 0000000..dfde67b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32CONVERTUI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32CONVERTUI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32COPYSIGN.v.html b/parity_wasm/elements/ops/opcodes/F32COPYSIGN.v.html new file mode 100644 index 0000000..d40254a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32COPYSIGN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32COPYSIGN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32DEMOTEF64.v.html b/parity_wasm/elements/ops/opcodes/F32DEMOTEF64.v.html new file mode 100644 index 0000000..19399d1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32DEMOTEF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32DEMOTEF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32DIV.v.html b/parity_wasm/elements/ops/opcodes/F32DIV.v.html new file mode 100644 index 0000000..9210905 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32DIV.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32EQ.v.html b/parity_wasm/elements/ops/opcodes/F32EQ.v.html new file mode 100644 index 0000000..5c2a655 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32FLOOR.v.html b/parity_wasm/elements/ops/opcodes/F32FLOOR.v.html new file mode 100644 index 0000000..97277b2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32FLOOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32FLOOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32GE.v.html b/parity_wasm/elements/ops/opcodes/F32GE.v.html new file mode 100644 index 0000000..6c460e1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32GE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32GT.v.html b/parity_wasm/elements/ops/opcodes/F32GT.v.html new file mode 100644 index 0000000..3f85bce --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32GT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32LE.v.html b/parity_wasm/elements/ops/opcodes/F32LE.v.html new file mode 100644 index 0000000..8a72edc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32LE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32LOAD.v.html b/parity_wasm/elements/ops/opcodes/F32LOAD.v.html new file mode 100644 index 0000000..1aaf7b2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32LT.v.html b/parity_wasm/elements/ops/opcodes/F32LT.v.html new file mode 100644 index 0000000..2d7c48b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32LT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32MAX.v.html b/parity_wasm/elements/ops/opcodes/F32MAX.v.html new file mode 100644 index 0000000..d79340c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32MAX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32MIN.v.html b/parity_wasm/elements/ops/opcodes/F32MIN.v.html new file mode 100644 index 0000000..9f6ecc7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32MIN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32MUL.v.html b/parity_wasm/elements/ops/opcodes/F32MUL.v.html new file mode 100644 index 0000000..7b487b6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32NE.v.html b/parity_wasm/elements/ops/opcodes/F32NE.v.html new file mode 100644 index 0000000..39b8516 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32NEAREST.v.html b/parity_wasm/elements/ops/opcodes/F32NEAREST.v.html new file mode 100644 index 0000000..2158965 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32NEAREST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32NEAREST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32NEG.v.html b/parity_wasm/elements/ops/opcodes/F32NEG.v.html new file mode 100644 index 0000000..794407d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32REINTERPRETI32.v.html b/parity_wasm/elements/ops/opcodes/F32REINTERPRETI32.v.html new file mode 100644 index 0000000..679e67e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32REINTERPRETI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32REINTERPRETI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32SQRT.v.html b/parity_wasm/elements/ops/opcodes/F32SQRT.v.html new file mode 100644 index 0000000..1df9941 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32SQRT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32STORE.v.html b/parity_wasm/elements/ops/opcodes/F32STORE.v.html new file mode 100644 index 0000000..efb7469 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32SUB.v.html b/parity_wasm/elements/ops/opcodes/F32SUB.v.html new file mode 100644 index 0000000..1efae46 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32TRUNC.v.html b/parity_wasm/elements/ops/opcodes/F32TRUNC.v.html new file mode 100644 index 0000000..9087099 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32TRUNC.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32TRUNC.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_ABS.v.html b/parity_wasm/elements/ops/opcodes/F32X4_ABS.v.html new file mode 100644 index 0000000..29ed8d6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_ABS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_ADD.v.html b/parity_wasm/elements/ops/opcodes/F32X4_ADD.v.html new file mode 100644 index 0000000..9fe9ea9 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_CONVERT_S_I32X4.v.html b/parity_wasm/elements/ops/opcodes/F32X4_CONVERT_S_I32X4.v.html new file mode 100644 index 0000000..de79e5b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_CONVERT_S_I32X4.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_CONVERT_S_I32X4.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_CONVERT_U_I32X4.v.html b/parity_wasm/elements/ops/opcodes/F32X4_CONVERT_U_I32X4.v.html new file mode 100644 index 0000000..b996ea6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_CONVERT_U_I32X4.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_CONVERT_U_I32X4.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_DIV.v.html b/parity_wasm/elements/ops/opcodes/F32X4_DIV.v.html new file mode 100644 index 0000000..b5ae4d7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_DIV.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_EQ.v.html b/parity_wasm/elements/ops/opcodes/F32X4_EQ.v.html new file mode 100644 index 0000000..9895daf --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_EXTRACT_LANE.v.html b/parity_wasm/elements/ops/opcodes/F32X4_EXTRACT_LANE.v.html new file mode 100644 index 0000000..9ebd06c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_EXTRACT_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_GE.v.html b/parity_wasm/elements/ops/opcodes/F32X4_GE.v.html new file mode 100644 index 0000000..e349d01 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_GE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_GT.v.html b/parity_wasm/elements/ops/opcodes/F32X4_GT.v.html new file mode 100644 index 0000000..aa6a69b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_GT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_LE.v.html b/parity_wasm/elements/ops/opcodes/F32X4_LE.v.html new file mode 100644 index 0000000..4646dd0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_LE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_LT.v.html b/parity_wasm/elements/ops/opcodes/F32X4_LT.v.html new file mode 100644 index 0000000..bfe98b7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_LT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_MAX.v.html b/parity_wasm/elements/ops/opcodes/F32X4_MAX.v.html new file mode 100644 index 0000000..0ffc949 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_MAX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_MIN.v.html b/parity_wasm/elements/ops/opcodes/F32X4_MIN.v.html new file mode 100644 index 0000000..ae23f13 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_MIN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_MUL.v.html b/parity_wasm/elements/ops/opcodes/F32X4_MUL.v.html new file mode 100644 index 0000000..1271a74 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_NE.v.html b/parity_wasm/elements/ops/opcodes/F32X4_NE.v.html new file mode 100644 index 0000000..67f4a05 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_NEG.v.html b/parity_wasm/elements/ops/opcodes/F32X4_NEG.v.html new file mode 100644 index 0000000..1643b2c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_REPLACE_LANE.v.html b/parity_wasm/elements/ops/opcodes/F32X4_REPLACE_LANE.v.html new file mode 100644 index 0000000..4d1731b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_SPLAT.v.html b/parity_wasm/elements/ops/opcodes/F32X4_SPLAT.v.html new file mode 100644 index 0000000..8193826 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_SQRT.v.html b/parity_wasm/elements/ops/opcodes/F32X4_SQRT.v.html new file mode 100644 index 0000000..4c2989c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_SQRT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F32X4_SUB.v.html b/parity_wasm/elements/ops/opcodes/F32X4_SUB.v.html new file mode 100644 index 0000000..f298c8d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F32X4_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F32X4_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64ABS.v.html b/parity_wasm/elements/ops/opcodes/F64ABS.v.html new file mode 100644 index 0000000..ae9739e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64ABS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64ADD.v.html b/parity_wasm/elements/ops/opcodes/F64ADD.v.html new file mode 100644 index 0000000..2eaa648 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64CEIL.v.html b/parity_wasm/elements/ops/opcodes/F64CEIL.v.html new file mode 100644 index 0000000..27c73ef --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64CEIL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CEIL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64CONST.v.html b/parity_wasm/elements/ops/opcodes/F64CONST.v.html new file mode 100644 index 0000000..574016d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64CONST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64CONVERTSI32.v.html b/parity_wasm/elements/ops/opcodes/F64CONVERTSI32.v.html new file mode 100644 index 0000000..21204e3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64CONVERTSI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CONVERTSI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64CONVERTSI64.v.html b/parity_wasm/elements/ops/opcodes/F64CONVERTSI64.v.html new file mode 100644 index 0000000..53d69cc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64CONVERTSI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CONVERTSI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64CONVERTUI32.v.html b/parity_wasm/elements/ops/opcodes/F64CONVERTUI32.v.html new file mode 100644 index 0000000..cd631c7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64CONVERTUI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CONVERTUI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64CONVERTUI64.v.html b/parity_wasm/elements/ops/opcodes/F64CONVERTUI64.v.html new file mode 100644 index 0000000..e2df43d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64CONVERTUI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64CONVERTUI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64COPYSIGN.v.html b/parity_wasm/elements/ops/opcodes/F64COPYSIGN.v.html new file mode 100644 index 0000000..4b457dc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64COPYSIGN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64COPYSIGN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64DIV.v.html b/parity_wasm/elements/ops/opcodes/F64DIV.v.html new file mode 100644 index 0000000..706a3dc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64DIV.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64EQ.v.html b/parity_wasm/elements/ops/opcodes/F64EQ.v.html new file mode 100644 index 0000000..4ca1995 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64FLOOR.v.html b/parity_wasm/elements/ops/opcodes/F64FLOOR.v.html new file mode 100644 index 0000000..2c98e8f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64FLOOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64FLOOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64GE.v.html b/parity_wasm/elements/ops/opcodes/F64GE.v.html new file mode 100644 index 0000000..a09e3e2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64GE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64GT.v.html b/parity_wasm/elements/ops/opcodes/F64GT.v.html new file mode 100644 index 0000000..390f094 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64GT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64LE.v.html b/parity_wasm/elements/ops/opcodes/F64LE.v.html new file mode 100644 index 0000000..1ef938f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64LE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64LOAD.v.html b/parity_wasm/elements/ops/opcodes/F64LOAD.v.html new file mode 100644 index 0000000..9b20bee --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64LT.v.html b/parity_wasm/elements/ops/opcodes/F64LT.v.html new file mode 100644 index 0000000..af5a040 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64LT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64MAX.v.html b/parity_wasm/elements/ops/opcodes/F64MAX.v.html new file mode 100644 index 0000000..bd2982f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64MAX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64MIN.v.html b/parity_wasm/elements/ops/opcodes/F64MIN.v.html new file mode 100644 index 0000000..fd235fb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64MIN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64MUL.v.html b/parity_wasm/elements/ops/opcodes/F64MUL.v.html new file mode 100644 index 0000000..5c253ca --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64NE.v.html b/parity_wasm/elements/ops/opcodes/F64NE.v.html new file mode 100644 index 0000000..8d6a54c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64NEAREST.v.html b/parity_wasm/elements/ops/opcodes/F64NEAREST.v.html new file mode 100644 index 0000000..49d5734 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64NEAREST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64NEAREST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64NEG.v.html b/parity_wasm/elements/ops/opcodes/F64NEG.v.html new file mode 100644 index 0000000..280235c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64PROMOTEF32.v.html b/parity_wasm/elements/ops/opcodes/F64PROMOTEF32.v.html new file mode 100644 index 0000000..a33be4a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64PROMOTEF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64PROMOTEF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64REINTERPRETI64.v.html b/parity_wasm/elements/ops/opcodes/F64REINTERPRETI64.v.html new file mode 100644 index 0000000..db01a53 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64REINTERPRETI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64REINTERPRETI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64SQRT.v.html b/parity_wasm/elements/ops/opcodes/F64SQRT.v.html new file mode 100644 index 0000000..0ca9726 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64SQRT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64STORE.v.html b/parity_wasm/elements/ops/opcodes/F64STORE.v.html new file mode 100644 index 0000000..168a6ef --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64SUB.v.html b/parity_wasm/elements/ops/opcodes/F64SUB.v.html new file mode 100644 index 0000000..a64fcf5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64TRUNC.v.html b/parity_wasm/elements/ops/opcodes/F64TRUNC.v.html new file mode 100644 index 0000000..1b00d4b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64TRUNC.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64TRUNC.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_ABS.v.html b/parity_wasm/elements/ops/opcodes/F64X2_ABS.v.html new file mode 100644 index 0000000..f514056 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_ABS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_ADD.v.html b/parity_wasm/elements/ops/opcodes/F64X2_ADD.v.html new file mode 100644 index 0000000..ccbc0d6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_CONVERT_S_I64X2.v.html b/parity_wasm/elements/ops/opcodes/F64X2_CONVERT_S_I64X2.v.html new file mode 100644 index 0000000..34ab205 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_CONVERT_S_I64X2.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_CONVERT_S_I64X2.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_CONVERT_U_I64X2.v.html b/parity_wasm/elements/ops/opcodes/F64X2_CONVERT_U_I64X2.v.html new file mode 100644 index 0000000..a9ec1c8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_CONVERT_U_I64X2.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_CONVERT_U_I64X2.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_DIV.v.html b/parity_wasm/elements/ops/opcodes/F64X2_DIV.v.html new file mode 100644 index 0000000..6bb42db --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_DIV.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_EQ.v.html b/parity_wasm/elements/ops/opcodes/F64X2_EQ.v.html new file mode 100644 index 0000000..41555d3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_EXTRACT_LANE.v.html b/parity_wasm/elements/ops/opcodes/F64X2_EXTRACT_LANE.v.html new file mode 100644 index 0000000..279e71d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_EXTRACT_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_GE.v.html b/parity_wasm/elements/ops/opcodes/F64X2_GE.v.html new file mode 100644 index 0000000..6e5de58 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_GE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_GT.v.html b/parity_wasm/elements/ops/opcodes/F64X2_GT.v.html new file mode 100644 index 0000000..8de4113 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_GT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_LE.v.html b/parity_wasm/elements/ops/opcodes/F64X2_LE.v.html new file mode 100644 index 0000000..71118e1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_LE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_LT.v.html b/parity_wasm/elements/ops/opcodes/F64X2_LT.v.html new file mode 100644 index 0000000..ff2745d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_LT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_MAX.v.html b/parity_wasm/elements/ops/opcodes/F64X2_MAX.v.html new file mode 100644 index 0000000..c9fe553 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_MAX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_MIN.v.html b/parity_wasm/elements/ops/opcodes/F64X2_MIN.v.html new file mode 100644 index 0000000..eb3f680 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_MIN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_MUL.v.html b/parity_wasm/elements/ops/opcodes/F64X2_MUL.v.html new file mode 100644 index 0000000..92cd974 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_NE.v.html b/parity_wasm/elements/ops/opcodes/F64X2_NE.v.html new file mode 100644 index 0000000..e142b0f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_NEG.v.html b/parity_wasm/elements/ops/opcodes/F64X2_NEG.v.html new file mode 100644 index 0000000..5183eba --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_REPLACE_LANE.v.html b/parity_wasm/elements/ops/opcodes/F64X2_REPLACE_LANE.v.html new file mode 100644 index 0000000..a4e9588 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_SPLAT.v.html b/parity_wasm/elements/ops/opcodes/F64X2_SPLAT.v.html new file mode 100644 index 0000000..e777157 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_SQRT.v.html b/parity_wasm/elements/ops/opcodes/F64X2_SQRT.v.html new file mode 100644 index 0000000..899877f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_SQRT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/F64X2_SUB.v.html b/parity_wasm/elements/ops/opcodes/F64X2_SUB.v.html new file mode 100644 index 0000000..5e83d19 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/F64X2_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.F64X2_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/GETGLOBAL.v.html b/parity_wasm/elements/ops/opcodes/GETGLOBAL.v.html new file mode 100644 index 0000000..40a1e20 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/GETGLOBAL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.GETGLOBAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/GETLOCAL.v.html b/parity_wasm/elements/ops/opcodes/GETLOCAL.v.html new file mode 100644 index 0000000..6926c44 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/GETLOCAL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.GETLOCAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/GROWMEMORY.v.html b/parity_wasm/elements/ops/opcodes/GROWMEMORY.v.html new file mode 100644 index 0000000..3942b93 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/GROWMEMORY.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.GROWMEMORY.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_ADD.v.html b/parity_wasm/elements/ops/opcodes/I16X8_ADD.v.html new file mode 100644 index 0000000..04e96b8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_ADD_SATURATE_S.v.html b/parity_wasm/elements/ops/opcodes/I16X8_ADD_SATURATE_S.v.html new file mode 100644 index 0000000..331b8be --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_ADD_SATURATE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_ADD_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_ADD_SATURATE_U.v.html b/parity_wasm/elements/ops/opcodes/I16X8_ADD_SATURATE_U.v.html new file mode 100644 index 0000000..b494d77 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_ADD_SATURATE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_ADD_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_ALL_TRUE.v.html b/parity_wasm/elements/ops/opcodes/I16X8_ALL_TRUE.v.html new file mode 100644 index 0000000..8553de7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_ALL_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_ANY_TRUE.v.html b/parity_wasm/elements/ops/opcodes/I16X8_ANY_TRUE.v.html new file mode 100644 index 0000000..66829d5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_ANY_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_EQ.v.html b/parity_wasm/elements/ops/opcodes/I16X8_EQ.v.html new file mode 100644 index 0000000..87adcba --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_EXTRACT_LANE_S.v.html b/parity_wasm/elements/ops/opcodes/I16X8_EXTRACT_LANE_S.v.html new file mode 100644 index 0000000..a69369b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_EXTRACT_LANE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_EXTRACT_LANE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_EXTRACT_LANE_U.v.html b/parity_wasm/elements/ops/opcodes/I16X8_EXTRACT_LANE_U.v.html new file mode 100644 index 0000000..d3e8033 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_EXTRACT_LANE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_EXTRACT_LANE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_GE_S.v.html b/parity_wasm/elements/ops/opcodes/I16X8_GE_S.v.html new file mode 100644 index 0000000..6e6d542 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_GE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_GE_U.v.html b/parity_wasm/elements/ops/opcodes/I16X8_GE_U.v.html new file mode 100644 index 0000000..1d5f1d5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_GE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_GT_S.v.html b/parity_wasm/elements/ops/opcodes/I16X8_GT_S.v.html new file mode 100644 index 0000000..742ed27 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_GT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_GT_U.v.html b/parity_wasm/elements/ops/opcodes/I16X8_GT_U.v.html new file mode 100644 index 0000000..2dcd93a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_GT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_LE_S.v.html b/parity_wasm/elements/ops/opcodes/I16X8_LE_S.v.html new file mode 100644 index 0000000..568fb2b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_LE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_LE_U.v.html b/parity_wasm/elements/ops/opcodes/I16X8_LE_U.v.html new file mode 100644 index 0000000..1f30902 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_LE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_LT_S.v.html b/parity_wasm/elements/ops/opcodes/I16X8_LT_S.v.html new file mode 100644 index 0000000..3107b95 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_LT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_LT_U.v.html b/parity_wasm/elements/ops/opcodes/I16X8_LT_U.v.html new file mode 100644 index 0000000..10ba83c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_LT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_MUL.v.html b/parity_wasm/elements/ops/opcodes/I16X8_MUL.v.html new file mode 100644 index 0000000..718bdcc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_NE.v.html b/parity_wasm/elements/ops/opcodes/I16X8_NE.v.html new file mode 100644 index 0000000..41c46f8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_NEG.v.html b/parity_wasm/elements/ops/opcodes/I16X8_NEG.v.html new file mode 100644 index 0000000..1eb12ea --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_REPLACE_LANE.v.html b/parity_wasm/elements/ops/opcodes/I16X8_REPLACE_LANE.v.html new file mode 100644 index 0000000..9efdca0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_SHL.v.html b/parity_wasm/elements/ops/opcodes/I16X8_SHL.v.html new file mode 100644 index 0000000..5942a53 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_SHR_S.v.html b/parity_wasm/elements/ops/opcodes/I16X8_SHR_S.v.html new file mode 100644 index 0000000..57f2ff3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_SHR_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_SHR_U.v.html b/parity_wasm/elements/ops/opcodes/I16X8_SHR_U.v.html new file mode 100644 index 0000000..36a7af2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_SHR_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_SPLAT.v.html b/parity_wasm/elements/ops/opcodes/I16X8_SPLAT.v.html new file mode 100644 index 0000000..ff15c60 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_SUB.v.html b/parity_wasm/elements/ops/opcodes/I16X8_SUB.v.html new file mode 100644 index 0000000..fed0597 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_SUB_SATURATE_S.v.html b/parity_wasm/elements/ops/opcodes/I16X8_SUB_SATURATE_S.v.html new file mode 100644 index 0000000..24ad9f6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_SUB_SATURATE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SUB_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I16X8_SUB_SATURATE_U.v.html b/parity_wasm/elements/ops/opcodes/I16X8_SUB_SATURATE_U.v.html new file mode 100644 index 0000000..2c9aa3a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I16X8_SUB_SATURATE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I16X8_SUB_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32ADD.v.html b/parity_wasm/elements/ops/opcodes/I32ADD.v.html new file mode 100644 index 0000000..3b3d90f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32AND.v.html b/parity_wasm/elements/ops/opcodes/I32AND.v.html new file mode 100644 index 0000000..36f325b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32AND.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32CLZ.v.html b/parity_wasm/elements/ops/opcodes/I32CLZ.v.html new file mode 100644 index 0000000..acb052a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32CLZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32CLZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32CONST.v.html b/parity_wasm/elements/ops/opcodes/I32CONST.v.html new file mode 100644 index 0000000..b0bc05c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32CONST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32CTZ.v.html b/parity_wasm/elements/ops/opcodes/I32CTZ.v.html new file mode 100644 index 0000000..b9561b8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32CTZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32CTZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32DIVS.v.html b/parity_wasm/elements/ops/opcodes/I32DIVS.v.html new file mode 100644 index 0000000..bbfbacd --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32DIVS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32DIVS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32DIVU.v.html b/parity_wasm/elements/ops/opcodes/I32DIVU.v.html new file mode 100644 index 0000000..69e2c60 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32DIVU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32DIVU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32EQ.v.html b/parity_wasm/elements/ops/opcodes/I32EQ.v.html new file mode 100644 index 0000000..2548792 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32EQZ.v.html b/parity_wasm/elements/ops/opcodes/I32EQZ.v.html new file mode 100644 index 0000000..e2a1f4f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32EQZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32EQZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32GES.v.html b/parity_wasm/elements/ops/opcodes/I32GES.v.html new file mode 100644 index 0000000..3f92b1d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32GES.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32GES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32GEU.v.html b/parity_wasm/elements/ops/opcodes/I32GEU.v.html new file mode 100644 index 0000000..7d97f84 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32GEU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32GEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32GTS.v.html b/parity_wasm/elements/ops/opcodes/I32GTS.v.html new file mode 100644 index 0000000..6d8ee6e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32GTS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32GTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32GTU.v.html b/parity_wasm/elements/ops/opcodes/I32GTU.v.html new file mode 100644 index 0000000..b41d90f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32GTU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32GTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32LES.v.html b/parity_wasm/elements/ops/opcodes/I32LES.v.html new file mode 100644 index 0000000..e1a4def --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32LES.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32LEU.v.html b/parity_wasm/elements/ops/opcodes/I32LEU.v.html new file mode 100644 index 0000000..628ed9b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32LEU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32LOAD.v.html b/parity_wasm/elements/ops/opcodes/I32LOAD.v.html new file mode 100644 index 0000000..7af78d4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32LOAD16S.v.html b/parity_wasm/elements/ops/opcodes/I32LOAD16S.v.html new file mode 100644 index 0000000..b9e794e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32LOAD16S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LOAD16S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32LOAD16U.v.html b/parity_wasm/elements/ops/opcodes/I32LOAD16U.v.html new file mode 100644 index 0000000..f844d90 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32LOAD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32LOAD8S.v.html b/parity_wasm/elements/ops/opcodes/I32LOAD8S.v.html new file mode 100644 index 0000000..efd0d1e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32LOAD8S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LOAD8S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32LOAD8U.v.html b/parity_wasm/elements/ops/opcodes/I32LOAD8U.v.html new file mode 100644 index 0000000..a01376b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32LOAD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32LTS.v.html b/parity_wasm/elements/ops/opcodes/I32LTS.v.html new file mode 100644 index 0000000..febe90d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32LTS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32LTU.v.html b/parity_wasm/elements/ops/opcodes/I32LTU.v.html new file mode 100644 index 0000000..43a0cea --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32LTU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32LTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32MUL.v.html b/parity_wasm/elements/ops/opcodes/I32MUL.v.html new file mode 100644 index 0000000..1c7abc6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32NE.v.html b/parity_wasm/elements/ops/opcodes/I32NE.v.html new file mode 100644 index 0000000..afd1771 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32OR.v.html b/parity_wasm/elements/ops/opcodes/I32OR.v.html new file mode 100644 index 0000000..290ee38 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32OR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32POPCNT.v.html b/parity_wasm/elements/ops/opcodes/I32POPCNT.v.html new file mode 100644 index 0000000..1bfe739 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32POPCNT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32POPCNT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32REINTERPRETF32.v.html b/parity_wasm/elements/ops/opcodes/I32REINTERPRETF32.v.html new file mode 100644 index 0000000..41ec189 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32REINTERPRETF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32REINTERPRETF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32REMS.v.html b/parity_wasm/elements/ops/opcodes/I32REMS.v.html new file mode 100644 index 0000000..8dc9256 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32REMS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32REMS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32REMU.v.html b/parity_wasm/elements/ops/opcodes/I32REMU.v.html new file mode 100644 index 0000000..d8ffff9 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32REMU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32REMU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32ROTL.v.html b/parity_wasm/elements/ops/opcodes/I32ROTL.v.html new file mode 100644 index 0000000..723287c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32ROTL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32ROTL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32ROTR.v.html b/parity_wasm/elements/ops/opcodes/I32ROTR.v.html new file mode 100644 index 0000000..3325b16 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32ROTR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32ROTR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32SHL.v.html b/parity_wasm/elements/ops/opcodes/I32SHL.v.html new file mode 100644 index 0000000..65959e7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32SHRS.v.html b/parity_wasm/elements/ops/opcodes/I32SHRS.v.html new file mode 100644 index 0000000..33cecb4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32SHRS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32SHRS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32SHRU.v.html b/parity_wasm/elements/ops/opcodes/I32SHRU.v.html new file mode 100644 index 0000000..eefc744 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32SHRU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32SHRU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32STORE.v.html b/parity_wasm/elements/ops/opcodes/I32STORE.v.html new file mode 100644 index 0000000..e489837 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32STORE16.v.html b/parity_wasm/elements/ops/opcodes/I32STORE16.v.html new file mode 100644 index 0000000..042afec --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32STORE16.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32STORE16.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32STORE8.v.html b/parity_wasm/elements/ops/opcodes/I32STORE8.v.html new file mode 100644 index 0000000..1cfc911 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32STORE8.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32STORE8.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32SUB.v.html b/parity_wasm/elements/ops/opcodes/I32SUB.v.html new file mode 100644 index 0000000..c352bfd --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32TRUNCSF32.v.html b/parity_wasm/elements/ops/opcodes/I32TRUNCSF32.v.html new file mode 100644 index 0000000..c10ed1e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32TRUNCSF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32TRUNCSF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32TRUNCSF64.v.html b/parity_wasm/elements/ops/opcodes/I32TRUNCSF64.v.html new file mode 100644 index 0000000..e25015e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32TRUNCSF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32TRUNCSF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32TRUNCUF32.v.html b/parity_wasm/elements/ops/opcodes/I32TRUNCUF32.v.html new file mode 100644 index 0000000..a9961fa --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32TRUNCUF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32TRUNCUF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32TRUNCUF64.v.html b/parity_wasm/elements/ops/opcodes/I32TRUNCUF64.v.html new file mode 100644 index 0000000..8d61cfd --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32TRUNCUF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32TRUNCUF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32WRAPI64.v.html b/parity_wasm/elements/ops/opcodes/I32WRAPI64.v.html new file mode 100644 index 0000000..5d90a1e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32WRAPI64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32WRAPI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_ADD.v.html b/parity_wasm/elements/ops/opcodes/I32X4_ADD.v.html new file mode 100644 index 0000000..97cf4ac --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_ALL_TRUE.v.html b/parity_wasm/elements/ops/opcodes/I32X4_ALL_TRUE.v.html new file mode 100644 index 0000000..1b3941c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_ALL_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_ANY_TRUE.v.html b/parity_wasm/elements/ops/opcodes/I32X4_ANY_TRUE.v.html new file mode 100644 index 0000000..b0f256e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_ANY_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_EQ.v.html b/parity_wasm/elements/ops/opcodes/I32X4_EQ.v.html new file mode 100644 index 0000000..4a2600e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_EXTRACT_LANE.v.html b/parity_wasm/elements/ops/opcodes/I32X4_EXTRACT_LANE.v.html new file mode 100644 index 0000000..3dc74fa --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_EXTRACT_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_GE_S.v.html b/parity_wasm/elements/ops/opcodes/I32X4_GE_S.v.html new file mode 100644 index 0000000..243e802 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_GE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_GE_U.v.html b/parity_wasm/elements/ops/opcodes/I32X4_GE_U.v.html new file mode 100644 index 0000000..5c679a0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_GE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_GT_S.v.html b/parity_wasm/elements/ops/opcodes/I32X4_GT_S.v.html new file mode 100644 index 0000000..c5d8248 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_GT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_GT_U.v.html b/parity_wasm/elements/ops/opcodes/I32X4_GT_U.v.html new file mode 100644 index 0000000..c74dc8e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_GT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_LE_S.v.html b/parity_wasm/elements/ops/opcodes/I32X4_LE_S.v.html new file mode 100644 index 0000000..77dc38d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_LE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_LE_U.v.html b/parity_wasm/elements/ops/opcodes/I32X4_LE_U.v.html new file mode 100644 index 0000000..3a05986 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_LE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_LT_S.v.html b/parity_wasm/elements/ops/opcodes/I32X4_LT_S.v.html new file mode 100644 index 0000000..f48fdb4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_LT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_LT_U.v.html b/parity_wasm/elements/ops/opcodes/I32X4_LT_U.v.html new file mode 100644 index 0000000..bd4f4eb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_LT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_MUL.v.html b/parity_wasm/elements/ops/opcodes/I32X4_MUL.v.html new file mode 100644 index 0000000..4286419 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_NE.v.html b/parity_wasm/elements/ops/opcodes/I32X4_NE.v.html new file mode 100644 index 0000000..168d2d7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_NEG.v.html b/parity_wasm/elements/ops/opcodes/I32X4_NEG.v.html new file mode 100644 index 0000000..feb8352 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_REPLACE_LANE.v.html b/parity_wasm/elements/ops/opcodes/I32X4_REPLACE_LANE.v.html new file mode 100644 index 0000000..9356814 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_SHL.v.html b/parity_wasm/elements/ops/opcodes/I32X4_SHL.v.html new file mode 100644 index 0000000..ea89de3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_SHR_S.v.html b/parity_wasm/elements/ops/opcodes/I32X4_SHR_S.v.html new file mode 100644 index 0000000..e002e67 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_SHR_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_SHR_U.v.html b/parity_wasm/elements/ops/opcodes/I32X4_SHR_U.v.html new file mode 100644 index 0000000..8c4bd1a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_SHR_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_SPLAT.v.html b/parity_wasm/elements/ops/opcodes/I32X4_SPLAT.v.html new file mode 100644 index 0000000..cbb8aac --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_SUB.v.html b/parity_wasm/elements/ops/opcodes/I32X4_SUB.v.html new file mode 100644 index 0000000..8b7d780 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_TRUNC_S_F32X4_SAT.v.html b/parity_wasm/elements/ops/opcodes/I32X4_TRUNC_S_F32X4_SAT.v.html new file mode 100644 index 0000000..539ff1b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_TRUNC_S_F32X4_SAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_TRUNC_S_F32X4_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32X4_TRUNC_U_F32X4_SAT.v.html b/parity_wasm/elements/ops/opcodes/I32X4_TRUNC_U_F32X4_SAT.v.html new file mode 100644 index 0000000..f4538fa --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32X4_TRUNC_U_F32X4_SAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32X4_TRUNC_U_F32X4_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32XOR.v.html b/parity_wasm/elements/ops/opcodes/I32XOR.v.html new file mode 100644 index 0000000..a4ef298 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32XOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD.v.html new file mode 100644 index 0000000..f501cfd --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD16U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD16U.v.html new file mode 100644 index 0000000..9206865 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD8U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD8U.v.html new file mode 100644 index 0000000..441ef28 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_LOAD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD.v.html new file mode 100644 index 0000000..4aac5de --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD16U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD16U.v.html new file mode 100644 index 0000000..83fdaed --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_ADD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD8U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD8U.v.html new file mode 100644 index 0000000..3475cf0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_ADD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_ADD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND.v.html new file mode 100644 index 0000000..64bf409 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND16U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND16U.v.html new file mode 100644 index 0000000..e94d9b8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_AND16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND8U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND8U.v.html new file mode 100644 index 0000000..3dc3fbf --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_AND8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_AND8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG.v.html new file mode 100644 index 0000000..135b1c5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_CMPXCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG16U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG16U.v.html new file mode 100644 index 0000000..40660c8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_CMPXCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG8U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG8U.v.html new file mode 100644 index 0000000..00692d7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_CMPXCHG8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_CMPXCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR.v.html new file mode 100644 index 0000000..e37a947 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR16U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR16U.v.html new file mode 100644 index 0000000..d15d237 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_OR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR8U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR8U.v.html new file mode 100644 index 0000000..b19f5a6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_OR8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_OR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB.v.html new file mode 100644 index 0000000..3f0dc7c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB16U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB16U.v.html new file mode 100644 index 0000000..f1fdc9b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_SUB16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB8U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB8U.v.html new file mode 100644 index 0000000..2b19a46 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_SUB8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_SUB8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG.v.html new file mode 100644 index 0000000..eef3628 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG16U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG16U.v.html new file mode 100644 index 0000000..c00d537 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG8U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG8U.v.html new file mode 100644 index 0000000..13df81c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XCHG8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR.v.html new file mode 100644 index 0000000..8bfd01d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR16U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR16U.v.html new file mode 100644 index 0000000..fcb6119 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XOR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR8U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR8U.v.html new file mode 100644 index 0000000..17140b2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_RMW_XOR8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_RMW_XOR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE.v.html new file mode 100644 index 0000000..c7b1abf --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE16U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE16U.v.html new file mode 100644 index 0000000..ff5639b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_STORE16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE8U.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE8U.v.html new file mode 100644 index 0000000..0be73d0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_STORE8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_STORE8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_ATOMIC_WAIT.v.html b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_WAIT.v.html new file mode 100644 index 0000000..7f5b578 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_ATOMIC_WAIT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_ATOMIC_WAIT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_EXTEND16_S.v.html b/parity_wasm/elements/ops/opcodes/I32_EXTEND16_S.v.html new file mode 100644 index 0000000..4260ceb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_EXTEND16_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_EXTEND16_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I32_EXTEND8_S.v.html b/parity_wasm/elements/ops/opcodes/I32_EXTEND8_S.v.html new file mode 100644 index 0000000..1f4f4f7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I32_EXTEND8_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I32_EXTEND8_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64ADD.v.html b/parity_wasm/elements/ops/opcodes/I64ADD.v.html new file mode 100644 index 0000000..2cffdfb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64AND.v.html b/parity_wasm/elements/ops/opcodes/I64AND.v.html new file mode 100644 index 0000000..afac65e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64AND.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64CLZ.v.html b/parity_wasm/elements/ops/opcodes/I64CLZ.v.html new file mode 100644 index 0000000..c99bc45 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64CLZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64CLZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64CONST.v.html b/parity_wasm/elements/ops/opcodes/I64CONST.v.html new file mode 100644 index 0000000..c8a434c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64CONST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64CTZ.v.html b/parity_wasm/elements/ops/opcodes/I64CTZ.v.html new file mode 100644 index 0000000..3a70c29 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64CTZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64CTZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64DIVS.v.html b/parity_wasm/elements/ops/opcodes/I64DIVS.v.html new file mode 100644 index 0000000..21df44c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64DIVS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64DIVS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64DIVU.v.html b/parity_wasm/elements/ops/opcodes/I64DIVU.v.html new file mode 100644 index 0000000..df9a19c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64DIVU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64DIVU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64EQ.v.html b/parity_wasm/elements/ops/opcodes/I64EQ.v.html new file mode 100644 index 0000000..fb4c4ae --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64EQZ.v.html b/parity_wasm/elements/ops/opcodes/I64EQZ.v.html new file mode 100644 index 0000000..12c9c14 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64EQZ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64EQZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64EXTENDSI32.v.html b/parity_wasm/elements/ops/opcodes/I64EXTENDSI32.v.html new file mode 100644 index 0000000..50b22ec --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64EXTENDSI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64EXTENDSI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64EXTENDUI32.v.html b/parity_wasm/elements/ops/opcodes/I64EXTENDUI32.v.html new file mode 100644 index 0000000..0929193 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64EXTENDUI32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64EXTENDUI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64GES.v.html b/parity_wasm/elements/ops/opcodes/I64GES.v.html new file mode 100644 index 0000000..b035726 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64GES.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64GES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64GEU.v.html b/parity_wasm/elements/ops/opcodes/I64GEU.v.html new file mode 100644 index 0000000..04121a5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64GEU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64GEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64GTS.v.html b/parity_wasm/elements/ops/opcodes/I64GTS.v.html new file mode 100644 index 0000000..a32c9e0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64GTS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64GTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64GTU.v.html b/parity_wasm/elements/ops/opcodes/I64GTU.v.html new file mode 100644 index 0000000..149c331 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64GTU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64GTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64LES.v.html b/parity_wasm/elements/ops/opcodes/I64LES.v.html new file mode 100644 index 0000000..e7c3363 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64LES.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64LEU.v.html b/parity_wasm/elements/ops/opcodes/I64LEU.v.html new file mode 100644 index 0000000..237ae8b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64LEU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64LOAD.v.html b/parity_wasm/elements/ops/opcodes/I64LOAD.v.html new file mode 100644 index 0000000..c65fb82 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64LOAD16S.v.html b/parity_wasm/elements/ops/opcodes/I64LOAD16S.v.html new file mode 100644 index 0000000..5298020 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64LOAD16S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD16S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64LOAD16U.v.html b/parity_wasm/elements/ops/opcodes/I64LOAD16U.v.html new file mode 100644 index 0000000..9443e96 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64LOAD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64LOAD32S.v.html b/parity_wasm/elements/ops/opcodes/I64LOAD32S.v.html new file mode 100644 index 0000000..9a5c370 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64LOAD32S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD32S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64LOAD32U.v.html b/parity_wasm/elements/ops/opcodes/I64LOAD32U.v.html new file mode 100644 index 0000000..f383a01 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64LOAD32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64LOAD8S.v.html b/parity_wasm/elements/ops/opcodes/I64LOAD8S.v.html new file mode 100644 index 0000000..5fb3180 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64LOAD8S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD8S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64LOAD8U.v.html b/parity_wasm/elements/ops/opcodes/I64LOAD8U.v.html new file mode 100644 index 0000000..644ecd6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64LOAD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64LTS.v.html b/parity_wasm/elements/ops/opcodes/I64LTS.v.html new file mode 100644 index 0000000..123db97 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64LTS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64LTU.v.html b/parity_wasm/elements/ops/opcodes/I64LTU.v.html new file mode 100644 index 0000000..3ce7442 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64LTU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64LTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64MUL.v.html b/parity_wasm/elements/ops/opcodes/I64MUL.v.html new file mode 100644 index 0000000..2fbc346 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64NE.v.html b/parity_wasm/elements/ops/opcodes/I64NE.v.html new file mode 100644 index 0000000..fea42cc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64OR.v.html b/parity_wasm/elements/ops/opcodes/I64OR.v.html new file mode 100644 index 0000000..eef3ec8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64OR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64POPCNT.v.html b/parity_wasm/elements/ops/opcodes/I64POPCNT.v.html new file mode 100644 index 0000000..83bd2c9 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64POPCNT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64POPCNT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64REINTERPRETF64.v.html b/parity_wasm/elements/ops/opcodes/I64REINTERPRETF64.v.html new file mode 100644 index 0000000..ccefee4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64REINTERPRETF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64REINTERPRETF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64REMS.v.html b/parity_wasm/elements/ops/opcodes/I64REMS.v.html new file mode 100644 index 0000000..2dad889 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64REMS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64REMS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64REMU.v.html b/parity_wasm/elements/ops/opcodes/I64REMU.v.html new file mode 100644 index 0000000..ac9af69 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64REMU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64REMU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64ROTL.v.html b/parity_wasm/elements/ops/opcodes/I64ROTL.v.html new file mode 100644 index 0000000..589f9fb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64ROTL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64ROTL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64ROTR.v.html b/parity_wasm/elements/ops/opcodes/I64ROTR.v.html new file mode 100644 index 0000000..a8bd3df --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64ROTR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64ROTR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64SHL.v.html b/parity_wasm/elements/ops/opcodes/I64SHL.v.html new file mode 100644 index 0000000..6a08e4e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64SHRS.v.html b/parity_wasm/elements/ops/opcodes/I64SHRS.v.html new file mode 100644 index 0000000..79ea7b2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64SHRS.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64SHRS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64SHRU.v.html b/parity_wasm/elements/ops/opcodes/I64SHRU.v.html new file mode 100644 index 0000000..b508f3f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64SHRU.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64SHRU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64STORE.v.html b/parity_wasm/elements/ops/opcodes/I64STORE.v.html new file mode 100644 index 0000000..e19bc85 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64STORE16.v.html b/parity_wasm/elements/ops/opcodes/I64STORE16.v.html new file mode 100644 index 0000000..cc00c23 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64STORE16.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64STORE16.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64STORE32.v.html b/parity_wasm/elements/ops/opcodes/I64STORE32.v.html new file mode 100644 index 0000000..27d0093 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64STORE32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64STORE32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64STORE8.v.html b/parity_wasm/elements/ops/opcodes/I64STORE8.v.html new file mode 100644 index 0000000..94723f1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64STORE8.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64STORE8.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64SUB.v.html b/parity_wasm/elements/ops/opcodes/I64SUB.v.html new file mode 100644 index 0000000..abf2e9d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64TRUNCSF32.v.html b/parity_wasm/elements/ops/opcodes/I64TRUNCSF32.v.html new file mode 100644 index 0000000..4fa5106 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64TRUNCSF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64TRUNCSF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64TRUNCSF64.v.html b/parity_wasm/elements/ops/opcodes/I64TRUNCSF64.v.html new file mode 100644 index 0000000..3e5da85 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64TRUNCSF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64TRUNCSF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64TRUNCUF32.v.html b/parity_wasm/elements/ops/opcodes/I64TRUNCUF32.v.html new file mode 100644 index 0000000..1c8f386 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64TRUNCUF32.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64TRUNCUF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64TRUNCUF64.v.html b/parity_wasm/elements/ops/opcodes/I64TRUNCUF64.v.html new file mode 100644 index 0000000..782280a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64TRUNCUF64.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64TRUNCUF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_ADD.v.html b/parity_wasm/elements/ops/opcodes/I64X2_ADD.v.html new file mode 100644 index 0000000..bff6b57 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_ALL_TRUE.v.html b/parity_wasm/elements/ops/opcodes/I64X2_ALL_TRUE.v.html new file mode 100644 index 0000000..b012181 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_ALL_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_ANY_TRUE.v.html b/parity_wasm/elements/ops/opcodes/I64X2_ANY_TRUE.v.html new file mode 100644 index 0000000..7ea8baa --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_ANY_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_EXTRACT_LANE.v.html b/parity_wasm/elements/ops/opcodes/I64X2_EXTRACT_LANE.v.html new file mode 100644 index 0000000..690fe71 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_EXTRACT_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_GE_S.v.html b/parity_wasm/elements/ops/opcodes/I64X2_GE_S.v.html new file mode 100644 index 0000000..fe75768 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_GE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_GE_U.v.html b/parity_wasm/elements/ops/opcodes/I64X2_GE_U.v.html new file mode 100644 index 0000000..734d04f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_GE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_GT_S.v.html b/parity_wasm/elements/ops/opcodes/I64X2_GT_S.v.html new file mode 100644 index 0000000..1fabdc9 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_GT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_GT_U.v.html b/parity_wasm/elements/ops/opcodes/I64X2_GT_U.v.html new file mode 100644 index 0000000..9c3cb45 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_GT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_LE_S.v.html b/parity_wasm/elements/ops/opcodes/I64X2_LE_S.v.html new file mode 100644 index 0000000..ef02ffd --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_LE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_LE_U.v.html b/parity_wasm/elements/ops/opcodes/I64X2_LE_U.v.html new file mode 100644 index 0000000..8ace1cf --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_LE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_LT_S.v.html b/parity_wasm/elements/ops/opcodes/I64X2_LT_S.v.html new file mode 100644 index 0000000..840399c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_LT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_LT_U.v.html b/parity_wasm/elements/ops/opcodes/I64X2_LT_U.v.html new file mode 100644 index 0000000..06fa911 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_LT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_NEG.v.html b/parity_wasm/elements/ops/opcodes/I64X2_NEG.v.html new file mode 100644 index 0000000..54b5b78 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_REPLACE_LANE.v.html b/parity_wasm/elements/ops/opcodes/I64X2_REPLACE_LANE.v.html new file mode 100644 index 0000000..140bbd5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_SHL.v.html b/parity_wasm/elements/ops/opcodes/I64X2_SHL.v.html new file mode 100644 index 0000000..d3299b3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_SHR_S.v.html b/parity_wasm/elements/ops/opcodes/I64X2_SHR_S.v.html new file mode 100644 index 0000000..2d2516f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_SHR_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_SHR_U.v.html b/parity_wasm/elements/ops/opcodes/I64X2_SHR_U.v.html new file mode 100644 index 0000000..e01748a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_SHR_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_SPLAT.v.html b/parity_wasm/elements/ops/opcodes/I64X2_SPLAT.v.html new file mode 100644 index 0000000..b1335e3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_SUB.v.html b/parity_wasm/elements/ops/opcodes/I64X2_SUB.v.html new file mode 100644 index 0000000..a1751d4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_TRUNC_S_F64X2_SAT.v.html b/parity_wasm/elements/ops/opcodes/I64X2_TRUNC_S_F64X2_SAT.v.html new file mode 100644 index 0000000..20186e0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_TRUNC_S_F64X2_SAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_TRUNC_S_F64X2_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64X2_TRUNC_U_F64X2_SAT.v.html b/parity_wasm/elements/ops/opcodes/I64X2_TRUNC_U_F64X2_SAT.v.html new file mode 100644 index 0000000..cb6f131 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64X2_TRUNC_U_F64X2_SAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64X2_TRUNC_U_F64X2_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64XOR.v.html b/parity_wasm/elements/ops/opcodes/I64XOR.v.html new file mode 100644 index 0000000..10089fc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64XOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD.v.html new file mode 100644 index 0000000..07954e5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD16U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD16U.v.html new file mode 100644 index 0000000..7632ddb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD32U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD32U.v.html new file mode 100644 index 0000000..8af87d6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_LOAD32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD8U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD8U.v.html new file mode 100644 index 0000000..706d19b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_LOAD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD.v.html new file mode 100644 index 0000000..1df2401 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD16U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD16U.v.html new file mode 100644 index 0000000..170a57b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_ADD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD32U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD32U.v.html new file mode 100644 index 0000000..a900fa7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_ADD32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD8U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD8U.v.html new file mode 100644 index 0000000..aab6cd2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_ADD8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_ADD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND.v.html new file mode 100644 index 0000000..1aab54b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND16U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND16U.v.html new file mode 100644 index 0000000..d8421f8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_AND16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND32U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND32U.v.html new file mode 100644 index 0000000..a557a47 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_AND32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND8U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND8U.v.html new file mode 100644 index 0000000..62cbae1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_AND8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_AND8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG.v.html new file mode 100644 index 0000000..7fc4c10 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_CMPXCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG16U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG16U.v.html new file mode 100644 index 0000000..f8458c6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_CMPXCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG32U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG32U.v.html new file mode 100644 index 0000000..b2cd8a2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_CMPXCHG32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG8U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG8U.v.html new file mode 100644 index 0000000..5a910de --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_CMPXCHG8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_CMPXCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR.v.html new file mode 100644 index 0000000..b5d1555 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR16U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR16U.v.html new file mode 100644 index 0000000..93fae89 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_OR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR32U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR32U.v.html new file mode 100644 index 0000000..abaf7f5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_OR32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR8U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR8U.v.html new file mode 100644 index 0000000..219721d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_OR8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_OR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB.v.html new file mode 100644 index 0000000..6a2a901 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB16U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB16U.v.html new file mode 100644 index 0000000..61750e0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_SUB16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB32U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB32U.v.html new file mode 100644 index 0000000..3d4f6ae --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_SUB32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB8U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB8U.v.html new file mode 100644 index 0000000..4333c2f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_SUB8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_SUB8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG.v.html new file mode 100644 index 0000000..4d6cb4e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG16U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG16U.v.html new file mode 100644 index 0000000..529731a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG32U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG32U.v.html new file mode 100644 index 0000000..2236992 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XCHG32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG8U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG8U.v.html new file mode 100644 index 0000000..44b428f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XCHG8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR.v.html new file mode 100644 index 0000000..b7a13a0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR16U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR16U.v.html new file mode 100644 index 0000000..4533927 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XOR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR32U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR32U.v.html new file mode 100644 index 0000000..d8533a9 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XOR32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR8U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR8U.v.html new file mode 100644 index 0000000..c329d2e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_RMW_XOR8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_RMW_XOR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE.v.html new file mode 100644 index 0000000..e405d30 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE16U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE16U.v.html new file mode 100644 index 0000000..29a81ca --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE16U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_STORE16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE32U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE32U.v.html new file mode 100644 index 0000000..392c82c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE32U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_STORE32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE8U.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE8U.v.html new file mode 100644 index 0000000..abb8588 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_STORE8U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_STORE8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_ATOMIC_WAIT.v.html b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_WAIT.v.html new file mode 100644 index 0000000..d82ddb7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_ATOMIC_WAIT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_ATOMIC_WAIT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_EXTEND16_S.v.html b/parity_wasm/elements/ops/opcodes/I64_EXTEND16_S.v.html new file mode 100644 index 0000000..d056004 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_EXTEND16_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_EXTEND16_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_EXTEND32_S.v.html b/parity_wasm/elements/ops/opcodes/I64_EXTEND32_S.v.html new file mode 100644 index 0000000..43c1784 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_EXTEND32_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_EXTEND32_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I64_EXTEND8_S.v.html b/parity_wasm/elements/ops/opcodes/I64_EXTEND8_S.v.html new file mode 100644 index 0000000..271aed0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I64_EXTEND8_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I64_EXTEND8_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_ADD.v.html b/parity_wasm/elements/ops/opcodes/I8X16_ADD.v.html new file mode 100644 index 0000000..119d81e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_ADD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_ADD_SATURATE_S.v.html b/parity_wasm/elements/ops/opcodes/I8X16_ADD_SATURATE_S.v.html new file mode 100644 index 0000000..e0ec43d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_ADD_SATURATE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_ADD_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_ADD_SATURATE_U.v.html b/parity_wasm/elements/ops/opcodes/I8X16_ADD_SATURATE_U.v.html new file mode 100644 index 0000000..78842d5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_ADD_SATURATE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_ADD_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_ALL_TRUE.v.html b/parity_wasm/elements/ops/opcodes/I8X16_ALL_TRUE.v.html new file mode 100644 index 0000000..d32c6fc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_ALL_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_ANY_TRUE.v.html b/parity_wasm/elements/ops/opcodes/I8X16_ANY_TRUE.v.html new file mode 100644 index 0000000..0c48f8f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_ANY_TRUE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_EQ.v.html b/parity_wasm/elements/ops/opcodes/I8X16_EQ.v.html new file mode 100644 index 0000000..edffdc0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_EQ.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_EXTRACT_LANE_S.v.html b/parity_wasm/elements/ops/opcodes/I8X16_EXTRACT_LANE_S.v.html new file mode 100644 index 0000000..baa5d90 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_EXTRACT_LANE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_EXTRACT_LANE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_EXTRACT_LANE_U.v.html b/parity_wasm/elements/ops/opcodes/I8X16_EXTRACT_LANE_U.v.html new file mode 100644 index 0000000..4e1e0b3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_EXTRACT_LANE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_EXTRACT_LANE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_GE_S.v.html b/parity_wasm/elements/ops/opcodes/I8X16_GE_S.v.html new file mode 100644 index 0000000..6584d03 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_GE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_GE_U.v.html b/parity_wasm/elements/ops/opcodes/I8X16_GE_U.v.html new file mode 100644 index 0000000..812398c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_GE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_GT_S.v.html b/parity_wasm/elements/ops/opcodes/I8X16_GT_S.v.html new file mode 100644 index 0000000..f1cbc77 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_GT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_GT_U.v.html b/parity_wasm/elements/ops/opcodes/I8X16_GT_U.v.html new file mode 100644 index 0000000..935368b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_GT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_LE_S.v.html b/parity_wasm/elements/ops/opcodes/I8X16_LE_S.v.html new file mode 100644 index 0000000..fac12ee --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_LE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_LE_U.v.html b/parity_wasm/elements/ops/opcodes/I8X16_LE_U.v.html new file mode 100644 index 0000000..0c9bae4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_LE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_LT_S.v.html b/parity_wasm/elements/ops/opcodes/I8X16_LT_S.v.html new file mode 100644 index 0000000..922d248 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_LT_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_LT_U.v.html b/parity_wasm/elements/ops/opcodes/I8X16_LT_U.v.html new file mode 100644 index 0000000..5994c20 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_LT_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_MUL.v.html b/parity_wasm/elements/ops/opcodes/I8X16_MUL.v.html new file mode 100644 index 0000000..006b40d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_MUL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_NE.v.html b/parity_wasm/elements/ops/opcodes/I8X16_NE.v.html new file mode 100644 index 0000000..0a0e03b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_NE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_NEG.v.html b/parity_wasm/elements/ops/opcodes/I8X16_NEG.v.html new file mode 100644 index 0000000..599e808 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_NEG.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_REPLACE_LANE.v.html b/parity_wasm/elements/ops/opcodes/I8X16_REPLACE_LANE.v.html new file mode 100644 index 0000000..192860b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_REPLACE_LANE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_SHL.v.html b/parity_wasm/elements/ops/opcodes/I8X16_SHL.v.html new file mode 100644 index 0000000..4f5b53b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_SHL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_SHR_S.v.html b/parity_wasm/elements/ops/opcodes/I8X16_SHR_S.v.html new file mode 100644 index 0000000..2f72774 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_SHR_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_SHR_U.v.html b/parity_wasm/elements/ops/opcodes/I8X16_SHR_U.v.html new file mode 100644 index 0000000..c150fc2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_SHR_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_SPLAT.v.html b/parity_wasm/elements/ops/opcodes/I8X16_SPLAT.v.html new file mode 100644 index 0000000..aa8c642 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_SPLAT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_SUB.v.html b/parity_wasm/elements/ops/opcodes/I8X16_SUB.v.html new file mode 100644 index 0000000..4ee958c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_SUB.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_SUB_SATURATE_S.v.html b/parity_wasm/elements/ops/opcodes/I8X16_SUB_SATURATE_S.v.html new file mode 100644 index 0000000..d24d7ad --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_SUB_SATURATE_S.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SUB_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/I8X16_SUB_SATURATE_U.v.html b/parity_wasm/elements/ops/opcodes/I8X16_SUB_SATURATE_U.v.html new file mode 100644 index 0000000..e904abe --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/I8X16_SUB_SATURATE_U.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.I8X16_SUB_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/IF.v.html b/parity_wasm/elements/ops/opcodes/IF.v.html new file mode 100644 index 0000000..397299a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/IF.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.IF.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/LOOP.v.html b/parity_wasm/elements/ops/opcodes/LOOP.v.html new file mode 100644 index 0000000..e7e5838 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/LOOP.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.LOOP.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/NOP.v.html b/parity_wasm/elements/ops/opcodes/NOP.v.html new file mode 100644 index 0000000..701584c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/NOP.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.NOP.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/RETURN.v.html b/parity_wasm/elements/ops/opcodes/RETURN.v.html new file mode 100644 index 0000000..6358e32 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/RETURN.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.RETURN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/SELECT.v.html b/parity_wasm/elements/ops/opcodes/SELECT.v.html new file mode 100644 index 0000000..cc4c993 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/SELECT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.SELECT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/SETGLOBAL.v.html b/parity_wasm/elements/ops/opcodes/SETGLOBAL.v.html new file mode 100644 index 0000000..77304e2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/SETGLOBAL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.SETGLOBAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/SETLOCAL.v.html b/parity_wasm/elements/ops/opcodes/SETLOCAL.v.html new file mode 100644 index 0000000..575baf1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/SETLOCAL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.SETLOCAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/SIMD_PREFIX.v.html b/parity_wasm/elements/ops/opcodes/SIMD_PREFIX.v.html new file mode 100644 index 0000000..a66988a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/SIMD_PREFIX.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.SIMD_PREFIX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/TEELOCAL.v.html b/parity_wasm/elements/ops/opcodes/TEELOCAL.v.html new file mode 100644 index 0000000..1e4a7fa --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/TEELOCAL.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.TEELOCAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/UNREACHABLE.v.html b/parity_wasm/elements/ops/opcodes/UNREACHABLE.v.html new file mode 100644 index 0000000..705b961 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/UNREACHABLE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.UNREACHABLE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/V128_AND.v.html b/parity_wasm/elements/ops/opcodes/V128_AND.v.html new file mode 100644 index 0000000..f1fa9bc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/V128_AND.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/V128_BITSELECT.v.html b/parity_wasm/elements/ops/opcodes/V128_BITSELECT.v.html new file mode 100644 index 0000000..a79c919 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/V128_BITSELECT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_BITSELECT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/V128_CONST.v.html b/parity_wasm/elements/ops/opcodes/V128_CONST.v.html new file mode 100644 index 0000000..afd8430 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/V128_CONST.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/V128_LOAD.v.html b/parity_wasm/elements/ops/opcodes/V128_LOAD.v.html new file mode 100644 index 0000000..cc0aa57 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/V128_LOAD.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/V128_NOT.v.html b/parity_wasm/elements/ops/opcodes/V128_NOT.v.html new file mode 100644 index 0000000..e41ea49 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/V128_NOT.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_NOT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/V128_OR.v.html b/parity_wasm/elements/ops/opcodes/V128_OR.v.html new file mode 100644 index 0000000..60758dd --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/V128_OR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/V128_STORE.v.html b/parity_wasm/elements/ops/opcodes/V128_STORE.v.html new file mode 100644 index 0000000..65ca12f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/V128_STORE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/V128_XOR.v.html b/parity_wasm/elements/ops/opcodes/V128_XOR.v.html new file mode 100644 index 0000000..f4d3ae7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/V128_XOR.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V128_XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/V8X16_SHUFFLE.v.html b/parity_wasm/elements/ops/opcodes/V8X16_SHUFFLE.v.html new file mode 100644 index 0000000..da2d22d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/V8X16_SHUFFLE.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to constant.V8X16_SHUFFLE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.ATOMIC_PREFIX.html b/parity_wasm/elements/ops/opcodes/constant.ATOMIC_PREFIX.html new file mode 100644 index 0000000..7a3ba1a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.ATOMIC_PREFIX.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.ATOMIC_PREFIX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.ATOMIC_WAKE.html b/parity_wasm/elements/ops/opcodes/constant.ATOMIC_WAKE.html new file mode 100644 index 0000000..ba770e5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.ATOMIC_WAKE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.ATOMIC_WAKE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.BLOCK.html b/parity_wasm/elements/ops/opcodes/constant.BLOCK.html new file mode 100644 index 0000000..bba5ab5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.BLOCK.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.BLOCK.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.BR.html b/parity_wasm/elements/ops/opcodes/constant.BR.html new file mode 100644 index 0000000..18f5c01 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.BR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.BR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.BRIF.html b/parity_wasm/elements/ops/opcodes/constant.BRIF.html new file mode 100644 index 0000000..9504f3d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.BRIF.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.BRIF.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.BRTABLE.html b/parity_wasm/elements/ops/opcodes/constant.BRTABLE.html new file mode 100644 index 0000000..58c241f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.BRTABLE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.BRTABLE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.CALL.html b/parity_wasm/elements/ops/opcodes/constant.CALL.html new file mode 100644 index 0000000..0fc9311 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.CALL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.CALL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.CALLINDIRECT.html b/parity_wasm/elements/ops/opcodes/constant.CALLINDIRECT.html new file mode 100644 index 0000000..c836ab9 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.CALLINDIRECT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.CALLINDIRECT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.CURRENTMEMORY.html b/parity_wasm/elements/ops/opcodes/constant.CURRENTMEMORY.html new file mode 100644 index 0000000..c379fa6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.CURRENTMEMORY.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.CURRENTMEMORY.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.DROP.html b/parity_wasm/elements/ops/opcodes/constant.DROP.html new file mode 100644 index 0000000..998d6fc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.DROP.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.DROP.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.ELSE.html b/parity_wasm/elements/ops/opcodes/constant.ELSE.html new file mode 100644 index 0000000..84db263 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.ELSE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.ELSE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.END.html b/parity_wasm/elements/ops/opcodes/constant.END.html new file mode 100644 index 0000000..f2c7e06 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.END.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.END.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32ABS.html b/parity_wasm/elements/ops/opcodes/constant.F32ABS.html new file mode 100644 index 0000000..1569d57 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32ABS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32ADD.html b/parity_wasm/elements/ops/opcodes/constant.F32ADD.html new file mode 100644 index 0000000..3ce2440 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32CEIL.html b/parity_wasm/elements/ops/opcodes/constant.F32CEIL.html new file mode 100644 index 0000000..abfe549 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32CEIL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32CEIL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32CONST.html b/parity_wasm/elements/ops/opcodes/constant.F32CONST.html new file mode 100644 index 0000000..76b0819 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32CONST.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32CONVERTSI32.html b/parity_wasm/elements/ops/opcodes/constant.F32CONVERTSI32.html new file mode 100644 index 0000000..7d1b76d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32CONVERTSI32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32CONVERTSI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32CONVERTSI64.html b/parity_wasm/elements/ops/opcodes/constant.F32CONVERTSI64.html new file mode 100644 index 0000000..25457cf --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32CONVERTSI64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32CONVERTSI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32CONVERTUI32.html b/parity_wasm/elements/ops/opcodes/constant.F32CONVERTUI32.html new file mode 100644 index 0000000..d926fc5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32CONVERTUI32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32CONVERTUI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32CONVERTUI64.html b/parity_wasm/elements/ops/opcodes/constant.F32CONVERTUI64.html new file mode 100644 index 0000000..cfccee2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32CONVERTUI64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32CONVERTUI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32COPYSIGN.html b/parity_wasm/elements/ops/opcodes/constant.F32COPYSIGN.html new file mode 100644 index 0000000..fa523c0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32COPYSIGN.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32COPYSIGN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32DEMOTEF64.html b/parity_wasm/elements/ops/opcodes/constant.F32DEMOTEF64.html new file mode 100644 index 0000000..a5066f8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32DEMOTEF64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32DEMOTEF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32DIV.html b/parity_wasm/elements/ops/opcodes/constant.F32DIV.html new file mode 100644 index 0000000..ecc99aa --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32DIV.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32EQ.html b/parity_wasm/elements/ops/opcodes/constant.F32EQ.html new file mode 100644 index 0000000..8c7d50a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32EQ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32FLOOR.html b/parity_wasm/elements/ops/opcodes/constant.F32FLOOR.html new file mode 100644 index 0000000..606e7ff --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32FLOOR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32FLOOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32GE.html b/parity_wasm/elements/ops/opcodes/constant.F32GE.html new file mode 100644 index 0000000..6b7a28e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32GE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32GT.html b/parity_wasm/elements/ops/opcodes/constant.F32GT.html new file mode 100644 index 0000000..7cedc77 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32GT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32LE.html b/parity_wasm/elements/ops/opcodes/constant.F32LE.html new file mode 100644 index 0000000..a234f78 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32LE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32LOAD.html b/parity_wasm/elements/ops/opcodes/constant.F32LOAD.html new file mode 100644 index 0000000..9256c3a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32LOAD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32LT.html b/parity_wasm/elements/ops/opcodes/constant.F32LT.html new file mode 100644 index 0000000..b6fbc67 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32LT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32MAX.html b/parity_wasm/elements/ops/opcodes/constant.F32MAX.html new file mode 100644 index 0000000..05def30 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32MAX.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32MIN.html b/parity_wasm/elements/ops/opcodes/constant.F32MIN.html new file mode 100644 index 0000000..51e5b8a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32MIN.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32MUL.html b/parity_wasm/elements/ops/opcodes/constant.F32MUL.html new file mode 100644 index 0000000..ef1c34c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32MUL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32NE.html b/parity_wasm/elements/ops/opcodes/constant.F32NE.html new file mode 100644 index 0000000..f1de4af --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32NE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32NEAREST.html b/parity_wasm/elements/ops/opcodes/constant.F32NEAREST.html new file mode 100644 index 0000000..d747e3a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32NEAREST.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32NEAREST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32NEG.html b/parity_wasm/elements/ops/opcodes/constant.F32NEG.html new file mode 100644 index 0000000..7fa13ef --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32NEG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32REINTERPRETI32.html b/parity_wasm/elements/ops/opcodes/constant.F32REINTERPRETI32.html new file mode 100644 index 0000000..858a050 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32REINTERPRETI32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32REINTERPRETI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32SQRT.html b/parity_wasm/elements/ops/opcodes/constant.F32SQRT.html new file mode 100644 index 0000000..c577e57 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32SQRT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32STORE.html b/parity_wasm/elements/ops/opcodes/constant.F32STORE.html new file mode 100644 index 0000000..6385ec8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32STORE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32SUB.html b/parity_wasm/elements/ops/opcodes/constant.F32SUB.html new file mode 100644 index 0000000..94d3a22 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32TRUNC.html b/parity_wasm/elements/ops/opcodes/constant.F32TRUNC.html new file mode 100644 index 0000000..172ab1e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32TRUNC.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32TRUNC.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_ABS.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_ABS.html new file mode 100644 index 0000000..b07fda9 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_ABS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_ADD.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_ADD.html new file mode 100644 index 0000000..2cf9f4f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_CONVERT_S_I32X4.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_CONVERT_S_I32X4.html new file mode 100644 index 0000000..98603a8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_CONVERT_S_I32X4.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_CONVERT_S_I32X4.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_CONVERT_U_I32X4.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_CONVERT_U_I32X4.html new file mode 100644 index 0000000..5300fd1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_CONVERT_U_I32X4.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_CONVERT_U_I32X4.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_DIV.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_DIV.html new file mode 100644 index 0000000..5daabf6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_DIV.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_EQ.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_EQ.html new file mode 100644 index 0000000..b921564 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_EQ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_EXTRACT_LANE.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_EXTRACT_LANE.html new file mode 100644 index 0000000..2bed471 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_EXTRACT_LANE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_GE.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_GE.html new file mode 100644 index 0000000..99ad248 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_GE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_GT.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_GT.html new file mode 100644 index 0000000..3cb5e65 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_GT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_LE.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_LE.html new file mode 100644 index 0000000..c5233c3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_LE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_LT.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_LT.html new file mode 100644 index 0000000..873e963 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_LT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_MAX.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_MAX.html new file mode 100644 index 0000000..db6e725 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_MAX.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_MIN.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_MIN.html new file mode 100644 index 0000000..ca27217 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_MIN.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_MUL.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_MUL.html new file mode 100644 index 0000000..8f97cf4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_MUL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_NE.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_NE.html new file mode 100644 index 0000000..b21537f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_NE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_NEG.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_NEG.html new file mode 100644 index 0000000..1c1333d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_NEG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_REPLACE_LANE.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_REPLACE_LANE.html new file mode 100644 index 0000000..9660af7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_REPLACE_LANE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_SPLAT.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_SPLAT.html new file mode 100644 index 0000000..6821616 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_SPLAT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_SQRT.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_SQRT.html new file mode 100644 index 0000000..2a907fa --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_SQRT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F32X4_SUB.html b/parity_wasm/elements/ops/opcodes/constant.F32X4_SUB.html new file mode 100644 index 0000000..e4bb721 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F32X4_SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F32X4_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64ABS.html b/parity_wasm/elements/ops/opcodes/constant.F64ABS.html new file mode 100644 index 0000000..81ed274 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64ABS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64ADD.html b/parity_wasm/elements/ops/opcodes/constant.F64ADD.html new file mode 100644 index 0000000..6b1723c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64CEIL.html b/parity_wasm/elements/ops/opcodes/constant.F64CEIL.html new file mode 100644 index 0000000..98a1069 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64CEIL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64CEIL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64CONST.html b/parity_wasm/elements/ops/opcodes/constant.F64CONST.html new file mode 100644 index 0000000..85c5494 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64CONST.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64CONVERTSI32.html b/parity_wasm/elements/ops/opcodes/constant.F64CONVERTSI32.html new file mode 100644 index 0000000..b1456c0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64CONVERTSI32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64CONVERTSI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64CONVERTSI64.html b/parity_wasm/elements/ops/opcodes/constant.F64CONVERTSI64.html new file mode 100644 index 0000000..b699a3e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64CONVERTSI64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64CONVERTSI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64CONVERTUI32.html b/parity_wasm/elements/ops/opcodes/constant.F64CONVERTUI32.html new file mode 100644 index 0000000..67f5baf --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64CONVERTUI32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64CONVERTUI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64CONVERTUI64.html b/parity_wasm/elements/ops/opcodes/constant.F64CONVERTUI64.html new file mode 100644 index 0000000..042cb6c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64CONVERTUI64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64CONVERTUI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64COPYSIGN.html b/parity_wasm/elements/ops/opcodes/constant.F64COPYSIGN.html new file mode 100644 index 0000000..1b4bc03 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64COPYSIGN.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64COPYSIGN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64DIV.html b/parity_wasm/elements/ops/opcodes/constant.F64DIV.html new file mode 100644 index 0000000..ce435df --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64DIV.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64EQ.html b/parity_wasm/elements/ops/opcodes/constant.F64EQ.html new file mode 100644 index 0000000..03832f2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64EQ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64FLOOR.html b/parity_wasm/elements/ops/opcodes/constant.F64FLOOR.html new file mode 100644 index 0000000..a1949e8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64FLOOR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64FLOOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64GE.html b/parity_wasm/elements/ops/opcodes/constant.F64GE.html new file mode 100644 index 0000000..fc21a5e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64GE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64GT.html b/parity_wasm/elements/ops/opcodes/constant.F64GT.html new file mode 100644 index 0000000..28c11b6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64GT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64LE.html b/parity_wasm/elements/ops/opcodes/constant.F64LE.html new file mode 100644 index 0000000..9f7ea68 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64LE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64LOAD.html b/parity_wasm/elements/ops/opcodes/constant.F64LOAD.html new file mode 100644 index 0000000..5c59b4a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64LOAD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64LT.html b/parity_wasm/elements/ops/opcodes/constant.F64LT.html new file mode 100644 index 0000000..3e37f4e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64LT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64MAX.html b/parity_wasm/elements/ops/opcodes/constant.F64MAX.html new file mode 100644 index 0000000..5ba48f8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64MAX.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64MIN.html b/parity_wasm/elements/ops/opcodes/constant.F64MIN.html new file mode 100644 index 0000000..bfc382e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64MIN.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64MUL.html b/parity_wasm/elements/ops/opcodes/constant.F64MUL.html new file mode 100644 index 0000000..6686428 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64MUL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64NE.html b/parity_wasm/elements/ops/opcodes/constant.F64NE.html new file mode 100644 index 0000000..297b265 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64NE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64NEAREST.html b/parity_wasm/elements/ops/opcodes/constant.F64NEAREST.html new file mode 100644 index 0000000..898c115 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64NEAREST.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64NEAREST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64NEG.html b/parity_wasm/elements/ops/opcodes/constant.F64NEG.html new file mode 100644 index 0000000..61a5d54 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64NEG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64PROMOTEF32.html b/parity_wasm/elements/ops/opcodes/constant.F64PROMOTEF32.html new file mode 100644 index 0000000..7137dac --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64PROMOTEF32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64PROMOTEF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64REINTERPRETI64.html b/parity_wasm/elements/ops/opcodes/constant.F64REINTERPRETI64.html new file mode 100644 index 0000000..770a0bb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64REINTERPRETI64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64REINTERPRETI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64SQRT.html b/parity_wasm/elements/ops/opcodes/constant.F64SQRT.html new file mode 100644 index 0000000..870b455 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64SQRT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64STORE.html b/parity_wasm/elements/ops/opcodes/constant.F64STORE.html new file mode 100644 index 0000000..bb9ae2d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64STORE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64SUB.html b/parity_wasm/elements/ops/opcodes/constant.F64SUB.html new file mode 100644 index 0000000..7c46662 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64TRUNC.html b/parity_wasm/elements/ops/opcodes/constant.F64TRUNC.html new file mode 100644 index 0000000..e2b7b18 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64TRUNC.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64TRUNC.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_ABS.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_ABS.html new file mode 100644 index 0000000..7662e6a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_ABS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_ABS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_ADD.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_ADD.html new file mode 100644 index 0000000..60a927f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_CONVERT_S_I64X2.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_CONVERT_S_I64X2.html new file mode 100644 index 0000000..37d5a80 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_CONVERT_S_I64X2.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_CONVERT_S_I64X2.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_CONVERT_U_I64X2.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_CONVERT_U_I64X2.html new file mode 100644 index 0000000..f9c7368 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_CONVERT_U_I64X2.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_CONVERT_U_I64X2.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_DIV.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_DIV.html new file mode 100644 index 0000000..15dbac7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_DIV.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_DIV.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_EQ.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_EQ.html new file mode 100644 index 0000000..3680862 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_EQ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_EXTRACT_LANE.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_EXTRACT_LANE.html new file mode 100644 index 0000000..b044796 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_EXTRACT_LANE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_GE.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_GE.html new file mode 100644 index 0000000..7e42326 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_GE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_GE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_GT.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_GT.html new file mode 100644 index 0000000..bb4382e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_GT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_GT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_LE.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_LE.html new file mode 100644 index 0000000..4480aaf --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_LE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_LE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_LT.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_LT.html new file mode 100644 index 0000000..33f21d2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_LT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_LT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_MAX.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_MAX.html new file mode 100644 index 0000000..9d983ca --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_MAX.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_MAX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_MIN.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_MIN.html new file mode 100644 index 0000000..e49a635 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_MIN.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_MIN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_MUL.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_MUL.html new file mode 100644 index 0000000..66dcc9c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_MUL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_NE.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_NE.html new file mode 100644 index 0000000..efa21bd --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_NE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_NEG.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_NEG.html new file mode 100644 index 0000000..1c0367c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_NEG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_REPLACE_LANE.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_REPLACE_LANE.html new file mode 100644 index 0000000..d0c2abb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_REPLACE_LANE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_SPLAT.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_SPLAT.html new file mode 100644 index 0000000..2cff2da --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_SPLAT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_SQRT.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_SQRT.html new file mode 100644 index 0000000..a8aa94b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_SQRT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_SQRT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.F64X2_SUB.html b/parity_wasm/elements/ops/opcodes/constant.F64X2_SUB.html new file mode 100644 index 0000000..54e9989 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.F64X2_SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.F64X2_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.GETGLOBAL.html b/parity_wasm/elements/ops/opcodes/constant.GETGLOBAL.html new file mode 100644 index 0000000..639e8eb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.GETGLOBAL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.GETGLOBAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.GETLOCAL.html b/parity_wasm/elements/ops/opcodes/constant.GETLOCAL.html new file mode 100644 index 0000000..af20ab4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.GETLOCAL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.GETLOCAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.GROWMEMORY.html b/parity_wasm/elements/ops/opcodes/constant.GROWMEMORY.html new file mode 100644 index 0000000..37c5370 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.GROWMEMORY.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.GROWMEMORY.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_ADD.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_ADD.html new file mode 100644 index 0000000..62429a5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_ADD_SATURATE_S.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_ADD_SATURATE_S.html new file mode 100644 index 0000000..0e252a8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_ADD_SATURATE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_ADD_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_ADD_SATURATE_U.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_ADD_SATURATE_U.html new file mode 100644 index 0000000..34e2a5f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_ADD_SATURATE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_ADD_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_ALL_TRUE.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_ALL_TRUE.html new file mode 100644 index 0000000..8c4166d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_ALL_TRUE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_ANY_TRUE.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_ANY_TRUE.html new file mode 100644 index 0000000..8db7293 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_ANY_TRUE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_EQ.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_EQ.html new file mode 100644 index 0000000..1f136f8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_EQ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_EXTRACT_LANE_S.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_EXTRACT_LANE_S.html new file mode 100644 index 0000000..d08d193 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_EXTRACT_LANE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_EXTRACT_LANE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_EXTRACT_LANE_U.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_EXTRACT_LANE_U.html new file mode 100644 index 0000000..51fbf8b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_EXTRACT_LANE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_EXTRACT_LANE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_GE_S.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_GE_S.html new file mode 100644 index 0000000..8941c19 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_GE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_GE_U.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_GE_U.html new file mode 100644 index 0000000..844221c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_GE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_GT_S.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_GT_S.html new file mode 100644 index 0000000..25704fc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_GT_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_GT_U.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_GT_U.html new file mode 100644 index 0000000..9b37e4f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_GT_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_LE_S.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_LE_S.html new file mode 100644 index 0000000..5b016b7 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_LE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_LE_U.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_LE_U.html new file mode 100644 index 0000000..b365f2c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_LE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_LT_S.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_LT_S.html new file mode 100644 index 0000000..046992a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_LT_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_LT_U.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_LT_U.html new file mode 100644 index 0000000..a50461a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_LT_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_MUL.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_MUL.html new file mode 100644 index 0000000..ab9ea58 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_MUL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_NE.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_NE.html new file mode 100644 index 0000000..617be83 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_NE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_NEG.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_NEG.html new file mode 100644 index 0000000..d36e3fd --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_NEG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_REPLACE_LANE.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_REPLACE_LANE.html new file mode 100644 index 0000000..e831a74 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_REPLACE_LANE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_SHL.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_SHL.html new file mode 100644 index 0000000..0371eee --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_SHL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_SHR_S.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_SHR_S.html new file mode 100644 index 0000000..b964638 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_SHR_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_SHR_U.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_SHR_U.html new file mode 100644 index 0000000..355cdfb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_SHR_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_SPLAT.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_SPLAT.html new file mode 100644 index 0000000..3c498e0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_SPLAT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_SUB.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_SUB.html new file mode 100644 index 0000000..d92b7fe --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_SUB_SATURATE_S.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_SUB_SATURATE_S.html new file mode 100644 index 0000000..f644d1b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_SUB_SATURATE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_SUB_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I16X8_SUB_SATURATE_U.html b/parity_wasm/elements/ops/opcodes/constant.I16X8_SUB_SATURATE_U.html new file mode 100644 index 0000000..cf0ebab --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I16X8_SUB_SATURATE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I16X8_SUB_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32ADD.html b/parity_wasm/elements/ops/opcodes/constant.I32ADD.html new file mode 100644 index 0000000..c8bb922 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32AND.html b/parity_wasm/elements/ops/opcodes/constant.I32AND.html new file mode 100644 index 0000000..f1100e3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32AND.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32CLZ.html b/parity_wasm/elements/ops/opcodes/constant.I32CLZ.html new file mode 100644 index 0000000..785288e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32CLZ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32CLZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32CONST.html b/parity_wasm/elements/ops/opcodes/constant.I32CONST.html new file mode 100644 index 0000000..dca7cef --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32CONST.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32CTZ.html b/parity_wasm/elements/ops/opcodes/constant.I32CTZ.html new file mode 100644 index 0000000..fde80b1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32CTZ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32CTZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32DIVS.html b/parity_wasm/elements/ops/opcodes/constant.I32DIVS.html new file mode 100644 index 0000000..cc2631b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32DIVS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32DIVS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32DIVU.html b/parity_wasm/elements/ops/opcodes/constant.I32DIVU.html new file mode 100644 index 0000000..5e3b628 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32DIVU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32DIVU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32EQ.html b/parity_wasm/elements/ops/opcodes/constant.I32EQ.html new file mode 100644 index 0000000..5b65f54 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32EQ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32EQZ.html b/parity_wasm/elements/ops/opcodes/constant.I32EQZ.html new file mode 100644 index 0000000..680739f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32EQZ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32EQZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32GES.html b/parity_wasm/elements/ops/opcodes/constant.I32GES.html new file mode 100644 index 0000000..665f3c2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32GES.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32GES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32GEU.html b/parity_wasm/elements/ops/opcodes/constant.I32GEU.html new file mode 100644 index 0000000..b9e4c3b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32GEU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32GEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32GTS.html b/parity_wasm/elements/ops/opcodes/constant.I32GTS.html new file mode 100644 index 0000000..13c60f9 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32GTS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32GTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32GTU.html b/parity_wasm/elements/ops/opcodes/constant.I32GTU.html new file mode 100644 index 0000000..ef2ded8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32GTU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32GTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32LES.html b/parity_wasm/elements/ops/opcodes/constant.I32LES.html new file mode 100644 index 0000000..81117a6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32LES.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32LES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32LEU.html b/parity_wasm/elements/ops/opcodes/constant.I32LEU.html new file mode 100644 index 0000000..dab09e8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32LEU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32LEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32LOAD.html b/parity_wasm/elements/ops/opcodes/constant.I32LOAD.html new file mode 100644 index 0000000..b9f21aa --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32LOAD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32LOAD16S.html b/parity_wasm/elements/ops/opcodes/constant.I32LOAD16S.html new file mode 100644 index 0000000..5a3aa65 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32LOAD16S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32LOAD16S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32LOAD16U.html b/parity_wasm/elements/ops/opcodes/constant.I32LOAD16U.html new file mode 100644 index 0000000..6feaaa2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32LOAD16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32LOAD8S.html b/parity_wasm/elements/ops/opcodes/constant.I32LOAD8S.html new file mode 100644 index 0000000..9ab4d7d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32LOAD8S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32LOAD8S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32LOAD8U.html b/parity_wasm/elements/ops/opcodes/constant.I32LOAD8U.html new file mode 100644 index 0000000..5f2aa72 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32LOAD8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32LTS.html b/parity_wasm/elements/ops/opcodes/constant.I32LTS.html new file mode 100644 index 0000000..7ed4627 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32LTS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32LTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32LTU.html b/parity_wasm/elements/ops/opcodes/constant.I32LTU.html new file mode 100644 index 0000000..8bbd423 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32LTU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32LTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32MUL.html b/parity_wasm/elements/ops/opcodes/constant.I32MUL.html new file mode 100644 index 0000000..bfbdbd0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32MUL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32NE.html b/parity_wasm/elements/ops/opcodes/constant.I32NE.html new file mode 100644 index 0000000..15d10f9 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32NE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32OR.html b/parity_wasm/elements/ops/opcodes/constant.I32OR.html new file mode 100644 index 0000000..8340acb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32OR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32POPCNT.html b/parity_wasm/elements/ops/opcodes/constant.I32POPCNT.html new file mode 100644 index 0000000..766d0d0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32POPCNT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32POPCNT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32REINTERPRETF32.html b/parity_wasm/elements/ops/opcodes/constant.I32REINTERPRETF32.html new file mode 100644 index 0000000..ecc7e3c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32REINTERPRETF32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32REINTERPRETF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32REMS.html b/parity_wasm/elements/ops/opcodes/constant.I32REMS.html new file mode 100644 index 0000000..5c785b6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32REMS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32REMS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32REMU.html b/parity_wasm/elements/ops/opcodes/constant.I32REMU.html new file mode 100644 index 0000000..2a497ca --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32REMU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32REMU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32ROTL.html b/parity_wasm/elements/ops/opcodes/constant.I32ROTL.html new file mode 100644 index 0000000..f677b86 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32ROTL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32ROTL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32ROTR.html b/parity_wasm/elements/ops/opcodes/constant.I32ROTR.html new file mode 100644 index 0000000..10f8164 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32ROTR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32ROTR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32SHL.html b/parity_wasm/elements/ops/opcodes/constant.I32SHL.html new file mode 100644 index 0000000..e4fd163 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32SHL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32SHRS.html b/parity_wasm/elements/ops/opcodes/constant.I32SHRS.html new file mode 100644 index 0000000..910d150 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32SHRS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32SHRS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32SHRU.html b/parity_wasm/elements/ops/opcodes/constant.I32SHRU.html new file mode 100644 index 0000000..dd084e4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32SHRU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32SHRU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32STORE.html b/parity_wasm/elements/ops/opcodes/constant.I32STORE.html new file mode 100644 index 0000000..4b87a7f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32STORE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32STORE16.html b/parity_wasm/elements/ops/opcodes/constant.I32STORE16.html new file mode 100644 index 0000000..afc454b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32STORE16.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32STORE16.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32STORE8.html b/parity_wasm/elements/ops/opcodes/constant.I32STORE8.html new file mode 100644 index 0000000..61e5c3d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32STORE8.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32STORE8.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32SUB.html b/parity_wasm/elements/ops/opcodes/constant.I32SUB.html new file mode 100644 index 0000000..fe77bb2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32TRUNCSF32.html b/parity_wasm/elements/ops/opcodes/constant.I32TRUNCSF32.html new file mode 100644 index 0000000..8e8b78b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32TRUNCSF32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32TRUNCSF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32TRUNCSF64.html b/parity_wasm/elements/ops/opcodes/constant.I32TRUNCSF64.html new file mode 100644 index 0000000..d6925fe --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32TRUNCSF64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32TRUNCSF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32TRUNCUF32.html b/parity_wasm/elements/ops/opcodes/constant.I32TRUNCUF32.html new file mode 100644 index 0000000..b6b441c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32TRUNCUF32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32TRUNCUF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32TRUNCUF64.html b/parity_wasm/elements/ops/opcodes/constant.I32TRUNCUF64.html new file mode 100644 index 0000000..6de81b4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32TRUNCUF64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32TRUNCUF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32WRAPI64.html b/parity_wasm/elements/ops/opcodes/constant.I32WRAPI64.html new file mode 100644 index 0000000..9ea98b6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32WRAPI64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32WRAPI64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_ADD.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_ADD.html new file mode 100644 index 0000000..18bf5a1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_ALL_TRUE.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_ALL_TRUE.html new file mode 100644 index 0000000..37e4f47 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_ALL_TRUE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_ANY_TRUE.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_ANY_TRUE.html new file mode 100644 index 0000000..1723d92 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_ANY_TRUE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_EQ.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_EQ.html new file mode 100644 index 0000000..2af7146 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_EQ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_EXTRACT_LANE.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_EXTRACT_LANE.html new file mode 100644 index 0000000..6071250 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_EXTRACT_LANE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_GE_S.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_GE_S.html new file mode 100644 index 0000000..e0bceae --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_GE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_GE_U.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_GE_U.html new file mode 100644 index 0000000..2d3aa21 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_GE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_GT_S.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_GT_S.html new file mode 100644 index 0000000..1369b7f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_GT_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_GT_U.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_GT_U.html new file mode 100644 index 0000000..d1e2d50 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_GT_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_LE_S.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_LE_S.html new file mode 100644 index 0000000..03c5e00 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_LE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_LE_U.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_LE_U.html new file mode 100644 index 0000000..2a0c9ff --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_LE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_LT_S.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_LT_S.html new file mode 100644 index 0000000..167ca19 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_LT_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_LT_U.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_LT_U.html new file mode 100644 index 0000000..9631703 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_LT_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_MUL.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_MUL.html new file mode 100644 index 0000000..abf08bf --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_MUL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_NE.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_NE.html new file mode 100644 index 0000000..93828de --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_NE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_NEG.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_NEG.html new file mode 100644 index 0000000..dffffdb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_NEG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_REPLACE_LANE.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_REPLACE_LANE.html new file mode 100644 index 0000000..f025188 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_REPLACE_LANE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_SHL.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_SHL.html new file mode 100644 index 0000000..aa4c7de --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_SHL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_SHR_S.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_SHR_S.html new file mode 100644 index 0000000..3322bbe --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_SHR_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_SHR_U.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_SHR_U.html new file mode 100644 index 0000000..4657a7a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_SHR_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_SPLAT.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_SPLAT.html new file mode 100644 index 0000000..418cee5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_SPLAT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_SUB.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_SUB.html new file mode 100644 index 0000000..a8c621d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_TRUNC_S_F32X4_SAT.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_TRUNC_S_F32X4_SAT.html new file mode 100644 index 0000000..79a568a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_TRUNC_S_F32X4_SAT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_TRUNC_S_F32X4_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32X4_TRUNC_U_F32X4_SAT.html b/parity_wasm/elements/ops/opcodes/constant.I32X4_TRUNC_U_F32X4_SAT.html new file mode 100644 index 0000000..a0710b1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32X4_TRUNC_U_F32X4_SAT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32X4_TRUNC_U_F32X4_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32XOR.html b/parity_wasm/elements/ops/opcodes/constant.I32XOR.html new file mode 100644 index 0000000..91f2f9a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32XOR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD.html new file mode 100644 index 0000000..c780b29 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD16U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD16U.html new file mode 100644 index 0000000..55ceb65 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD8U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD8U.html new file mode 100644 index 0000000..e7e6e92 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_LOAD8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD.html new file mode 100644 index 0000000..e618bba --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD16U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD16U.html new file mode 100644 index 0000000..bbbc865 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD8U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD8U.html new file mode 100644 index 0000000..0460352 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_ADD8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_ADD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND.html new file mode 100644 index 0000000..5665c31 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND16U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND16U.html new file mode 100644 index 0000000..dcffd7b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND8U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND8U.html new file mode 100644 index 0000000..5ea8d67 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_AND8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_AND8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG.html new file mode 100644 index 0000000..a677e4e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG16U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG16U.html new file mode 100644 index 0000000..ebe302d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG8U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG8U.html new file mode 100644 index 0000000..16ea4e3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_CMPXCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR.html new file mode 100644 index 0000000..1485880 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR16U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR16U.html new file mode 100644 index 0000000..defec62 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR8U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR8U.html new file mode 100644 index 0000000..76640a0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_OR8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_OR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB.html new file mode 100644 index 0000000..0bf5997 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB16U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB16U.html new file mode 100644 index 0000000..7360667 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB8U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB8U.html new file mode 100644 index 0000000..5a0c1a5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_SUB8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_SUB8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG.html new file mode 100644 index 0000000..b0efce3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG16U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG16U.html new file mode 100644 index 0000000..605d36f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG8U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG8U.html new file mode 100644 index 0000000..b9293ce --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XCHG8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR.html new file mode 100644 index 0000000..81c974b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR16U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR16U.html new file mode 100644 index 0000000..6d24e62 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR8U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR8U.html new file mode 100644 index 0000000..3da9788 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_RMW_XOR8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_RMW_XOR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE.html new file mode 100644 index 0000000..aa5c647 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE16U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE16U.html new file mode 100644 index 0000000..b638368 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE8U.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE8U.html new file mode 100644 index 0000000..0d2ef94 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_STORE8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_STORE8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_WAIT.html b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_WAIT.html new file mode 100644 index 0000000..8386f32 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_ATOMIC_WAIT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_ATOMIC_WAIT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_EXTEND16_S.html b/parity_wasm/elements/ops/opcodes/constant.I32_EXTEND16_S.html new file mode 100644 index 0000000..c9c0e1f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_EXTEND16_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_EXTEND16_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I32_EXTEND8_S.html b/parity_wasm/elements/ops/opcodes/constant.I32_EXTEND8_S.html new file mode 100644 index 0000000..7fdd78a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I32_EXTEND8_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I32_EXTEND8_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64ADD.html b/parity_wasm/elements/ops/opcodes/constant.I64ADD.html new file mode 100644 index 0000000..848eec3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64AND.html b/parity_wasm/elements/ops/opcodes/constant.I64AND.html new file mode 100644 index 0000000..0b654ec --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64AND.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64CLZ.html b/parity_wasm/elements/ops/opcodes/constant.I64CLZ.html new file mode 100644 index 0000000..479cce3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64CLZ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64CLZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64CONST.html b/parity_wasm/elements/ops/opcodes/constant.I64CONST.html new file mode 100644 index 0000000..38d6f93 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64CONST.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64CTZ.html b/parity_wasm/elements/ops/opcodes/constant.I64CTZ.html new file mode 100644 index 0000000..8996b7d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64CTZ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64CTZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64DIVS.html b/parity_wasm/elements/ops/opcodes/constant.I64DIVS.html new file mode 100644 index 0000000..337a839 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64DIVS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64DIVS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64DIVU.html b/parity_wasm/elements/ops/opcodes/constant.I64DIVU.html new file mode 100644 index 0000000..a9ba1e5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64DIVU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64DIVU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64EQ.html b/parity_wasm/elements/ops/opcodes/constant.I64EQ.html new file mode 100644 index 0000000..af12f95 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64EQ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64EQZ.html b/parity_wasm/elements/ops/opcodes/constant.I64EQZ.html new file mode 100644 index 0000000..e275dbe --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64EQZ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64EQZ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64EXTENDSI32.html b/parity_wasm/elements/ops/opcodes/constant.I64EXTENDSI32.html new file mode 100644 index 0000000..27d1d4e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64EXTENDSI32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64EXTENDSI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64EXTENDUI32.html b/parity_wasm/elements/ops/opcodes/constant.I64EXTENDUI32.html new file mode 100644 index 0000000..e94e97a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64EXTENDUI32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64EXTENDUI32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64GES.html b/parity_wasm/elements/ops/opcodes/constant.I64GES.html new file mode 100644 index 0000000..8748590 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64GES.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64GES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64GEU.html b/parity_wasm/elements/ops/opcodes/constant.I64GEU.html new file mode 100644 index 0000000..e9a2948 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64GEU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64GEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64GTS.html b/parity_wasm/elements/ops/opcodes/constant.I64GTS.html new file mode 100644 index 0000000..2cd3197 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64GTS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64GTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64GTU.html b/parity_wasm/elements/ops/opcodes/constant.I64GTU.html new file mode 100644 index 0000000..8f63c8f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64GTU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64GTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64LES.html b/parity_wasm/elements/ops/opcodes/constant.I64LES.html new file mode 100644 index 0000000..a5fd5c6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64LES.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64LES.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64LEU.html b/parity_wasm/elements/ops/opcodes/constant.I64LEU.html new file mode 100644 index 0000000..f4a9def --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64LEU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64LEU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64LOAD.html b/parity_wasm/elements/ops/opcodes/constant.I64LOAD.html new file mode 100644 index 0000000..0be08a6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64LOAD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64LOAD16S.html b/parity_wasm/elements/ops/opcodes/constant.I64LOAD16S.html new file mode 100644 index 0000000..144920f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64LOAD16S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64LOAD16S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64LOAD16U.html b/parity_wasm/elements/ops/opcodes/constant.I64LOAD16U.html new file mode 100644 index 0000000..6681ce2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64LOAD16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64LOAD32S.html b/parity_wasm/elements/ops/opcodes/constant.I64LOAD32S.html new file mode 100644 index 0000000..fd9eb13 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64LOAD32S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64LOAD32S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64LOAD32U.html b/parity_wasm/elements/ops/opcodes/constant.I64LOAD32U.html new file mode 100644 index 0000000..b019906 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64LOAD32U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64LOAD32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64LOAD8S.html b/parity_wasm/elements/ops/opcodes/constant.I64LOAD8S.html new file mode 100644 index 0000000..4fcc1f2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64LOAD8S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64LOAD8S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64LOAD8U.html b/parity_wasm/elements/ops/opcodes/constant.I64LOAD8U.html new file mode 100644 index 0000000..64bfe36 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64LOAD8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64LTS.html b/parity_wasm/elements/ops/opcodes/constant.I64LTS.html new file mode 100644 index 0000000..3821132 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64LTS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64LTS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64LTU.html b/parity_wasm/elements/ops/opcodes/constant.I64LTU.html new file mode 100644 index 0000000..c93c051 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64LTU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64LTU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64MUL.html b/parity_wasm/elements/ops/opcodes/constant.I64MUL.html new file mode 100644 index 0000000..0194d11 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64MUL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64NE.html b/parity_wasm/elements/ops/opcodes/constant.I64NE.html new file mode 100644 index 0000000..5fb86b8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64NE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64OR.html b/parity_wasm/elements/ops/opcodes/constant.I64OR.html new file mode 100644 index 0000000..5fe384b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64OR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64POPCNT.html b/parity_wasm/elements/ops/opcodes/constant.I64POPCNT.html new file mode 100644 index 0000000..ce4b32d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64POPCNT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64POPCNT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64REINTERPRETF64.html b/parity_wasm/elements/ops/opcodes/constant.I64REINTERPRETF64.html new file mode 100644 index 0000000..cd04458 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64REINTERPRETF64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64REINTERPRETF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64REMS.html b/parity_wasm/elements/ops/opcodes/constant.I64REMS.html new file mode 100644 index 0000000..34f4485 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64REMS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64REMS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64REMU.html b/parity_wasm/elements/ops/opcodes/constant.I64REMU.html new file mode 100644 index 0000000..3828831 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64REMU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64REMU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64ROTL.html b/parity_wasm/elements/ops/opcodes/constant.I64ROTL.html new file mode 100644 index 0000000..f10744c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64ROTL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64ROTL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64ROTR.html b/parity_wasm/elements/ops/opcodes/constant.I64ROTR.html new file mode 100644 index 0000000..b9b8806 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64ROTR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64ROTR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64SHL.html b/parity_wasm/elements/ops/opcodes/constant.I64SHL.html new file mode 100644 index 0000000..1ddfcce --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64SHL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64SHRS.html b/parity_wasm/elements/ops/opcodes/constant.I64SHRS.html new file mode 100644 index 0000000..8b96354 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64SHRS.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64SHRS.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64SHRU.html b/parity_wasm/elements/ops/opcodes/constant.I64SHRU.html new file mode 100644 index 0000000..2ee4804 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64SHRU.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64SHRU.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64STORE.html b/parity_wasm/elements/ops/opcodes/constant.I64STORE.html new file mode 100644 index 0000000..b24fb84 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64STORE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64STORE16.html b/parity_wasm/elements/ops/opcodes/constant.I64STORE16.html new file mode 100644 index 0000000..8529b65 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64STORE16.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64STORE16.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64STORE32.html b/parity_wasm/elements/ops/opcodes/constant.I64STORE32.html new file mode 100644 index 0000000..f650a4d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64STORE32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64STORE32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64STORE8.html b/parity_wasm/elements/ops/opcodes/constant.I64STORE8.html new file mode 100644 index 0000000..176d7c4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64STORE8.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64STORE8.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64SUB.html b/parity_wasm/elements/ops/opcodes/constant.I64SUB.html new file mode 100644 index 0000000..da2eb86 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64TRUNCSF32.html b/parity_wasm/elements/ops/opcodes/constant.I64TRUNCSF32.html new file mode 100644 index 0000000..d8fee4c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64TRUNCSF32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64TRUNCSF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64TRUNCSF64.html b/parity_wasm/elements/ops/opcodes/constant.I64TRUNCSF64.html new file mode 100644 index 0000000..456e022 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64TRUNCSF64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64TRUNCSF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64TRUNCUF32.html b/parity_wasm/elements/ops/opcodes/constant.I64TRUNCUF32.html new file mode 100644 index 0000000..cb377cf --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64TRUNCUF32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64TRUNCUF32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64TRUNCUF64.html b/parity_wasm/elements/ops/opcodes/constant.I64TRUNCUF64.html new file mode 100644 index 0000000..694004d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64TRUNCUF64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64TRUNCUF64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_ADD.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_ADD.html new file mode 100644 index 0000000..3360cde --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_ALL_TRUE.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_ALL_TRUE.html new file mode 100644 index 0000000..5a13868 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_ALL_TRUE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_ANY_TRUE.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_ANY_TRUE.html new file mode 100644 index 0000000..bef7f80 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_ANY_TRUE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_EXTRACT_LANE.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_EXTRACT_LANE.html new file mode 100644 index 0000000..d9492ad --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_EXTRACT_LANE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_EXTRACT_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_GE_S.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_GE_S.html new file mode 100644 index 0000000..d179596 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_GE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_GE_U.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_GE_U.html new file mode 100644 index 0000000..7b8f0f9 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_GE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_GT_S.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_GT_S.html new file mode 100644 index 0000000..6a89bd0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_GT_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_GT_U.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_GT_U.html new file mode 100644 index 0000000..a85edfb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_GT_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_LE_S.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_LE_S.html new file mode 100644 index 0000000..0efc720 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_LE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_LE_U.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_LE_U.html new file mode 100644 index 0000000..98ae942 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_LE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_LT_S.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_LT_S.html new file mode 100644 index 0000000..c1845c1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_LT_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_LT_U.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_LT_U.html new file mode 100644 index 0000000..afbb3b1 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_LT_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_NEG.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_NEG.html new file mode 100644 index 0000000..8deb99d --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_NEG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_REPLACE_LANE.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_REPLACE_LANE.html new file mode 100644 index 0000000..69d4bfd --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_REPLACE_LANE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_SHL.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_SHL.html new file mode 100644 index 0000000..a351331 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_SHL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_SHR_S.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_SHR_S.html new file mode 100644 index 0000000..3b59525 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_SHR_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_SHR_U.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_SHR_U.html new file mode 100644 index 0000000..fccd082 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_SHR_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_SPLAT.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_SPLAT.html new file mode 100644 index 0000000..1d462f0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_SPLAT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_SUB.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_SUB.html new file mode 100644 index 0000000..eb3b42c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_TRUNC_S_F64X2_SAT.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_TRUNC_S_F64X2_SAT.html new file mode 100644 index 0000000..8516fb0 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_TRUNC_S_F64X2_SAT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_TRUNC_S_F64X2_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64X2_TRUNC_U_F64X2_SAT.html b/parity_wasm/elements/ops/opcodes/constant.I64X2_TRUNC_U_F64X2_SAT.html new file mode 100644 index 0000000..cb398c5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64X2_TRUNC_U_F64X2_SAT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64X2_TRUNC_U_F64X2_SAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64XOR.html b/parity_wasm/elements/ops/opcodes/constant.I64XOR.html new file mode 100644 index 0000000..a4b1c49 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64XOR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD.html new file mode 100644 index 0000000..31fd4a4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD16U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD16U.html new file mode 100644 index 0000000..3e0f65b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD32U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD32U.html new file mode 100644 index 0000000..b914f09 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD32U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD8U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD8U.html new file mode 100644 index 0000000..bba8b0c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_LOAD8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_LOAD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD.html new file mode 100644 index 0000000..eeb061c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD16U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD16U.html new file mode 100644 index 0000000..e4eaf46 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD32U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD32U.html new file mode 100644 index 0000000..d4efef8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD32U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD8U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD8U.html new file mode 100644 index 0000000..3105946 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_ADD8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_ADD8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND.html new file mode 100644 index 0000000..883eb2e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND16U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND16U.html new file mode 100644 index 0000000..93fbce2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND32U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND32U.html new file mode 100644 index 0000000..7b21e3e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND32U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND8U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND8U.html new file mode 100644 index 0000000..84aa51a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_AND8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_AND8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG.html new file mode 100644 index 0000000..2df177b --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG16U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG16U.html new file mode 100644 index 0000000..07e342c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG32U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG32U.html new file mode 100644 index 0000000..0e914b2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG32U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG8U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG8U.html new file mode 100644 index 0000000..c70f61c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_CMPXCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR.html new file mode 100644 index 0000000..56f2e2a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR16U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR16U.html new file mode 100644 index 0000000..47cb870 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR32U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR32U.html new file mode 100644 index 0000000..c087db8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR32U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR8U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR8U.html new file mode 100644 index 0000000..f11d3b3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_OR8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_OR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB.html new file mode 100644 index 0000000..4d2bef3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB16U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB16U.html new file mode 100644 index 0000000..fd1a605 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB32U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB32U.html new file mode 100644 index 0000000..2390d25 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB32U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB8U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB8U.html new file mode 100644 index 0000000..af43262 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_SUB8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_SUB8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG.html new file mode 100644 index 0000000..c37f9ac --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG16U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG16U.html new file mode 100644 index 0000000..2560a67 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG32U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG32U.html new file mode 100644 index 0000000..de90b88 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG32U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG8U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG8U.html new file mode 100644 index 0000000..5fcc6da --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XCHG8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XCHG8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR.html new file mode 100644 index 0000000..9ef2daa --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR16U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR16U.html new file mode 100644 index 0000000..62b49b4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR32U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR32U.html new file mode 100644 index 0000000..026cca2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR32U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR8U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR8U.html new file mode 100644 index 0000000..551fac3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_RMW_XOR8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_RMW_XOR8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE.html new file mode 100644 index 0000000..3f32c93 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE16U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE16U.html new file mode 100644 index 0000000..9a20171 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE16U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE16U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE32U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE32U.html new file mode 100644 index 0000000..b703e8f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE32U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE32U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE8U.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE8U.html new file mode 100644 index 0000000..3cc4323 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_STORE8U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_STORE8U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_WAIT.html b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_WAIT.html new file mode 100644 index 0000000..8d05846 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_ATOMIC_WAIT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_ATOMIC_WAIT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_EXTEND16_S.html b/parity_wasm/elements/ops/opcodes/constant.I64_EXTEND16_S.html new file mode 100644 index 0000000..a5b9ecc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_EXTEND16_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_EXTEND16_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_EXTEND32_S.html b/parity_wasm/elements/ops/opcodes/constant.I64_EXTEND32_S.html new file mode 100644 index 0000000..f370af6 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_EXTEND32_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_EXTEND32_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I64_EXTEND8_S.html b/parity_wasm/elements/ops/opcodes/constant.I64_EXTEND8_S.html new file mode 100644 index 0000000..94b31a5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I64_EXTEND8_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I64_EXTEND8_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_ADD.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_ADD.html new file mode 100644 index 0000000..953c7cb --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_ADD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_ADD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_ADD_SATURATE_S.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_ADD_SATURATE_S.html new file mode 100644 index 0000000..18923dc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_ADD_SATURATE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_ADD_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_ADD_SATURATE_U.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_ADD_SATURATE_U.html new file mode 100644 index 0000000..8b7e968 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_ADD_SATURATE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_ADD_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_ALL_TRUE.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_ALL_TRUE.html new file mode 100644 index 0000000..ade5000 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_ALL_TRUE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_ALL_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_ANY_TRUE.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_ANY_TRUE.html new file mode 100644 index 0000000..d638158 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_ANY_TRUE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_ANY_TRUE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_EQ.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_EQ.html new file mode 100644 index 0000000..80c7ac8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_EQ.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_EQ.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_EXTRACT_LANE_S.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_EXTRACT_LANE_S.html new file mode 100644 index 0000000..504715a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_EXTRACT_LANE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_EXTRACT_LANE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_EXTRACT_LANE_U.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_EXTRACT_LANE_U.html new file mode 100644 index 0000000..bc722b2 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_EXTRACT_LANE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_EXTRACT_LANE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_GE_S.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_GE_S.html new file mode 100644 index 0000000..d7efd63 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_GE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_GE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_GE_U.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_GE_U.html new file mode 100644 index 0000000..b3c9411 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_GE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_GE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_GT_S.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_GT_S.html new file mode 100644 index 0000000..873b8cc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_GT_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_GT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_GT_U.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_GT_U.html new file mode 100644 index 0000000..226af18 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_GT_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_GT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_LE_S.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_LE_S.html new file mode 100644 index 0000000..b2e52e4 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_LE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_LE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_LE_U.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_LE_U.html new file mode 100644 index 0000000..bcb6871 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_LE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_LE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_LT_S.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_LT_S.html new file mode 100644 index 0000000..43ccc38 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_LT_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_LT_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_LT_U.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_LT_U.html new file mode 100644 index 0000000..a6ad026 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_LT_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_LT_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_MUL.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_MUL.html new file mode 100644 index 0000000..a5874ad --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_MUL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_MUL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_NE.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_NE.html new file mode 100644 index 0000000..66bab96 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_NE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_NE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_NEG.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_NEG.html new file mode 100644 index 0000000..11fd4a5 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_NEG.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_NEG.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_REPLACE_LANE.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_REPLACE_LANE.html new file mode 100644 index 0000000..ea827ad --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_REPLACE_LANE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_REPLACE_LANE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_SHL.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_SHL.html new file mode 100644 index 0000000..9c85042 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_SHL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_SHL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_SHR_S.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_SHR_S.html new file mode 100644 index 0000000..c93b313 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_SHR_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_SHR_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_SHR_U.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_SHR_U.html new file mode 100644 index 0000000..4ced169 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_SHR_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_SHR_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_SPLAT.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_SPLAT.html new file mode 100644 index 0000000..08f12da --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_SPLAT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_SPLAT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_SUB.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_SUB.html new file mode 100644 index 0000000..e56806f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_SUB.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_SUB.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_SUB_SATURATE_S.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_SUB_SATURATE_S.html new file mode 100644 index 0000000..e43eb54 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_SUB_SATURATE_S.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_SUB_SATURATE_S.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.I8X16_SUB_SATURATE_U.html b/parity_wasm/elements/ops/opcodes/constant.I8X16_SUB_SATURATE_U.html new file mode 100644 index 0000000..97541a3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.I8X16_SUB_SATURATE_U.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.I8X16_SUB_SATURATE_U.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.IF.html b/parity_wasm/elements/ops/opcodes/constant.IF.html new file mode 100644 index 0000000..b5211cf --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.IF.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.IF.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.LOOP.html b/parity_wasm/elements/ops/opcodes/constant.LOOP.html new file mode 100644 index 0000000..02da4ef --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.LOOP.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.LOOP.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.NOP.html b/parity_wasm/elements/ops/opcodes/constant.NOP.html new file mode 100644 index 0000000..0c97791 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.NOP.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.NOP.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.RETURN.html b/parity_wasm/elements/ops/opcodes/constant.RETURN.html new file mode 100644 index 0000000..ec2163a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.RETURN.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.RETURN.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.SELECT.html b/parity_wasm/elements/ops/opcodes/constant.SELECT.html new file mode 100644 index 0000000..e92435e --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.SELECT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.SELECT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.SETGLOBAL.html b/parity_wasm/elements/ops/opcodes/constant.SETGLOBAL.html new file mode 100644 index 0000000..7afb9a3 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.SETGLOBAL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.SETGLOBAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.SETLOCAL.html b/parity_wasm/elements/ops/opcodes/constant.SETLOCAL.html new file mode 100644 index 0000000..1768591 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.SETLOCAL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.SETLOCAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.SIMD_PREFIX.html b/parity_wasm/elements/ops/opcodes/constant.SIMD_PREFIX.html new file mode 100644 index 0000000..440f24a --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.SIMD_PREFIX.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.SIMD_PREFIX.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.TEELOCAL.html b/parity_wasm/elements/ops/opcodes/constant.TEELOCAL.html new file mode 100644 index 0000000..31f5fb8 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.TEELOCAL.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.TEELOCAL.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.UNREACHABLE.html b/parity_wasm/elements/ops/opcodes/constant.UNREACHABLE.html new file mode 100644 index 0000000..1d12911 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.UNREACHABLE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.UNREACHABLE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.V128_AND.html b/parity_wasm/elements/ops/opcodes/constant.V128_AND.html new file mode 100644 index 0000000..5f43d12 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.V128_AND.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.V128_AND.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.V128_BITSELECT.html b/parity_wasm/elements/ops/opcodes/constant.V128_BITSELECT.html new file mode 100644 index 0000000..ff5d85f --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.V128_BITSELECT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.V128_BITSELECT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.V128_CONST.html b/parity_wasm/elements/ops/opcodes/constant.V128_CONST.html new file mode 100644 index 0000000..261d458 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.V128_CONST.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.V128_CONST.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.V128_LOAD.html b/parity_wasm/elements/ops/opcodes/constant.V128_LOAD.html new file mode 100644 index 0000000..d2253fc --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.V128_LOAD.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.V128_LOAD.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.V128_NOT.html b/parity_wasm/elements/ops/opcodes/constant.V128_NOT.html new file mode 100644 index 0000000..d390a71 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.V128_NOT.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.V128_NOT.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.V128_OR.html b/parity_wasm/elements/ops/opcodes/constant.V128_OR.html new file mode 100644 index 0000000..2f1d061 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.V128_OR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.V128_OR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.V128_STORE.html b/parity_wasm/elements/ops/opcodes/constant.V128_STORE.html new file mode 100644 index 0000000..63f8d4c --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.V128_STORE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.V128_STORE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.V128_XOR.html b/parity_wasm/elements/ops/opcodes/constant.V128_XOR.html new file mode 100644 index 0000000..c1c77ec --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.V128_XOR.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.V128_XOR.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/constant.V8X16_SHUFFLE.html b/parity_wasm/elements/ops/opcodes/constant.V8X16_SHUFFLE.html new file mode 100644 index 0000000..b1700ec --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/constant.V8X16_SHUFFLE.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/constant.V8X16_SHUFFLE.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/opcodes/index.html b/parity_wasm/elements/ops/opcodes/index.html new file mode 100644 index 0000000..c36ff02 --- /dev/null +++ b/parity_wasm/elements/ops/opcodes/index.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../../parity_wasm/elements/opcodes/index.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/struct.InitExpr.html b/parity_wasm/elements/ops/struct.InitExpr.html new file mode 100644 index 0000000..8e171db --- /dev/null +++ b/parity_wasm/elements/ops/struct.InitExpr.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.InitExpr.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/ops/struct.Instructions.html b/parity_wasm/elements/ops/struct.Instructions.html new file mode 100644 index 0000000..2c99ebb --- /dev/null +++ b/parity_wasm/elements/ops/struct.Instructions.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.Instructions.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/peek_size.v.html b/parity_wasm/elements/peek_size.v.html new file mode 100644 index 0000000..7c9be5d --- /dev/null +++ b/parity_wasm/elements/peek_size.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.peek_size.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/CountedList.t.html b/parity_wasm/elements/primitives/CountedList.t.html new file mode 100644 index 0000000..cf7cc53 --- /dev/null +++ b/parity_wasm/elements/primitives/CountedList.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.CountedList.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/CountedListWriter.t.html b/parity_wasm/elements/primitives/CountedListWriter.t.html new file mode 100644 index 0000000..8224a0b --- /dev/null +++ b/parity_wasm/elements/primitives/CountedListWriter.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.CountedListWriter.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/CountedWriter.t.html b/parity_wasm/elements/primitives/CountedWriter.t.html new file mode 100644 index 0000000..9fec351 --- /dev/null +++ b/parity_wasm/elements/primitives/CountedWriter.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.CountedWriter.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/Uint32.t.html b/parity_wasm/elements/primitives/Uint32.t.html new file mode 100644 index 0000000..be6e1df --- /dev/null +++ b/parity_wasm/elements/primitives/Uint32.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Uint32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/Uint64.t.html b/parity_wasm/elements/primitives/Uint64.t.html new file mode 100644 index 0000000..b394e40 --- /dev/null +++ b/parity_wasm/elements/primitives/Uint64.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Uint64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/Uint8.t.html b/parity_wasm/elements/primitives/Uint8.t.html new file mode 100644 index 0000000..0e302cf --- /dev/null +++ b/parity_wasm/elements/primitives/Uint8.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.Uint8.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/VarInt32.t.html b/parity_wasm/elements/primitives/VarInt32.t.html new file mode 100644 index 0000000..bcf0639 --- /dev/null +++ b/parity_wasm/elements/primitives/VarInt32.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarInt32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/VarInt64.t.html b/parity_wasm/elements/primitives/VarInt64.t.html new file mode 100644 index 0000000..96cfc76 --- /dev/null +++ b/parity_wasm/elements/primitives/VarInt64.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarInt64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/VarInt7.t.html b/parity_wasm/elements/primitives/VarInt7.t.html new file mode 100644 index 0000000..5c7e80e --- /dev/null +++ b/parity_wasm/elements/primitives/VarInt7.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarInt7.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/VarUint1.t.html b/parity_wasm/elements/primitives/VarUint1.t.html new file mode 100644 index 0000000..ea821ae --- /dev/null +++ b/parity_wasm/elements/primitives/VarUint1.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarUint1.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/VarUint32.t.html b/parity_wasm/elements/primitives/VarUint32.t.html new file mode 100644 index 0000000..b2e173e --- /dev/null +++ b/parity_wasm/elements/primitives/VarUint32.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarUint32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/VarUint64.t.html b/parity_wasm/elements/primitives/VarUint64.t.html new file mode 100644 index 0000000..934fc4a --- /dev/null +++ b/parity_wasm/elements/primitives/VarUint64.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarUint64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/VarUint7.t.html b/parity_wasm/elements/primitives/VarUint7.t.html new file mode 100644 index 0000000..cdb5531 --- /dev/null +++ b/parity_wasm/elements/primitives/VarUint7.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.VarUint7.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.CountedList.html b/parity_wasm/elements/primitives/struct.CountedList.html new file mode 100644 index 0000000..9049c4a --- /dev/null +++ b/parity_wasm/elements/primitives/struct.CountedList.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.CountedList.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.CountedListWriter.html b/parity_wasm/elements/primitives/struct.CountedListWriter.html new file mode 100644 index 0000000..18138fb --- /dev/null +++ b/parity_wasm/elements/primitives/struct.CountedListWriter.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.CountedListWriter.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.CountedWriter.html b/parity_wasm/elements/primitives/struct.CountedWriter.html new file mode 100644 index 0000000..449609d --- /dev/null +++ b/parity_wasm/elements/primitives/struct.CountedWriter.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.CountedWriter.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.Uint32.html b/parity_wasm/elements/primitives/struct.Uint32.html new file mode 100644 index 0000000..498b9fb --- /dev/null +++ b/parity_wasm/elements/primitives/struct.Uint32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.Uint32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.Uint64.html b/parity_wasm/elements/primitives/struct.Uint64.html new file mode 100644 index 0000000..12e63c9 --- /dev/null +++ b/parity_wasm/elements/primitives/struct.Uint64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.Uint64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.Uint8.html b/parity_wasm/elements/primitives/struct.Uint8.html new file mode 100644 index 0000000..d605224 --- /dev/null +++ b/parity_wasm/elements/primitives/struct.Uint8.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.Uint8.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.VarInt32.html b/parity_wasm/elements/primitives/struct.VarInt32.html new file mode 100644 index 0000000..d15f5ec --- /dev/null +++ b/parity_wasm/elements/primitives/struct.VarInt32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.VarInt32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.VarInt64.html b/parity_wasm/elements/primitives/struct.VarInt64.html new file mode 100644 index 0000000..590ae42 --- /dev/null +++ b/parity_wasm/elements/primitives/struct.VarInt64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.VarInt64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.VarInt7.html b/parity_wasm/elements/primitives/struct.VarInt7.html new file mode 100644 index 0000000..d7e2b8e --- /dev/null +++ b/parity_wasm/elements/primitives/struct.VarInt7.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.VarInt7.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.VarUint1.html b/parity_wasm/elements/primitives/struct.VarUint1.html new file mode 100644 index 0000000..11a02bd --- /dev/null +++ b/parity_wasm/elements/primitives/struct.VarUint1.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.VarUint1.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.VarUint32.html b/parity_wasm/elements/primitives/struct.VarUint32.html new file mode 100644 index 0000000..a5f3774 --- /dev/null +++ b/parity_wasm/elements/primitives/struct.VarUint32.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.VarUint32.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.VarUint64.html b/parity_wasm/elements/primitives/struct.VarUint64.html new file mode 100644 index 0000000..cf955df --- /dev/null +++ b/parity_wasm/elements/primitives/struct.VarUint64.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.VarUint64.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/primitives/struct.VarUint7.html b/parity_wasm/elements/primitives/struct.VarUint7.html new file mode 100644 index 0000000..95fa572 --- /dev/null +++ b/parity_wasm/elements/primitives/struct.VarUint7.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.VarUint7.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/reloc_section/RelocSection.t.html b/parity_wasm/elements/reloc_section/RelocSection.t.html new file mode 100644 index 0000000..ecb0422 --- /dev/null +++ b/parity_wasm/elements/reloc_section/RelocSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.RelocSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/reloc_section/RelocationEntry.t.html b/parity_wasm/elements/reloc_section/RelocationEntry.t.html new file mode 100644 index 0000000..c75de6f --- /dev/null +++ b/parity_wasm/elements/reloc_section/RelocationEntry.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.RelocationEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/reloc_section/enum.RelocationEntry.html b/parity_wasm/elements/reloc_section/enum.RelocationEntry.html new file mode 100644 index 0000000..af0a459 --- /dev/null +++ b/parity_wasm/elements/reloc_section/enum.RelocationEntry.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/enum.RelocationEntry.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/reloc_section/struct.RelocSection.html b/parity_wasm/elements/reloc_section/struct.RelocSection.html new file mode 100644 index 0000000..9bc9792 --- /dev/null +++ b/parity_wasm/elements/reloc_section/struct.RelocSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.RelocSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/CodeSection.t.html b/parity_wasm/elements/section/CodeSection.t.html new file mode 100644 index 0000000..7fe205b --- /dev/null +++ b/parity_wasm/elements/section/CodeSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.CodeSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/CustomSection.t.html b/parity_wasm/elements/section/CustomSection.t.html new file mode 100644 index 0000000..9de273a --- /dev/null +++ b/parity_wasm/elements/section/CustomSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.CustomSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/DataSection.t.html b/parity_wasm/elements/section/DataSection.t.html new file mode 100644 index 0000000..6003ac4 --- /dev/null +++ b/parity_wasm/elements/section/DataSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.DataSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/ElementSection.t.html b/parity_wasm/elements/section/ElementSection.t.html new file mode 100644 index 0000000..937595a --- /dev/null +++ b/parity_wasm/elements/section/ElementSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ElementSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/ExportSection.t.html b/parity_wasm/elements/section/ExportSection.t.html new file mode 100644 index 0000000..e7c91eb --- /dev/null +++ b/parity_wasm/elements/section/ExportSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ExportSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/FunctionSection.t.html b/parity_wasm/elements/section/FunctionSection.t.html new file mode 100644 index 0000000..f0c2ff3 --- /dev/null +++ b/parity_wasm/elements/section/FunctionSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FunctionSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/GlobalSection.t.html b/parity_wasm/elements/section/GlobalSection.t.html new file mode 100644 index 0000000..cdddfa5 --- /dev/null +++ b/parity_wasm/elements/section/GlobalSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.GlobalSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/ImportSection.t.html b/parity_wasm/elements/section/ImportSection.t.html new file mode 100644 index 0000000..efa4d7e --- /dev/null +++ b/parity_wasm/elements/section/ImportSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ImportSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/MemorySection.t.html b/parity_wasm/elements/section/MemorySection.t.html new file mode 100644 index 0000000..ac28e76 --- /dev/null +++ b/parity_wasm/elements/section/MemorySection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.MemorySection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/Section.t.html b/parity_wasm/elements/section/Section.t.html new file mode 100644 index 0000000..a50b3db --- /dev/null +++ b/parity_wasm/elements/section/Section.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.Section.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/TableSection.t.html b/parity_wasm/elements/section/TableSection.t.html new file mode 100644 index 0000000..268e576 --- /dev/null +++ b/parity_wasm/elements/section/TableSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TableSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/TypeSection.t.html b/parity_wasm/elements/section/TypeSection.t.html new file mode 100644 index 0000000..e9b4b09 --- /dev/null +++ b/parity_wasm/elements/section/TypeSection.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.TypeSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/enum.Section.html b/parity_wasm/elements/section/enum.Section.html new file mode 100644 index 0000000..3b5e34d --- /dev/null +++ b/parity_wasm/elements/section/enum.Section.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/enum.Section.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/struct.CodeSection.html b/parity_wasm/elements/section/struct.CodeSection.html new file mode 100644 index 0000000..f8aa7da --- /dev/null +++ b/parity_wasm/elements/section/struct.CodeSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.CodeSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/struct.CustomSection.html b/parity_wasm/elements/section/struct.CustomSection.html new file mode 100644 index 0000000..656176d --- /dev/null +++ b/parity_wasm/elements/section/struct.CustomSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.CustomSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/struct.DataSection.html b/parity_wasm/elements/section/struct.DataSection.html new file mode 100644 index 0000000..a80ac4c --- /dev/null +++ b/parity_wasm/elements/section/struct.DataSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.DataSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/struct.ElementSection.html b/parity_wasm/elements/section/struct.ElementSection.html new file mode 100644 index 0000000..606174b --- /dev/null +++ b/parity_wasm/elements/section/struct.ElementSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.ElementSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/struct.ExportSection.html b/parity_wasm/elements/section/struct.ExportSection.html new file mode 100644 index 0000000..b448d22 --- /dev/null +++ b/parity_wasm/elements/section/struct.ExportSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.ExportSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/struct.FunctionSection.html b/parity_wasm/elements/section/struct.FunctionSection.html new file mode 100644 index 0000000..c0f22c3 --- /dev/null +++ b/parity_wasm/elements/section/struct.FunctionSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.FunctionSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/struct.GlobalSection.html b/parity_wasm/elements/section/struct.GlobalSection.html new file mode 100644 index 0000000..e73886f --- /dev/null +++ b/parity_wasm/elements/section/struct.GlobalSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.GlobalSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/struct.ImportSection.html b/parity_wasm/elements/section/struct.ImportSection.html new file mode 100644 index 0000000..4fc20fe --- /dev/null +++ b/parity_wasm/elements/section/struct.ImportSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.ImportSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/struct.MemorySection.html b/parity_wasm/elements/section/struct.MemorySection.html new file mode 100644 index 0000000..f36a222 --- /dev/null +++ b/parity_wasm/elements/section/struct.MemorySection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.MemorySection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/struct.TableSection.html b/parity_wasm/elements/section/struct.TableSection.html new file mode 100644 index 0000000..091ae4c --- /dev/null +++ b/parity_wasm/elements/section/struct.TableSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.TableSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/section/struct.TypeSection.html b/parity_wasm/elements/section/struct.TypeSection.html new file mode 100644 index 0000000..df6895d --- /dev/null +++ b/parity_wasm/elements/section/struct.TypeSection.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.TypeSection.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/segment/DataSegment.t.html b/parity_wasm/elements/segment/DataSegment.t.html new file mode 100644 index 0000000..5ffa505 --- /dev/null +++ b/parity_wasm/elements/segment/DataSegment.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.DataSegment.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/segment/ElementSegment.t.html b/parity_wasm/elements/segment/ElementSegment.t.html new file mode 100644 index 0000000..c337fb7 --- /dev/null +++ b/parity_wasm/elements/segment/ElementSegment.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.ElementSegment.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/segment/struct.DataSegment.html b/parity_wasm/elements/segment/struct.DataSegment.html new file mode 100644 index 0000000..fda0509 --- /dev/null +++ b/parity_wasm/elements/segment/struct.DataSegment.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.DataSegment.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/segment/struct.ElementSegment.html b/parity_wasm/elements/segment/struct.ElementSegment.html new file mode 100644 index 0000000..9bbc519 --- /dev/null +++ b/parity_wasm/elements/segment/struct.ElementSegment.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.ElementSegment.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/serialize.v.html b/parity_wasm/elements/serialize.v.html new file mode 100644 index 0000000..f542f10 --- /dev/null +++ b/parity_wasm/elements/serialize.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.serialize.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/serialize_to_file.v.html b/parity_wasm/elements/serialize_to_file.v.html new file mode 100644 index 0000000..1b1f134 --- /dev/null +++ b/parity_wasm/elements/serialize_to_file.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.serialize_to_file.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/sidebar-items.js b/parity_wasm/elements/sidebar-items.js new file mode 100644 index 0000000..1947176 --- /dev/null +++ b/parity_wasm/elements/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["BlockType","Block type which is basically `ValueType` + NoResult (to define blocks that have no return type)"],["Error","Deserialization/serialization error"],["External","External to local binding."],["ImportCountType","Type of the import entry to count"],["Instruction","Instruction"],["Internal","Internal reference of the exported entry."],["NameSection","Debug name information."],["RelocationEntry","Relocation entry."],["Section","Section in the WebAssembly module."],["TableElementType","Table element type."],["Type","Type definition in types section. Currently can be only of the function type."],["ValueType","Value type."]],"fn":[["deserialize_buffer","Deserialize deserializable type from buffer."],["deserialize_file","Deserialize module from the file."],["peek_size","Returns size of the module in the provided stream"],["serialize","Create buffer with serialized value."],["serialize_to_file","Serialize module to the file"]],"mod":[["opcodes",""]],"struct":[["CodeSection","Section with function bodies of the module."],["CountedList","List for reading sequence of elements typed `T`, given they are preceded by length (serialized as VarUint32)"],["CountedListWriter","Helper struct to write series of `T` preceded by the length of the sequence serialized as VarUint32"],["CountedWriter","Helper struct to write payload which is preceded by it's own length in bytes."],["CustomSection","Custom section"],["DataSection","Data entries definitions."],["DataSegment","Data segment definition."],["ElementSection","Element entries section."],["ElementSegment","Entry in the element section."],["ExportEntry","Export entry."],["ExportSection","List of exports definition."],["Func","Function signature (type reference)"],["FuncBody","Function body definition."],["FunctionNameSection","The names of the functions in this module."],["FunctionSection","Section with function signatures definition."],["FunctionType","Function signature type."],["GlobalEntry","Global entry in the module."],["GlobalSection","Globals definition section."],["GlobalType","Global definition struct"],["ImportEntry","Import entry."],["ImportSection","Section of the imports definition."],["IndexMap","A map from non-contiguous `u32` keys to values of type `T`, which is serialized and deserialized ascending order of the keys. Normally used for relative dense maps with occasional \"holes\", and stored as an array."],["InitExpr","Initialization expression."],["Instructions","List of instructions (usually inside a block section)."],["Local","Local definition inside the function body."],["LocalNameSection","The names of the local variables in this module's functions."],["MemorySection","Section with table definition (currently only one entry is allowed)."],["MemoryType","Memory entry."],["Module","WebAssembly module"],["ModuleNameSection","The name of this module."],["RelocSection","Relocation information."],["ResizableLimits","Memory limits"],["TableSection","Section with table definition (currently only one is allowed)."],["TableType","Table entry"],["TypeSection","Section with type declarations"],["Uint32","32-bit unsigned integer, encoded in little endian"],["Uint64","64-bit unsigned integer, encoded in little endian"],["Uint8","8-bit unsigned integer, NOT encoded in LEB128; it's just a single byte."],["Unparsed","Unparsed part of the module/section"],["VarInt32","32-bit signed integer, encoded in LEB128 (can be 1-5 bytes length)"],["VarInt64","64-bit signed integer, encoded in LEB128 (can be 1-9 bytes length)"],["VarInt7","7-bit signed integer, encoded in LEB128 (always 1 byte length)"],["VarUint1","VarUint1, 1-bit value (0/1)"],["VarUint32","Unsigned variable-length integer, limited to 32 bits, represented by at most 5 bytes that may contain padding 0x80 bytes."],["VarUint64","Unsigned variable-length integer, limited to 64 bits, represented by at most 9 bytes that may contain padding 0x80 bytes."],["VarUint7","7-bit unsigned integer, encoded in LEB128 (always 1 byte length)"]],"trait":[["Deserialize","Deserialization from serial i/o"],["Serialize","Serialization to serial i/o. Takes self by value to consume less memory (parity-wasm IR is being partially freed by filling the result buffer)."]],"type":[["NameMap","A map from indices to names."]]}); \ No newline at end of file diff --git a/parity_wasm/elements/struct.CodeSection.html b/parity_wasm/elements/struct.CodeSection.html new file mode 100644 index 0000000..53f45a9 --- /dev/null +++ b/parity_wasm/elements/struct.CodeSection.html @@ -0,0 +1,17 @@ +parity_wasm::elements::CodeSection - Rust

Struct parity_wasm::elements::CodeSection[][src]

pub struct CodeSection(_);

Section with function bodies of the module.

+

Methods

impl CodeSection
[src]

New code section with specified function bodies

+

All function bodies in the section.

+

All function bodies in the section, mutable.

+

Trait Implementations

impl Default for CodeSection
[src]

Returns the "default value" for a type. Read more

+

impl Debug for CodeSection
[src]

Formats the value using the given formatter. Read more

+

impl Clone for CodeSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for CodeSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for CodeSection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for CodeSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for CodeSection

impl Sync for CodeSection

\ No newline at end of file diff --git a/parity_wasm/elements/struct.CountedList.html b/parity_wasm/elements/struct.CountedList.html new file mode 100644 index 0000000..e4e21a8 --- /dev/null +++ b/parity_wasm/elements/struct.CountedList.html @@ -0,0 +1,10 @@ +parity_wasm::elements::CountedList - Rust

Struct parity_wasm::elements::CountedList[][src]

pub struct CountedList<T: Deserialize>(_);

List for reading sequence of elements typed T, given +they are preceded by length (serialized as VarUint32)

+

Methods

impl<T: Deserialize> CountedList<T>
[src]

Destroy counted list returing inner vector.

+

Trait Implementations

impl<T: Debug + Deserialize> Debug for CountedList<T>
[src]

Formats the value using the given formatter. Read more

+

impl<T: Clone + Deserialize> Clone for CountedList<T>
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl<T: Deserialize> Deserialize for CountedList<T> where
    T::Error: From<Error>, 
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

Auto Trait Implementations

impl<T> Send for CountedList<T> where
    T: Send

impl<T> Sync for CountedList<T> where
    T: Sync

\ No newline at end of file diff --git a/parity_wasm/elements/struct.CountedListWriter.html b/parity_wasm/elements/struct.CountedListWriter.html new file mode 100644 index 0000000..a9973b4 --- /dev/null +++ b/parity_wasm/elements/struct.CountedListWriter.html @@ -0,0 +1,9 @@ +parity_wasm::elements::CountedListWriter - Rust

Struct parity_wasm::elements::CountedListWriter[][src]

pub struct CountedListWriter<I: Serialize<Error = Error>, T: IntoIterator<Item = I>>(pub usize, pub T);

Helper struct to write series of T preceded by the length of the sequence +serialized as VarUint32

+

Trait Implementations

impl<I: Debug + Serialize<Error = Error>, T: Debug + IntoIterator<Item = I>> Debug for CountedListWriter<I, T>
[src]

Formats the value using the given formatter. Read more

+

impl<I: Clone + Serialize<Error = Error>, T: Clone + IntoIterator<Item = I>> Clone for CountedListWriter<I, T>
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl<I: Serialize<Error = Error>, T: IntoIterator<Item = I>> Serialize for CountedListWriter<I, T>
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl<I, T> Send for CountedListWriter<I, T> where
    T: Send

impl<I, T> Sync for CountedListWriter<I, T> where
    T: Sync

\ No newline at end of file diff --git a/parity_wasm/elements/struct.CountedWriter.html b/parity_wasm/elements/struct.CountedWriter.html new file mode 100644 index 0000000..006c065 --- /dev/null +++ b/parity_wasm/elements/struct.CountedWriter.html @@ -0,0 +1,7 @@ +parity_wasm::elements::CountedWriter - Rust

Struct parity_wasm::elements::CountedWriter[][src]

pub struct CountedWriter<'a, W: 'a + Write> { /* fields omitted */ }

Helper struct to write payload which is preceded by +it's own length in bytes.

+

Methods

impl<'a, W: 'a + Write> CountedWriter<'a, W>
[src]

New counted writer on top of the given serial writer

+

Finish counted writer routing, which writes accumulated length +and actual payload.

+

Trait Implementations

impl<'a, W: Debug + 'a + Write> Debug for CountedWriter<'a, W>
[src]

Formats the value using the given formatter. Read more

+

Auto Trait Implementations

impl<'a, W> Send for CountedWriter<'a, W> where
    W: Send

impl<'a, W> Sync for CountedWriter<'a, W> where
    W: Sync

\ No newline at end of file diff --git a/parity_wasm/elements/struct.CustomSection.html b/parity_wasm/elements/struct.CustomSection.html new file mode 100644 index 0000000..7efd716 --- /dev/null +++ b/parity_wasm/elements/struct.CustomSection.html @@ -0,0 +1,18 @@ +parity_wasm::elements::CustomSection - Rust

Struct parity_wasm::elements::CustomSection[][src]

pub struct CustomSection { /* fields omitted */ }

Custom section

+

Methods

impl CustomSection
[src]

Name of the custom section

+

Payload of the custom secion

+

Name of the custom section (mutable)

+

Payload of the custom section (mutable)

+

Trait Implementations

impl Debug for CustomSection
[src]

Formats the value using the given formatter. Read more

+

impl Default for CustomSection
[src]

Returns the "default value" for a type. Read more

+

impl Clone for CustomSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for CustomSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for CustomSection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for CustomSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.DataSection.html b/parity_wasm/elements/struct.DataSection.html new file mode 100644 index 0000000..8e2c8b8 --- /dev/null +++ b/parity_wasm/elements/struct.DataSection.html @@ -0,0 +1,17 @@ +parity_wasm::elements::DataSection - Rust

Struct parity_wasm::elements::DataSection[][src]

pub struct DataSection(_);

Data entries definitions.

+

Methods

impl DataSection
[src]

New data section

+

List of all data entries in the section

+

List of all data entries in the section (mutable)

+

Trait Implementations

impl Default for DataSection
[src]

Returns the "default value" for a type. Read more

+

impl Debug for DataSection
[src]

Formats the value using the given formatter. Read more

+

impl Clone for DataSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for DataSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for DataSection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for DataSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for DataSection

impl Sync for DataSection

\ No newline at end of file diff --git a/parity_wasm/elements/struct.DataSegment.html b/parity_wasm/elements/struct.DataSegment.html new file mode 100644 index 0000000..c92a594 --- /dev/null +++ b/parity_wasm/elements/struct.DataSegment.html @@ -0,0 +1,19 @@ +parity_wasm::elements::DataSegment - Rust

Struct parity_wasm::elements::DataSegment[][src]

pub struct DataSegment { /* fields omitted */ }

Data segment definition.

+

Methods

impl DataSegment
[src]

New data segments.

+

Linear memory index (currently the only valid value is 0).

+

An i32 initializer expression that computes the offset at which to place the data.

+

An i32 initializer expression that computes the offset at which to place the data (mutable)

+

Initial value of the data segment.

+

Initial value of the data segment (mutable).

+

Trait Implementations

impl Clone for DataSegment
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Debug for DataSegment
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for DataSegment
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for DataSegment
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for DataSegment
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for DataSegment

impl Sync for DataSegment

\ No newline at end of file diff --git a/parity_wasm/elements/struct.ElementSection.html b/parity_wasm/elements/struct.ElementSection.html new file mode 100644 index 0000000..faad8df --- /dev/null +++ b/parity_wasm/elements/struct.ElementSection.html @@ -0,0 +1,17 @@ +parity_wasm::elements::ElementSection - Rust

Struct parity_wasm::elements::ElementSection[][src]

pub struct ElementSection(_);

Element entries section.

+

Methods

impl ElementSection
[src]

New elements section

+

New elements entries in the section

+

List of all data entries in the section (mutable)

+

Trait Implementations

impl Default for ElementSection
[src]

Returns the "default value" for a type. Read more

+

impl Debug for ElementSection
[src]

Formats the value using the given formatter. Read more

+

impl Clone for ElementSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for ElementSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for ElementSection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for ElementSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.ElementSegment.html b/parity_wasm/elements/struct.ElementSegment.html new file mode 100644 index 0000000..496843e --- /dev/null +++ b/parity_wasm/elements/struct.ElementSegment.html @@ -0,0 +1,19 @@ +parity_wasm::elements::ElementSegment - Rust

Struct parity_wasm::elements::ElementSegment[][src]

pub struct ElementSegment { /* fields omitted */ }

Entry in the element section.

+

Methods

impl ElementSegment
[src]

New element segment.

+

Sequence of function indices.

+

Sequence of function indices (mutable)

+

Table index (currently valid only value of 0)

+

An i32 initializer expression that computes the offset at which to place the elements.

+

An i32 initializer expression that computes the offset at which to place the elements (mutable)

+

Trait Implementations

impl Debug for ElementSegment
[src]

Formats the value using the given formatter. Read more

+

impl Clone for ElementSegment
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for ElementSegment
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for ElementSegment
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for ElementSegment
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.ExportEntry.html b/parity_wasm/elements/struct.ExportEntry.html new file mode 100644 index 0000000..9257351 --- /dev/null +++ b/parity_wasm/elements/struct.ExportEntry.html @@ -0,0 +1,18 @@ +parity_wasm::elements::ExportEntry - Rust

Struct parity_wasm::elements::ExportEntry[][src]

pub struct ExportEntry { /* fields omitted */ }

Export entry.

+

Methods

impl ExportEntry
[src]

New export entry

+

Public name

+

Public name (mutable)

+

Internal reference of the export entry.

+

Internal reference of the export entry (mutable).

+

Trait Implementations

impl Debug for ExportEntry
[src]

Formats the value using the given formatter. Read more

+

impl Clone for ExportEntry
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for ExportEntry
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for ExportEntry
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for ExportEntry
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for ExportEntry

impl Sync for ExportEntry

\ No newline at end of file diff --git a/parity_wasm/elements/struct.ExportSection.html b/parity_wasm/elements/struct.ExportSection.html new file mode 100644 index 0000000..ef35d8f --- /dev/null +++ b/parity_wasm/elements/struct.ExportSection.html @@ -0,0 +1,17 @@ +parity_wasm::elements::ExportSection - Rust

Struct parity_wasm::elements::ExportSection[][src]

pub struct ExportSection(_);

List of exports definition.

+

Methods

impl ExportSection
[src]

List of all export entries in the section

+

New export section from list of export entries

+

List of all export entries in the section (mutable)

+

Trait Implementations

impl Debug for ExportSection
[src]

Formats the value using the given formatter. Read more

+

impl Default for ExportSection
[src]

Returns the "default value" for a type. Read more

+

impl Clone for ExportSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for ExportSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for ExportSection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for ExportSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.Func.html b/parity_wasm/elements/struct.Func.html new file mode 100644 index 0000000..f3b614b --- /dev/null +++ b/parity_wasm/elements/struct.Func.html @@ -0,0 +1,16 @@ +parity_wasm::elements::Func - Rust

Struct parity_wasm::elements::Func[][src]

pub struct Func(_);

Function signature (type reference)

+

Methods

impl Func
[src]

New function signature

+

Function signature type reference.

+

Function signature type reference (mutable).

+

Trait Implementations

impl Debug for Func
[src]

Formats the value using the given formatter. Read more

+

impl Copy for Func
[src]

impl Clone for Func
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for Func
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Serialize for Func
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

impl Deserialize for Func
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

Auto Trait Implementations

impl Send for Func

impl Sync for Func

\ No newline at end of file diff --git a/parity_wasm/elements/struct.FuncBody.html b/parity_wasm/elements/struct.FuncBody.html new file mode 100644 index 0000000..78b37ad --- /dev/null +++ b/parity_wasm/elements/struct.FuncBody.html @@ -0,0 +1,20 @@ +parity_wasm::elements::FuncBody - Rust

Struct parity_wasm::elements::FuncBody[][src]

pub struct FuncBody { /* fields omitted */ }

Function body definition.

+

Methods

impl FuncBody
[src]

New function body with given locals and instructions

+

List of individual instructions

+

Locals declared in function body.

+

Instruction list of the function body. Minimal instruction list +is just &[Instruction::End]

+

Locals declared in function body (mutable).

+

Instruction list of the function body (mutable).

+

Trait Implementations

impl Debug for FuncBody
[src]

Formats the value using the given formatter. Read more

+

impl Clone for FuncBody
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for FuncBody
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for FuncBody
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for FuncBody
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for FuncBody

impl Sync for FuncBody

\ No newline at end of file diff --git a/parity_wasm/elements/struct.FunctionNameSection.html b/parity_wasm/elements/struct.FunctionNameSection.html new file mode 100644 index 0000000..4bc4f29 --- /dev/null +++ b/parity_wasm/elements/struct.FunctionNameSection.html @@ -0,0 +1,14 @@ +parity_wasm::elements::FunctionNameSection - Rust

Struct parity_wasm::elements::FunctionNameSection[][src]

pub struct FunctionNameSection { /* fields omitted */ }

The names of the functions in this module.

+

Methods

impl FunctionNameSection
[src]

A map from function indices to names.

+

A map from function indices to names (mutable).

+

Deserialize names, making sure that all names correspond to functions.

+

Trait Implementations

impl Clone for FunctionNameSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Debug for FunctionNameSection
[src]

Formats the value using the given formatter. Read more

+

impl Default for FunctionNameSection
[src]

Returns the "default value" for a type. Read more

+

impl PartialEq for FunctionNameSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Serialize for FunctionNameSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.FunctionSection.html b/parity_wasm/elements/struct.FunctionSection.html new file mode 100644 index 0000000..db41b08 --- /dev/null +++ b/parity_wasm/elements/struct.FunctionSection.html @@ -0,0 +1,17 @@ +parity_wasm::elements::FunctionSection - Rust

Struct parity_wasm::elements::FunctionSection[][src]

pub struct FunctionSection(_);

Section with function signatures definition.

+

Methods

impl FunctionSection
[src]

New function signatures section with provided entries

+

List of all functions in the section, mutable

+

List of all functions in the section

+

Trait Implementations

impl Default for FunctionSection
[src]

Returns the "default value" for a type. Read more

+

impl Debug for FunctionSection
[src]

Formats the value using the given formatter. Read more

+

impl Clone for FunctionSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for FunctionSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for FunctionSection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for FunctionSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.FunctionType.html b/parity_wasm/elements/struct.FunctionType.html new file mode 100644 index 0000000..c5bd05d --- /dev/null +++ b/parity_wasm/elements/struct.FunctionType.html @@ -0,0 +1,20 @@ +parity_wasm::elements::FunctionType - Rust

Struct parity_wasm::elements::FunctionType[][src]

pub struct FunctionType { /* fields omitted */ }

Function signature type.

+

Methods

impl FunctionType
[src]

New function type given the signature in-params(params) and return type (return_type)

+

Function form (currently only valid value is 0x60)

+

Parameters in the function signature.

+

Mutable parameters in the function signature.

+

Return type in the function signature, if any.

+

Mutable type in the function signature, if any.

+

Trait Implementations

impl Debug for FunctionType
[src]

Formats the value using the given formatter. Read more

+

impl Clone for FunctionType
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for FunctionType
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Default for FunctionType
[src]

Returns the "default value" for a type. Read more

+

impl Deserialize for FunctionType
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for FunctionType
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.GlobalEntry.html b/parity_wasm/elements/struct.GlobalEntry.html new file mode 100644 index 0000000..4d96307 --- /dev/null +++ b/parity_wasm/elements/struct.GlobalEntry.html @@ -0,0 +1,18 @@ +parity_wasm::elements::GlobalEntry - Rust

Struct parity_wasm::elements::GlobalEntry[][src]

pub struct GlobalEntry { /* fields omitted */ }

Global entry in the module.

+

Methods

impl GlobalEntry
[src]

New global entry

+

Global type.

+

Initialization expression (instructions) for global.

+

Global type (mutable)

+

Initialization expression (instructions) for global (mutable)

+

Trait Implementations

impl Clone for GlobalEntry
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Debug for GlobalEntry
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for GlobalEntry
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for GlobalEntry
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for GlobalEntry
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for GlobalEntry

impl Sync for GlobalEntry

\ No newline at end of file diff --git a/parity_wasm/elements/struct.GlobalSection.html b/parity_wasm/elements/struct.GlobalSection.html new file mode 100644 index 0000000..9204278 --- /dev/null +++ b/parity_wasm/elements/struct.GlobalSection.html @@ -0,0 +1,17 @@ +parity_wasm::elements::GlobalSection - Rust

Struct parity_wasm::elements::GlobalSection[][src]

pub struct GlobalSection(_);

Globals definition section.

+

Methods

impl GlobalSection
[src]

List of all global entries in the section

+

New global section from list of global entries

+

List of all global entries in the section (mutable)

+

Trait Implementations

impl Default for GlobalSection
[src]

Returns the "default value" for a type. Read more

+

impl Debug for GlobalSection
[src]

Formats the value using the given formatter. Read more

+

impl Clone for GlobalSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for GlobalSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for GlobalSection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for GlobalSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.GlobalType.html b/parity_wasm/elements/struct.GlobalType.html new file mode 100644 index 0000000..4675254 --- /dev/null +++ b/parity_wasm/elements/struct.GlobalType.html @@ -0,0 +1,16 @@ +parity_wasm::elements::GlobalType - Rust

Struct parity_wasm::elements::GlobalType[][src]

pub struct GlobalType { /* fields omitted */ }

Global definition struct

+

Methods

impl GlobalType
[src]

New global type

+

Type of the global entry

+

Is global entry is declared as mutable

+

Trait Implementations

impl Debug for GlobalType
[src]

Formats the value using the given formatter. Read more

+

impl Copy for GlobalType
[src]

impl Clone for GlobalType
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for GlobalType
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for GlobalType
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for GlobalType
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for GlobalType

impl Sync for GlobalType

\ No newline at end of file diff --git a/parity_wasm/elements/struct.ImportEntry.html b/parity_wasm/elements/struct.ImportEntry.html new file mode 100644 index 0000000..7e586ea --- /dev/null +++ b/parity_wasm/elements/struct.ImportEntry.html @@ -0,0 +1,20 @@ +parity_wasm::elements::ImportEntry - Rust

Struct parity_wasm::elements::ImportEntry[][src]

pub struct ImportEntry { /* fields omitted */ }

Import entry.

+

Methods

impl ImportEntry
[src]

New import entry.

+

Module reference of the import entry.

+

Module reference of the import entry (mutable).

+

Field reference of the import entry.

+

Field reference of the import entry (mutable)

+

Local binidng of the import entry.

+

Local binidng of the import entry (mutable)

+

Trait Implementations

impl Debug for ImportEntry
[src]

Formats the value using the given formatter. Read more

+

impl Clone for ImportEntry
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for ImportEntry
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for ImportEntry
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for ImportEntry
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for ImportEntry

impl Sync for ImportEntry

\ No newline at end of file diff --git a/parity_wasm/elements/struct.ImportSection.html b/parity_wasm/elements/struct.ImportSection.html new file mode 100644 index 0000000..b9eef58 --- /dev/null +++ b/parity_wasm/elements/struct.ImportSection.html @@ -0,0 +1,19 @@ +parity_wasm::elements::ImportSection - Rust

Struct parity_wasm::elements::ImportSection[][src]

pub struct ImportSection(_);

Section of the imports definition.

+

Methods

impl ImportSection
[src]

New import section with provided types

+

List of import entries.

+

List of import entries (mutable).

+

Returns number of functions

+

Returns number of globals

+

Trait Implementations

impl Debug for ImportSection
[src]

Formats the value using the given formatter. Read more

+

impl Default for ImportSection
[src]

Returns the "default value" for a type. Read more

+

impl Clone for ImportSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for ImportSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for ImportSection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for ImportSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.IndexMap.html b/parity_wasm/elements/struct.IndexMap.html new file mode 100644 index 0000000..7f2576a --- /dev/null +++ b/parity_wasm/elements/struct.IndexMap.html @@ -0,0 +1,55 @@ +parity_wasm::elements::IndexMap - Rust

Struct parity_wasm::elements::IndexMap[][src]

pub struct IndexMap<T> { /* fields omitted */ }

A map from non-contiguous u32 keys to values of type T, which is +serialized and deserialized ascending order of the keys. Normally used for +relative dense maps with occasional "holes", and stored as an array.

+

SECURITY WARNING: This code is currently subject to a denial of service +attack if you create a map containing the key u32::MAX, which should never +happen in normal data. It would be pretty easy to provide a safe +deserializing mechanism which addressed this problem.

+

Methods

impl<T> IndexMap<T>
[src]

Create an empty IndexMap, preallocating enough space to store +capacity entries without needing to reallocate the underlying memory.

+

Clear the map.

+

Return the name for the specified index, if it exists.

+

Does the map contain an entry for the specified index?

+

Insert a name into our map, returning the existing value if present.

+

Note: This API is designed for reasonably dense indices based on valid +data. Inserting a huge idx will use up a lot of RAM, and this function +will not try to protect you against that.

+

Remove an item if present and return it.

+

The number of items in this map.

+

Is this map empty?

+

Create a non-consuming iterator over this IndexMap's keys and values.

+

Custom deserialization routine.

+

We will allocate an underlying array no larger than max_entry_space to +hold the data, so the maximum index must be less than max_entry_space. +This prevents mallicious *.wasm files from having a single entry with +the index u32::MAX, which would consume far too much memory.

+

The deserialize_value function will be passed the index of the value +being deserialized, and must deserialize the value.

+

impl<T: Deserialize> IndexMap<T> where
    T: Deserialize,
    Error: From<<T as Deserialize>::Error>, 
[src]

Deserialize a map containing simple values that support Deserialize. +We will allocate an underlying array no larger than max_entry_space to +hold the data, so the maximum index must be less than max_entry_space.

+

Trait Implementations

impl<T: Debug> Debug for IndexMap<T>
[src]

Formats the value using the given formatter. Read more

+

impl<T: Default> Default for IndexMap<T>
[src]

Returns the "default value" for a type. Read more

+

impl<T: Clone> Clone for IndexMap<T>
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl<T: PartialEq> PartialEq<IndexMap<T>> for IndexMap<T>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl<T: Eq> Eq for IndexMap<T>
[src]

impl<T> FromIterator<(u32, T)> for IndexMap<T>
[src]

Create an IndexMap from an iterator.

+

Note: This API is designed for reasonably dense indices based on valid +data. Inserting a huge idx will use up a lot of RAM, and this function +will not try to protect you against that.

+

impl<T> IntoIterator for IndexMap<T>
[src]

+

The type of the elements being iterated over.

+

+

Which kind of iterator are we turning this into?

+

Creates an iterator from a value. Read more

+

impl<'a, T: 'static> IntoIterator for &'a IndexMap<T>
[src]

+

The type of the elements being iterated over.

+

+

Which kind of iterator are we turning this into?

+

Creates an iterator from a value. Read more

+

impl<T> Serialize for IndexMap<T> where
    T: Serialize,
    Error: From<<T as Serialize>::Error>, 
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl<T> Send for IndexMap<T> where
    T: Send

impl<T> Sync for IndexMap<T> where
    T: Sync

\ No newline at end of file diff --git a/parity_wasm/elements/struct.InitExpr.html b/parity_wasm/elements/struct.InitExpr.html new file mode 100644 index 0000000..d2491ed --- /dev/null +++ b/parity_wasm/elements/struct.InitExpr.html @@ -0,0 +1,18 @@ +parity_wasm::elements::InitExpr - Rust

Struct parity_wasm::elements::InitExpr[][src]

pub struct InitExpr(_);

Initialization expression.

+

Methods

impl InitExpr
[src]

New initialization expression from instruction list. +code must end with the Instruction::End instruction!

+

Empty expression with only Instruction::End instruction

+

List of instructions used in the expression.

+

List of instructions used in the expression.

+

Trait Implementations

impl Debug for InitExpr
[src]

Formats the value using the given formatter. Read more

+

impl Clone for InitExpr
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for InitExpr
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for InitExpr
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for InitExpr
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for InitExpr

impl Sync for InitExpr

\ No newline at end of file diff --git a/parity_wasm/elements/struct.Instructions.html b/parity_wasm/elements/struct.Instructions.html new file mode 100644 index 0000000..5ea680c --- /dev/null +++ b/parity_wasm/elements/struct.Instructions.html @@ -0,0 +1,17 @@ +parity_wasm::elements::Instructions - Rust

Struct parity_wasm::elements::Instructions[][src]

pub struct Instructions(_);

List of instructions (usually inside a block section).

+

Methods

impl Instructions
[src]

New list of instructions from vector of instructions.

+

Empty expression with only Instruction::End instruction.

+

List of individual instructions.

+

Individual instructions, mutable.

+

Trait Implementations

impl Debug for Instructions
[src]

Formats the value using the given formatter. Read more

+

impl Clone for Instructions
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for Instructions
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for Instructions
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for Instructions
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.Local.html b/parity_wasm/elements/struct.Local.html new file mode 100644 index 0000000..f829390 --- /dev/null +++ b/parity_wasm/elements/struct.Local.html @@ -0,0 +1,16 @@ +parity_wasm::elements::Local - Rust

Struct parity_wasm::elements::Local[][src]

pub struct Local { /* fields omitted */ }

Local definition inside the function body.

+

Methods

impl Local
[src]

New local with count and value_type.

+

Number of locals with the shared type.

+

Type of the locals.

+

Trait Implementations

impl Debug for Local
[src]

Formats the value using the given formatter. Read more

+

impl Copy for Local
[src]

impl Clone for Local
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for Local
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for Local
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for Local
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for Local

impl Sync for Local

\ No newline at end of file diff --git a/parity_wasm/elements/struct.LocalNameSection.html b/parity_wasm/elements/struct.LocalNameSection.html new file mode 100644 index 0000000..0a67a7d --- /dev/null +++ b/parity_wasm/elements/struct.LocalNameSection.html @@ -0,0 +1,16 @@ +parity_wasm::elements::LocalNameSection - Rust

Struct parity_wasm::elements::LocalNameSection[][src]

pub struct LocalNameSection { /* fields omitted */ }

The names of the local variables in this module's functions.

+

Methods

impl LocalNameSection
[src]

A map from function indices to a map from variables indices to names.

+

A map from function indices to a map from variables indices to names +(mutable).

+

Deserialize names, making sure that all names correspond to local +variables.

+

Trait Implementations

impl Clone for LocalNameSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Debug for LocalNameSection
[src]

Formats the value using the given formatter. Read more

+

impl Default for LocalNameSection
[src]

Returns the "default value" for a type. Read more

+

impl PartialEq for LocalNameSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Serialize for LocalNameSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.MemorySection.html b/parity_wasm/elements/struct.MemorySection.html new file mode 100644 index 0000000..9bf83c7 --- /dev/null +++ b/parity_wasm/elements/struct.MemorySection.html @@ -0,0 +1,17 @@ +parity_wasm::elements::MemorySection - Rust

Struct parity_wasm::elements::MemorySection[][src]

pub struct MemorySection(_);

Section with table definition (currently only one entry is allowed).

+

Methods

impl MemorySection
[src]

List of all memory entries in the section

+

New memory section with memory types

+

Mutable list of all memory entries in the section

+

Trait Implementations

impl Default for MemorySection
[src]

Returns the "default value" for a type. Read more

+

impl Debug for MemorySection
[src]

Formats the value using the given formatter. Read more

+

impl Clone for MemorySection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for MemorySection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for MemorySection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for MemorySection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.MemoryType.html b/parity_wasm/elements/struct.MemoryType.html new file mode 100644 index 0000000..52dde0c --- /dev/null +++ b/parity_wasm/elements/struct.MemoryType.html @@ -0,0 +1,15 @@ +parity_wasm::elements::MemoryType - Rust

Struct parity_wasm::elements::MemoryType[][src]

pub struct MemoryType(_);

Memory entry.

+

Methods

impl MemoryType
[src]

New memory definition

+

Limits of the memory entry.

+

Trait Implementations

impl Debug for MemoryType
[src]

Formats the value using the given formatter. Read more

+

impl Copy for MemoryType
[src]

impl Clone for MemoryType
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for MemoryType
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for MemoryType
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for MemoryType
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for MemoryType

impl Sync for MemoryType

\ No newline at end of file diff --git a/parity_wasm/elements/struct.Module.html b/parity_wasm/elements/struct.Module.html new file mode 100644 index 0000000..47c9918 --- /dev/null +++ b/parity_wasm/elements/struct.Module.html @@ -0,0 +1,61 @@ +parity_wasm::elements::Module - Rust

Struct parity_wasm::elements::Module[][src]

pub struct Module { /* fields omitted */ }

WebAssembly module

+

Methods

impl Module
[src]

New module with sections

+

Destructure the module, yielding sections

+

Version of module.

+

Sections list. +Each known section is optional and may appear at most once.

+

Sections list (mutable) +Each known section is optional and may appear at most once.

+

Code section reference, if any.

+

Code section mutable reference, if any.

+

Types section reference, if any.

+

Types section mutable reference, if any.

+

Imports section reference, if any.

+

Imports section mutable reference, if any.

+

Globals section reference, if any.

+

Globals section mutable reference, if any.

+

Exports section reference, if any.

+

Exports section mutable reference, if any.

+

Table section reference, if any.

+

Table section mutable reference, if any.

+

Data section reference, if any.

+

Data section mutable reference, if any.

+

Element section reference, if any.

+

Element section mutable reference, if any.

+

Memory section reference, if any.

+

Memory section mutable reference, if any.

+

Functions signatures section reference, if any.

+

Functions signatures section mutable reference, if any.

+

Start section, if any.

+

Functions signatures section reference, if any. +NOTE: name section is not parsed by default so names_section could return None even if name section exists. +Call parse_names to parse name section

+

Functions signatures section mutable reference, if any. +NOTE: name section is not parsed by default so names_section could return None even if name section exists. +Call parse_names to parse name section

+

Try to parse name section in place +Corresponding custom section with proper header will convert to name sections +If some of them will fail to be decoded, Err variant is returned with the list of +(index, Error) tuples of failed sections.

+

Try to parse reloc section in place +Corresponding custom section with proper header will convert to reloc sections +If some of them will fail to be decoded, Err variant is returned with the list of +(index, Error) tuples of failed sections.

+

Count imports by provided type

+

Query functions space

+

Query globals space

+

Query table space

+

Query memory space

+

Trait Implementations

impl Debug for Module
[src]

Formats the value using the given formatter. Read more

+

impl Clone for Module
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for Module
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Default for Module
[src]

Returns the "default value" for a type. Read more

+

impl Deserialize for Module
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for Module
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for Module

impl Sync for Module

\ No newline at end of file diff --git a/parity_wasm/elements/struct.ModuleNameSection.html b/parity_wasm/elements/struct.ModuleNameSection.html new file mode 100644 index 0000000..305c8bc --- /dev/null +++ b/parity_wasm/elements/struct.ModuleNameSection.html @@ -0,0 +1,16 @@ +parity_wasm::elements::ModuleNameSection - Rust

Struct parity_wasm::elements::ModuleNameSection[][src]

pub struct ModuleNameSection { /* fields omitted */ }

The name of this module.

+

Methods

impl ModuleNameSection
[src]

Create a new module name section with the specified name.

+

The name of this module.

+

The name of this module (mutable).

+

Trait Implementations

impl Clone for ModuleNameSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Debug for ModuleNameSection
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for ModuleNameSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Serialize for ModuleNameSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

impl Deserialize for ModuleNameSection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.RelocSection.html b/parity_wasm/elements/struct.RelocSection.html new file mode 100644 index 0000000..113dfc4 --- /dev/null +++ b/parity_wasm/elements/struct.RelocSection.html @@ -0,0 +1,19 @@ +parity_wasm::elements::RelocSection - Rust

Struct parity_wasm::elements::RelocSection[][src]

pub struct RelocSection { /* fields omitted */ }

Relocation information.

+

Methods

impl RelocSection
[src]

Name of this section.

+

Name of this section (mutable).

+

ID of the section containing the relocations described in this section.

+

ID of the section containing the relocations described in this section (mutable).

+

Name of the section containing the relocations described in this section.

+

Name of the section containing the relocations described in this section (mutable).

+

List of relocation entries.

+

List of relocation entries (mutable).

+

impl RelocSection
[src]

Deserialize a reloc section.

+

Trait Implementations

impl Clone for RelocSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl Debug for RelocSection
[src]

Formats the value using the given formatter. Read more

+

impl PartialEq for RelocSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Serialize for RelocSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.ResizableLimits.html b/parity_wasm/elements/struct.ResizableLimits.html new file mode 100644 index 0000000..ae0bb36 --- /dev/null +++ b/parity_wasm/elements/struct.ResizableLimits.html @@ -0,0 +1,17 @@ +parity_wasm::elements::ResizableLimits - Rust

Struct parity_wasm::elements::ResizableLimits[][src]

pub struct ResizableLimits { /* fields omitted */ }

Memory limits

+

Methods

impl ResizableLimits
[src]

New memory limits definition

+

Initial size

+

Maximum size

+

Whether or not this is a shared array buffer

+

Trait Implementations

impl Debug for ResizableLimits
[src]

Formats the value using the given formatter. Read more

+

impl Copy for ResizableLimits
[src]

impl Clone for ResizableLimits
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for ResizableLimits
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for ResizableLimits
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for ResizableLimits
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.TableSection.html b/parity_wasm/elements/struct.TableSection.html new file mode 100644 index 0000000..243bb67 --- /dev/null +++ b/parity_wasm/elements/struct.TableSection.html @@ -0,0 +1,17 @@ +parity_wasm::elements::TableSection - Rust

Struct parity_wasm::elements::TableSection[][src]

pub struct TableSection(_);

Section with table definition (currently only one is allowed).

+

Methods

impl TableSection
[src]

Table entries.

+

New table section with provided table entries

+

Mutable table entries.

+

Trait Implementations

impl Default for TableSection
[src]

Returns the "default value" for a type. Read more

+

impl Debug for TableSection
[src]

Formats the value using the given formatter. Read more

+

impl Clone for TableSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for TableSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for TableSection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for TableSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

\ No newline at end of file diff --git a/parity_wasm/elements/struct.TableType.html b/parity_wasm/elements/struct.TableType.html new file mode 100644 index 0000000..e772144 --- /dev/null +++ b/parity_wasm/elements/struct.TableType.html @@ -0,0 +1,16 @@ +parity_wasm::elements::TableType - Rust

Struct parity_wasm::elements::TableType[][src]

pub struct TableType { /* fields omitted */ }

Table entry

+

Methods

impl TableType
[src]

New table definition

+

Table memory specification

+

Table element type

+

Trait Implementations

impl Debug for TableType
[src]

Formats the value using the given formatter. Read more

+

impl Copy for TableType
[src]

impl Clone for TableType
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for TableType
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for TableType
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for TableType
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for TableType

impl Sync for TableType

\ No newline at end of file diff --git a/parity_wasm/elements/struct.TypeSection.html b/parity_wasm/elements/struct.TypeSection.html new file mode 100644 index 0000000..d64eb30 --- /dev/null +++ b/parity_wasm/elements/struct.TypeSection.html @@ -0,0 +1,17 @@ +parity_wasm::elements::TypeSection - Rust

Struct parity_wasm::elements::TypeSection[][src]

pub struct TypeSection(_);

Section with type declarations

+

Methods

impl TypeSection
[src]

New type section with provided types

+

List of type declarations

+

List of type declarations (mutable)

+

Trait Implementations

impl Debug for TypeSection
[src]

Formats the value using the given formatter. Read more

+

impl Default for TypeSection
[src]

Returns the "default value" for a type. Read more

+

impl Clone for TypeSection
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for TypeSection
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for TypeSection
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for TypeSection
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for TypeSection

impl Sync for TypeSection

\ No newline at end of file diff --git a/parity_wasm/elements/struct.Uint32.html b/parity_wasm/elements/struct.Uint32.html new file mode 100644 index 0000000..5a5af2c --- /dev/null +++ b/parity_wasm/elements/struct.Uint32.html @@ -0,0 +1,15 @@ +parity_wasm::elements::Uint32 - Rust

Struct parity_wasm::elements::Uint32[][src]

pub struct Uint32(_);

32-bit unsigned integer, encoded in little endian

+

Trait Implementations

impl Debug for Uint32
[src]

Formats the value using the given formatter. Read more

+

impl Copy for Uint32
[src]

impl Clone for Uint32
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for Uint32
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for Uint32
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl From<Uint32> for u32
[src]

Performs the conversion.

+

impl Serialize for Uint32
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

impl From<u32> for Uint32
[src]

Performs the conversion.

+

Auto Trait Implementations

impl Send for Uint32

impl Sync for Uint32

\ No newline at end of file diff --git a/parity_wasm/elements/struct.Uint64.html b/parity_wasm/elements/struct.Uint64.html new file mode 100644 index 0000000..783a641 --- /dev/null +++ b/parity_wasm/elements/struct.Uint64.html @@ -0,0 +1,15 @@ +parity_wasm::elements::Uint64 - Rust

Struct parity_wasm::elements::Uint64[][src]

pub struct Uint64(_);

64-bit unsigned integer, encoded in little endian

+

Trait Implementations

impl Debug for Uint64
[src]

Formats the value using the given formatter. Read more

+

impl Copy for Uint64
[src]

impl Clone for Uint64
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for Uint64
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl Deserialize for Uint64
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for Uint64
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

impl From<u64> for Uint64
[src]

Performs the conversion.

+

impl From<Uint64> for u64
[src]

Performs the conversion.

+

Auto Trait Implementations

impl Send for Uint64

impl Sync for Uint64

\ No newline at end of file diff --git a/parity_wasm/elements/struct.Uint8.html b/parity_wasm/elements/struct.Uint8.html new file mode 100644 index 0000000..324b720 --- /dev/null +++ b/parity_wasm/elements/struct.Uint8.html @@ -0,0 +1,16 @@ +parity_wasm::elements::Uint8 - Rust

Struct parity_wasm::elements::Uint8[][src]

pub struct Uint8(_);

8-bit unsigned integer, NOT encoded in LEB128; +it's just a single byte.

+

Trait Implementations

impl Debug for Uint8
[src]

Formats the value using the given formatter. Read more

+

impl Copy for Uint8
[src]

impl Clone for Uint8
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for Uint8
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl From<Uint8> for u8
[src]

Performs the conversion.

+

impl From<u8> for Uint8
[src]

Performs the conversion.

+

impl Deserialize for Uint8
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for Uint8
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for Uint8

impl Sync for Uint8

\ No newline at end of file diff --git a/parity_wasm/elements/struct.Unparsed.html b/parity_wasm/elements/struct.Unparsed.html new file mode 100644 index 0000000..8ec1de9 --- /dev/null +++ b/parity_wasm/elements/struct.Unparsed.html @@ -0,0 +1,6 @@ +parity_wasm::elements::Unparsed - Rust

Struct parity_wasm::elements::Unparsed[][src]

pub struct Unparsed(pub Vec<u8>);

Unparsed part of the module/section

+

Trait Implementations

impl Deserialize for Unparsed
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl From<Unparsed> for Vec<u8>
[src]

Performs the conversion.

+

Auto Trait Implementations

impl Send for Unparsed

impl Sync for Unparsed

\ No newline at end of file diff --git a/parity_wasm/elements/struct.VarInt32.html b/parity_wasm/elements/struct.VarInt32.html new file mode 100644 index 0000000..405aea3 --- /dev/null +++ b/parity_wasm/elements/struct.VarInt32.html @@ -0,0 +1,15 @@ +parity_wasm::elements::VarInt32 - Rust

Struct parity_wasm::elements::VarInt32[][src]

pub struct VarInt32(_);

32-bit signed integer, encoded in LEB128 (can be 1-5 bytes length)

+

Trait Implementations

impl Debug for VarInt32
[src]

Formats the value using the given formatter. Read more

+

impl Copy for VarInt32
[src]

impl Clone for VarInt32
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for VarInt32
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl From<VarInt32> for i32
[src]

Performs the conversion.

+

impl From<i32> for VarInt32
[src]

Performs the conversion.

+

impl Deserialize for VarInt32
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for VarInt32
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for VarInt32

impl Sync for VarInt32

\ No newline at end of file diff --git a/parity_wasm/elements/struct.VarInt64.html b/parity_wasm/elements/struct.VarInt64.html new file mode 100644 index 0000000..f3def44 --- /dev/null +++ b/parity_wasm/elements/struct.VarInt64.html @@ -0,0 +1,15 @@ +parity_wasm::elements::VarInt64 - Rust

Struct parity_wasm::elements::VarInt64[][src]

pub struct VarInt64(_);

64-bit signed integer, encoded in LEB128 (can be 1-9 bytes length)

+

Trait Implementations

impl Debug for VarInt64
[src]

Formats the value using the given formatter. Read more

+

impl Copy for VarInt64
[src]

impl Clone for VarInt64
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for VarInt64
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl From<VarInt64> for i64
[src]

Performs the conversion.

+

impl From<i64> for VarInt64
[src]

Performs the conversion.

+

impl Deserialize for VarInt64
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for VarInt64
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for VarInt64

impl Sync for VarInt64

\ No newline at end of file diff --git a/parity_wasm/elements/struct.VarInt7.html b/parity_wasm/elements/struct.VarInt7.html new file mode 100644 index 0000000..a329f6e --- /dev/null +++ b/parity_wasm/elements/struct.VarInt7.html @@ -0,0 +1,15 @@ +parity_wasm::elements::VarInt7 - Rust

Struct parity_wasm::elements::VarInt7[][src]

pub struct VarInt7(_);

7-bit signed integer, encoded in LEB128 (always 1 byte length)

+

Trait Implementations

impl Debug for VarInt7
[src]

Formats the value using the given formatter. Read more

+

impl Copy for VarInt7
[src]

impl Clone for VarInt7
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for VarInt7
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl From<VarInt7> for i8
[src]

Performs the conversion.

+

impl From<i8> for VarInt7
[src]

Performs the conversion.

+

impl Deserialize for VarInt7
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for VarInt7
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for VarInt7

impl Sync for VarInt7

\ No newline at end of file diff --git a/parity_wasm/elements/struct.VarUint1.html b/parity_wasm/elements/struct.VarUint1.html new file mode 100644 index 0000000..9603ef7 --- /dev/null +++ b/parity_wasm/elements/struct.VarUint1.html @@ -0,0 +1,15 @@ +parity_wasm::elements::VarUint1 - Rust

Struct parity_wasm::elements::VarUint1[][src]

pub struct VarUint1(_);

VarUint1, 1-bit value (0/1)

+

Trait Implementations

impl Debug for VarUint1
[src]

Formats the value using the given formatter. Read more

+

impl Copy for VarUint1
[src]

impl Clone for VarUint1
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for VarUint1
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl From<VarUint1> for bool
[src]

Performs the conversion.

+

impl From<bool> for VarUint1
[src]

Performs the conversion.

+

impl Deserialize for VarUint1
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for VarUint1
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for VarUint1

impl Sync for VarUint1

\ No newline at end of file diff --git a/parity_wasm/elements/struct.VarUint32.html b/parity_wasm/elements/struct.VarUint32.html new file mode 100644 index 0000000..a0d6b60 --- /dev/null +++ b/parity_wasm/elements/struct.VarUint32.html @@ -0,0 +1,18 @@ +parity_wasm::elements::VarUint32 - Rust

Struct parity_wasm::elements::VarUint32[][src]

pub struct VarUint32(_);

Unsigned variable-length integer, limited to 32 bits, +represented by at most 5 bytes that may contain padding 0x80 bytes.

+

Trait Implementations

impl Debug for VarUint32
[src]

Formats the value using the given formatter. Read more

+

impl Copy for VarUint32
[src]

impl Clone for VarUint32
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for VarUint32
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl From<VarUint32> for usize
[src]

Performs the conversion.

+

impl From<VarUint32> for u32
[src]

Performs the conversion.

+

impl From<u32> for VarUint32
[src]

Performs the conversion.

+

impl From<usize> for VarUint32
[src]

Performs the conversion.

+

impl Deserialize for VarUint32
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for VarUint32
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for VarUint32

impl Sync for VarUint32

\ No newline at end of file diff --git a/parity_wasm/elements/struct.VarUint64.html b/parity_wasm/elements/struct.VarUint64.html new file mode 100644 index 0000000..641261a --- /dev/null +++ b/parity_wasm/elements/struct.VarUint64.html @@ -0,0 +1,16 @@ +parity_wasm::elements::VarUint64 - Rust

Struct parity_wasm::elements::VarUint64[][src]

pub struct VarUint64(_);

Unsigned variable-length integer, limited to 64 bits, +represented by at most 9 bytes that may contain padding 0x80 bytes.

+

Trait Implementations

impl Debug for VarUint64
[src]

Formats the value using the given formatter. Read more

+

impl Copy for VarUint64
[src]

impl Clone for VarUint64
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for VarUint64
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl From<VarUint64> for u64
[src]

Performs the conversion.

+

impl Deserialize for VarUint64
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for VarUint64
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

impl From<u64> for VarUint64
[src]

Performs the conversion.

+

Auto Trait Implementations

impl Send for VarUint64

impl Sync for VarUint64

\ No newline at end of file diff --git a/parity_wasm/elements/struct.VarUint7.html b/parity_wasm/elements/struct.VarUint7.html new file mode 100644 index 0000000..37fba38 --- /dev/null +++ b/parity_wasm/elements/struct.VarUint7.html @@ -0,0 +1,15 @@ +parity_wasm::elements::VarUint7 - Rust

Struct parity_wasm::elements::VarUint7[][src]

pub struct VarUint7(_);

7-bit unsigned integer, encoded in LEB128 (always 1 byte length)

+

Trait Implementations

impl Debug for VarUint7
[src]

Formats the value using the given formatter. Read more

+

impl Copy for VarUint7
[src]

impl Clone for VarUint7
[src]

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

impl PartialEq for VarUint7
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

+

This method tests for !=.

+

impl From<VarUint7> for u8
[src]

Performs the conversion.

+

impl From<u8> for VarUint7
[src]

Performs the conversion.

+

impl Deserialize for VarUint7
[src]

+

Serialization error produced by deserialization routine.

+

Deserialize type from serial i/o

+

impl Serialize for VarUint7
[src]

+

Serialization error produced by serialization routine.

+

Serialize type to serial i/o

+

Auto Trait Implementations

impl Send for VarUint7

impl Sync for VarUint7

\ No newline at end of file diff --git a/parity_wasm/elements/trait.Deserialize.html b/parity_wasm/elements/trait.Deserialize.html new file mode 100644 index 0000000..cd83238 --- /dev/null +++ b/parity_wasm/elements/trait.Deserialize.html @@ -0,0 +1,73 @@ +parity_wasm::elements::Deserialize - Rust

Trait parity_wasm::elements::Deserialize[][src]

pub trait Deserialize: Sized {
+    type Error: From<Error>;
+    fn deserialize<R: Read>(reader: &mut R) -> Result<Self, Self::Error>;
+}

Deserialization from serial i/o

+
+

+ Associated Types +

+
+

Serialization error produced by deserialization routine.

+
+

+ Required Methods +

+
+

Deserialize type from serial i/o

+
+

+ Implementations on Foreign Types +

+

impl Deserialize for String
[src]

+

Implementors

\ No newline at end of file diff --git a/parity_wasm/elements/trait.Serialize.html b/parity_wasm/elements/trait.Serialize.html new file mode 100644 index 0000000..51c1f49 --- /dev/null +++ b/parity_wasm/elements/trait.Serialize.html @@ -0,0 +1,78 @@ +parity_wasm::elements::Serialize - Rust

Trait parity_wasm::elements::Serialize[][src]

pub trait Serialize {
+    type Error: From<Error>;
+    fn serialize<W: Write>(self, writer: &mut W) -> Result<(), Self::Error>;
+}

Serialization to serial i/o. Takes self by value to consume less memory +(parity-wasm IR is being partially freed by filling the result buffer).

+
+

+ Associated Types +

+
+

Serialization error produced by serialization routine.

+
+

+ Required Methods +

+
+

Serialize type to serial i/o

+
+

+ Implementations on Foreign Types +

+

impl Serialize for String
[src]

+

Implementors

\ No newline at end of file diff --git a/parity_wasm/elements/type.NameMap.html b/parity_wasm/elements/type.NameMap.html new file mode 100644 index 0000000..8e3a1cf --- /dev/null +++ b/parity_wasm/elements/type.NameMap.html @@ -0,0 +1,2 @@ +parity_wasm::elements::NameMap - Rust

Type Definition parity_wasm::elements::NameMap[][src]

type NameMap = IndexMap<String>;

A map from indices to names.

+
\ No newline at end of file diff --git a/parity_wasm/elements/types/BlockType.t.html b/parity_wasm/elements/types/BlockType.t.html new file mode 100644 index 0000000..4d77700 --- /dev/null +++ b/parity_wasm/elements/types/BlockType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.BlockType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/types/FunctionType.t.html b/parity_wasm/elements/types/FunctionType.t.html new file mode 100644 index 0000000..4485b36 --- /dev/null +++ b/parity_wasm/elements/types/FunctionType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to struct.FunctionType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/types/TableElementType.t.html b/parity_wasm/elements/types/TableElementType.t.html new file mode 100644 index 0000000..c5bfd30 --- /dev/null +++ b/parity_wasm/elements/types/TableElementType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.TableElementType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/types/Type.t.html b/parity_wasm/elements/types/Type.t.html new file mode 100644 index 0000000..f5fe3f0 --- /dev/null +++ b/parity_wasm/elements/types/Type.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.Type.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/types/ValueType.t.html b/parity_wasm/elements/types/ValueType.t.html new file mode 100644 index 0000000..2809fdd --- /dev/null +++ b/parity_wasm/elements/types/ValueType.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to enum.ValueType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/types/enum.BlockType.html b/parity_wasm/elements/types/enum.BlockType.html new file mode 100644 index 0000000..41bb924 --- /dev/null +++ b/parity_wasm/elements/types/enum.BlockType.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/enum.BlockType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/types/enum.TableElementType.html b/parity_wasm/elements/types/enum.TableElementType.html new file mode 100644 index 0000000..ed660d7 --- /dev/null +++ b/parity_wasm/elements/types/enum.TableElementType.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/enum.TableElementType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/types/enum.Type.html b/parity_wasm/elements/types/enum.Type.html new file mode 100644 index 0000000..68c8e12 --- /dev/null +++ b/parity_wasm/elements/types/enum.Type.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/enum.Type.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/types/enum.ValueType.html b/parity_wasm/elements/types/enum.ValueType.html new file mode 100644 index 0000000..f4f6a87 --- /dev/null +++ b/parity_wasm/elements/types/enum.ValueType.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/enum.ValueType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/elements/types/struct.FunctionType.html b/parity_wasm/elements/types/struct.FunctionType.html new file mode 100644 index 0000000..ba1c19c --- /dev/null +++ b/parity_wasm/elements/types/struct.FunctionType.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../parity_wasm/elements/struct.FunctionType.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/fn.peek_size.html b/parity_wasm/fn.peek_size.html new file mode 100644 index 0000000..e34a503 --- /dev/null +++ b/parity_wasm/fn.peek_size.html @@ -0,0 +1,2 @@ +parity_wasm::peek_size - Rust

Function parity_wasm::peek_size[][src]

pub fn peek_size(source: &[u8]) -> usize

Returns size of the module in the provided stream

+
\ No newline at end of file diff --git a/parity_wasm/index.html b/parity_wasm/index.html new file mode 100644 index 0000000..dd8f71e --- /dev/null +++ b/parity_wasm/index.html @@ -0,0 +1,29 @@ +parity_wasm - Rust

Crate parity_wasm[][src]

WebAssembly format library

+

Re-exports

+
pub use elements::Error as SerializationError;
pub use elements::deserialize_buffer;
pub use elements::serialize;
pub use elements::deserialize_file;
pub use elements::serialize_to_file;

Modules

+ + + + + + + + +
builder +

Various builders to generate/alter wasm components

+ +
elements +

Elements of the WebAssembly binary format.

+ +

Functions

+ + + + +
peek_size +

Returns size of the module in the provided stream

+ +
\ No newline at end of file diff --git a/parity_wasm/peek_size.v.html b/parity_wasm/peek_size.v.html new file mode 100644 index 0000000..7c9be5d --- /dev/null +++ b/parity_wasm/peek_size.v.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to fn.peek_size.html...

+ + + \ No newline at end of file diff --git a/parity_wasm/sidebar-items.js b/parity_wasm/sidebar-items.js new file mode 100644 index 0000000..7407964 --- /dev/null +++ b/parity_wasm/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["peek_size","Returns size of the module in the provided stream"]],"mod":[["builder","Various builders to generate/alter wasm components"],["elements","Elements of the WebAssembly binary format."]]}); \ No newline at end of file diff --git a/rustdoc.css b/rustdoc.css new file mode 100644 index 0000000..d86b9fc --- /dev/null +++ b/rustdoc.css @@ -0,0 +1,12 @@ +/*! + * Copyright 2013 The Rust Project Developers. See the COPYRIGHT + * file at the top-level directory of this distribution and at + * http://rust-lang.org/COPYRIGHT. + * + * Licensed under the Apache License, Version 2.0 or the MIT license + * , at your + * option. This file may not be copied, modified, or distributed + * except according to those terms. + */ +@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff")format('woff');}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff")format('woff');}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:400;src:local('Source Serif Pro'),url("SourceSerifPro-Regular.woff")format('woff');}@font-face {font-family:'Source Serif Pro';font-style:italic;font-weight:400;src:url("Heuristica-Italic.woff")format('woff');}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:700;src:local('Source Serif Pro Bold'),url("SourceSerifPro-Bold.woff")format('woff');}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.woff")format('woff');}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.woff")format('woff');}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}body{font:16px/1.4 "Source Serif Pro",Georgia,Times,"Times New Roman",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod):not(.important),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{border-bottom:1px dashed;margin-top:0;position:relative;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border-bottom:1px solid;}h3.impl,h3.method,h4.method,h3.type,h4.type,h4.associatedconstant{font-weight:600;margin-top:10px;margin-bottom:10px;position:relative;}h3.impl,h3.method,h3.type{padding-left:15px;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.content table :not(code)>a,.collapse-toggle,ul.item-list>li>.out-of-band{font-family:"Fira Sans","Helvetica Neue",Helvetica,Arial,sans-serif;}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:0;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre{font-family:"Source Code Pro",Menlo,Monaco,Consolas,"DejaVu Sans Mono",Inconsolata,monospace;white-space:pre-wrap;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.2em;}.docblock pre code,.docblock-short pre code,.docblock code.spotlight{padding:0;}.docblock code.spotlight :last-child{padding-bottom:0.6em;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;min-width:70em;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;height:100vh;overflow:auto;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.js-only,.hidden{display:none !important;}.sidebar img{margin:20px auto;display:block;margin-top:10px;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-child{font-weight:500;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{margin-top:0;margin-bottom:8px;text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}#search{margin-left:230px;position:relative;}#results{position:absolute;right:0;left:0;overflow:auto;}#results>table{width:100%;table-layout:fixed;}.content pre.line-numbers{float:left;border:none;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short p{display:inline;}.docblock-short.nowrap{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock-short code{white-space:nowrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}#main>.docblock h1{font-size:1.3em;}#main>.docblock h2{font-size:1.15em;}#main>.docblock h3,#main>.docblock h4,#main>.docblock h5{font-size:1em;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{font-size:23px;margin:0px;padding:0px;text-align:right;display:inline-block;font-weight:normal;position:absolute;right:0;}h3.impl>.out-of-band{font-size:21px;}h4.method>.out-of-band{font-size:19px;}ul.item-list>li>.out-of-band{font-size:19px;}h4>code,h3>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.in-band,code{z-index:5;}.invisible{width:100%;display:inline-block;}.content .in-band{margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans","Helvetica Neue",Helvetica,Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:100%;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .item-list li{margin-bottom:1em;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content .method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div:not(.important-traits){margin-left:40px;margin-bottom:15px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .stability{margin-bottom:.6em;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items>h4{border-bottom:0;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.toggle-wrapper.marg-left>.collapse-toggle{left:-24px;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .stability code{font-size:90%;}nav{border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-20px;}.small-section-header>.anchor:not(.field){left:-28px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.stability a{text-decoration:underline;}.block a.current.crate{font-weight:500;}.search-container{position:relative;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{width:calc(100% - 34px);-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;}.search-input:focus{border-radius:2px;border:0;outline:0;box-shadow:0 0 8px #078dd8;}.search-results .desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results a{display:block;}.content .search-results td:first-child{padding-right:0;width:75%;}.content .search-results td:first-child a{padding-right:10px;}.content .search-results td:first-child a span{float:left;}tr.result span.primitive::after{content:' (primitive type)';font-style:italic;}tr.result span.keyword::after{content:' (keyword)';font-style:italic;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:20px;padding-left:17px;}.stab{display:table;border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .microscope{font-size:1.5em;}.module-item .stab{display:inline;border-width:0;padding:0;margin:0;background:inherit !important;}.module-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;position:absolute;right:0;top:0;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.collapse-toggle{font-weight:300;position:absolute;left:-23px;top:0;}h3>.collapse-toggle,h4>.collapse-toggle{font-size:0.8em;top:5px;}.toggle-wrapper>.collapse-toggle{left:-24px;margin-top:0px;}.toggle-wrapper{position:relative;margin-top:0;}.toggle-wrapper.collapsed{height:25px;transition:height .2s;margin-bottom:.6em;}.collapse-toggle>.inner{display:inline-block;width:1.2ch;text-align:center;}.ghost{display:none;}.ghost+.since{position:initial;display:table-cell;}.since+.srclink{display:table-cell;padding-left:10px;}.item-spacer{width:100%;height:12px;}span.since{position:initial;font-size:20px;margin-right:5px;}.toggle-wrapper>.collapse-toggle{left:0;}.variant+.toggle-wrapper+.docblock>p{margin-top:5px;}.sub-variant,.sub-variant>h3{margin-top:0 !important;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.enum>.toggle-wrapper+.docblock,.struct>.toggle-wrapper+.docblock{margin-left:30px;margin-bottom:20px;margin-top:5px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}.enum>.collapsed,.struct>.collapsed{margin-bottom:25px;}#main>.variant,#main>.structfield{display:block;}.attributes{display:block;margin-top:0px !important;margin-right:0px;margin-bottom:0px !important;margin-left:30px;}.toggle-attributes.collapsed{margin-bottom:0;}.impl-items>.toggle-attributes{margin-left:20px;}.impl-items .attributes{font-weight:500;}:target>code{opacity:1;}@media (max-width:700px){body{padding-top:0px;}.sidebar{height:45px;min-height:40px;width:calc(100%+30px);margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:1;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar img{width:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{border-bottom:none;margin-top:12px;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main{margin-top:45px;padding:0;}.content .in-band{width:100%;}.content h4>.out-of-band{position:inherit;}.toggle-wrapper>.collapse-toggle{left:0px;}.toggle-wrapper{height:1.5em;}#search{margin-left:0;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{display:flex;}.anchor{display:none !important;}}@media print{nav.sub,.content .out-of-band,.collapse-toggle{display:none;}}.information{position:absolute;left:-20px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip .tooltiptext{width:120px;display:none;text-align:center;padding:5px 3px;border-radius:6px;margin-left:5px;top:-5px;left:105%;z-index:1;}.tooltip:hover .tooltiptext{display:inline;}.tooltip .tooltiptext::after{content:" ";position:absolute;top:50%;left:11px;margin-top:-5px;border-width:5px;border-style:solid;}.important-traits .tooltip .tooltiptext{border:1px solid;}pre.rust{position:relative;tab-width:4;-moz-tab-width:4;}.search-failed{text-align:center;margin-top:20px;}#titles{height:35px;}#titles>div{float:left;width:33.3%;text-align:center;border-bottom:1px solid;font-size:18px;cursor:pointer;}#titles>div.selected{border-bottom:3px solid;}#titles>div:hover{border-bottom:3px solid;}#titles>div>div.count{display:inline-block;font-size:16px;}.important-traits{cursor:pointer;z-index:2;}h4>.important-traits{position:absolute;left:-44px;top:2px;}@media (max-width:700px){h4>.important-traits{position:absolute;left:-22px;top:24px;}#titles>div>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}.collapse-toggle{left:-20px;}.impl>.collapse-toggle{left:-10px;}}@media (max-width:416px){#titles{height:73px;}#titles>div{height:73px;}}.modal{position:fixed;width:100vw;height:100vh;z-index:10000;top:0;left:0;}.modal-content{display:block;max-width:60%;min-width:200px;padding:8px;top:40%;position:absolute;left:50%;transform:translate(-50%,-40%);border:1px solid;border-radius:4px;border-top-right-radius:0;}.modal-content>.docblock{margin:0;}h3.important{margin:0;margin-bottom:13px;font-size:19px;}.modal-content>.docblock>code.content{margin:0;padding:0;font-size:20px;}.modal-content>.close{position:absolute;font-weight:900;right:-25px;top:-1px;font-size:18px;width:25px;padding-right:2px;border-top-right-radius:5px;border-bottom-right-radius:5px;text-align:center;border:1px solid;border-right:0;cursor:pointer;}.modal-content>.whiter{height:25px;position:absolute;width:3px;right:-2px;top:0px;}#main>div.important-traits{position:absolute;left:-24px;margin-top:16px;}.content>.methods>div.important-traits{position:absolute;left:-42px;margin-top:2px;}kbd{display:inline-block;padding:3px 5px;font:15px "SFMono-Regular",Consolas,"Liberation Mono",Menlo,Courier,monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu{position:absolute;right:0;top:10px;outline:none;}#theme-picker,#settings-menu{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}@media (max-width:700px){.theme-picker{left:10px;top:54px;z-index:1;}}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}.non-exhaustive{margin-bottom:1em;} \ No newline at end of file diff --git a/search-index.js b/search-index.js new file mode 100644 index 0000000..43cd716 --- /dev/null +++ b/search-index.js @@ -0,0 +1,4 @@ +var N = null;var searchIndex = {}; +searchIndex["byteorder"]={"doc":"This crate provides convenience methods for encoding and decoding numbers in either [big-endian or little-endian order].","items":[[4,"BigEndian","byteorder","Defines big-endian serialization.",N,N],[4,"LittleEndian","","Defines little-endian serialization.",N,N],[6,"BE","","A type alias for [`BigEndian`].",N,N],[6,"LE","","A type alias for [`LittleEndian`].",N,N],[6,"NetworkEndian","","Defines network byte order serialization.",N,N],[6,"NativeEndian","","Defines system native-endian serialization.",N,N],[8,"ReadBytesExt","","Extends [`Read`] with methods for reading numbers. (For `std::io`.)",N,N],[11,"read_u8","","Reads an unsigned 8 bit integer from the underlying reader.",0,[[["self"]],["result",["u8"]]]],[11,"read_i8","","Reads a signed 8 bit integer from the underlying reader.",0,[[["self"]],["result",["i8"]]]],[11,"read_u16","","Reads an unsigned 16 bit integer from the underlying reader.",0,[[["self"]],["result",["u16"]]]],[11,"read_i16","","Reads a signed 16 bit integer from the underlying reader.",0,[[["self"]],["result",["i16"]]]],[11,"read_u24","","Reads an unsigned 24 bit integer from the underlying reader.",0,[[["self"]],["result",["u32"]]]],[11,"read_i24","","Reads a signed 24 bit integer from the underlying reader.",0,[[["self"]],["result",["i32"]]]],[11,"read_u32","","Reads an unsigned 32 bit integer from the underlying reader.",0,[[["self"]],["result",["u32"]]]],[11,"read_i32","","Reads a signed 32 bit integer from the underlying reader.",0,[[["self"]],["result",["i32"]]]],[11,"read_u48","","Reads an unsigned 48 bit integer from the underlying reader.",0,[[["self"]],["result",["u64"]]]],[11,"read_i48","","Reads a signed 48 bit integer from the underlying reader.",0,[[["self"]],["result",["i64"]]]],[11,"read_u64","","Reads an unsigned 64 bit integer from the underlying reader.",0,[[["self"]],["result",["u64"]]]],[11,"read_i64","","Reads a signed 64 bit integer from the underlying reader.",0,[[["self"]],["result",["i64"]]]],[11,"read_uint","","Reads an unsigned n-bytes integer from the underlying reader.",0,[[["self"],["usize"]],["result",["u64"]]]],[11,"read_int","","Reads a signed n-bytes integer from the underlying reader.",0,[[["self"],["usize"]],["result",["i64"]]]],[11,"read_f32","","Reads a IEEE754 single-precision (4 bytes) floating point number from the underlying reader.",0,[[["self"]],["result",["f32"]]]],[11,"read_f64","","Reads a IEEE754 double-precision (8 bytes) floating point number from the underlying reader.",0,[[["self"]],["result",["f64"]]]],[11,"read_u16_into","","Reads a sequence of unsigned 16 bit integers from the underlying reader.",0,N],[11,"read_u32_into","","Reads a sequence of unsigned 32 bit integers from the underlying reader.",0,N],[11,"read_u64_into","","Reads a sequence of unsigned 64 bit integers from the underlying reader.",0,N],[11,"read_i16_into","","Reads a sequence of signed 16 bit integers from the underlying reader.",0,N],[11,"read_i32_into","","Reads a sequence of signed 32 bit integers from the underlying reader.",0,N],[11,"read_i64_into","","Reads a sequence of signed 64 bit integers from the underlying reader.",0,N],[11,"read_f32_into","","Reads a sequence of IEEE754 single-precision (4 bytes) floating point numbers from the underlying reader.",0,N],[11,"read_f32_into_unchecked","","DEPRECATED.",0,N],[11,"read_f64_into","","Reads a sequence of IEEE754 double-precision (8 bytes) floating point numbers from the underlying reader.",0,N],[11,"read_f64_into_unchecked","","DEPRECATED.",0,N],[8,"WriteBytesExt","","Extends [`Write`] with methods for writing numbers. (For `std::io`.)",N,N],[11,"write_u8","","Writes an unsigned 8 bit integer to the underlying writer.",1,[[["self"],["u8"]],["result"]]],[11,"write_i8","","Writes a signed 8 bit integer to the underlying writer.",1,[[["self"],["i8"]],["result"]]],[11,"write_u16","","Writes an unsigned 16 bit integer to the underlying writer.",1,[[["self"],["u16"]],["result"]]],[11,"write_i16","","Writes a signed 16 bit integer to the underlying writer.",1,[[["self"],["i16"]],["result"]]],[11,"write_u24","","Writes an unsigned 24 bit integer to the underlying writer.",1,[[["self"],["u32"]],["result"]]],[11,"write_i24","","Writes a signed 24 bit integer to the underlying writer.",1,[[["self"],["i32"]],["result"]]],[11,"write_u32","","Writes an unsigned 32 bit integer to the underlying writer.",1,[[["self"],["u32"]],["result"]]],[11,"write_i32","","Writes a signed 32 bit integer to the underlying writer.",1,[[["self"],["i32"]],["result"]]],[11,"write_u48","","Writes an unsigned 48 bit integer to the underlying writer.",1,[[["self"],["u64"]],["result"]]],[11,"write_i48","","Writes a signed 48 bit integer to the underlying writer.",1,[[["self"],["i64"]],["result"]]],[11,"write_u64","","Writes an unsigned 64 bit integer to the underlying writer.",1,[[["self"],["u64"]],["result"]]],[11,"write_i64","","Writes a signed 64 bit integer to the underlying writer.",1,[[["self"],["i64"]],["result"]]],[11,"write_uint","","Writes an unsigned n-bytes integer to the underlying writer.",1,[[["self"],["u64"],["usize"]],["result"]]],[11,"write_int","","Writes a signed n-bytes integer to the underlying writer.",1,[[["self"],["i64"],["usize"]],["result"]]],[11,"write_f32","","Writes a IEEE754 single-precision (4 bytes) floating point number to the underlying writer.",1,[[["self"],["f32"]],["result"]]],[11,"write_f64","","Writes a IEEE754 double-precision (8 bytes) floating point number to the underlying writer.",1,[[["self"],["f64"]],["result"]]],[8,"ByteOrder","","`ByteOrder` describes types that can serialize integers as bytes.",N,N],[10,"read_u16","","Reads an unsigned 16 bit integer from `buf`.",2,N],[11,"read_u24","","Reads an unsigned 24 bit integer from `buf`, stored in u32.",2,N],[10,"read_u32","","Reads an unsigned 32 bit integer from `buf`.",2,N],[11,"read_u48","","Reads an unsigned 48 bit integer from `buf`, stored in u64.",2,N],[10,"read_u64","","Reads an unsigned 64 bit integer from `buf`.",2,N],[10,"read_uint","","Reads an unsigned n-bytes integer from `buf`.",2,N],[10,"write_u16","","Writes an unsigned 16 bit integer `n` to `buf`.",2,N],[11,"write_u24","","Writes an unsigned 24 bit integer `n` to `buf`, stored in u32.",2,N],[10,"write_u32","","Writes an unsigned 32 bit integer `n` to `buf`.",2,N],[11,"write_u48","","Writes an unsigned 48 bit integer `n` to `buf`, stored in u64.",2,N],[10,"write_u64","","Writes an unsigned 64 bit integer `n` to `buf`.",2,N],[10,"write_uint","","Writes an unsigned integer `n` to `buf` using only `nbytes`.",2,N],[11,"read_i16","","Reads a signed 16 bit integer from `buf`.",2,N],[11,"read_i24","","Reads a signed 24 bit integer from `buf`, stored in i32.",2,N],[11,"read_i32","","Reads a signed 32 bit integer from `buf`.",2,N],[11,"read_i48","","Reads a signed 48 bit integer from `buf`, stored in i64.",2,N],[11,"read_i64","","Reads a signed 64 bit integer from `buf`.",2,N],[11,"read_int","","Reads a signed n-bytes integer from `buf`.",2,N],[11,"read_f32","","Reads a IEEE754 single-precision (4 bytes) floating point number.",2,N],[11,"read_f64","","Reads a IEEE754 double-precision (8 bytes) floating point number.",2,N],[11,"write_i16","","Writes a signed 16 bit integer `n` to `buf`.",2,N],[11,"write_i24","","Writes a signed 24 bit integer `n` to `buf`, stored in i32.",2,N],[11,"write_i32","","Writes a signed 32 bit integer `n` to `buf`.",2,N],[11,"write_i48","","Writes a signed 48 bit integer `n` to `buf`, stored in i64.",2,N],[11,"write_i64","","Writes a signed 64 bit integer `n` to `buf`.",2,N],[11,"write_int","","Writes a signed integer `n` to `buf` using only `nbytes`.",2,N],[11,"write_f32","","Writes a IEEE754 single-precision (4 bytes) floating point number.",2,N],[11,"write_f64","","Writes a IEEE754 double-precision (8 bytes) floating point number.",2,N],[10,"read_u16_into","","Reads unsigned 16 bit integers from `src` into `dst`.",2,N],[10,"read_u32_into","","Reads unsigned 32 bit integers from `src` into `dst`.",2,N],[10,"read_u64_into","","Reads unsigned 64 bit integers from `src` into `dst`.",2,N],[11,"read_i16_into","","Reads signed 16 bit integers from `src` to `dst`.",2,N],[11,"read_i32_into","","Reads signed 32 bit integers from `src` into `dst`.",2,N],[11,"read_i64_into","","Reads signed 64 bit integers from `src` into `dst`.",2,N],[11,"read_f32_into_unchecked","","Reads IEEE754 single-precision (4 bytes) floating point numbers from `src` into `dst`.",2,N],[11,"read_f64_into_unchecked","","Reads IEEE754 single-precision (4 bytes) floating point numbers from `src` into `dst`.",2,N],[10,"write_u16_into","","Writes unsigned 16 bit integers from `src` into `dst`.",2,N],[10,"write_u32_into","","Writes unsigned 32 bit integers from `src` into `dst`.",2,N],[10,"write_u64_into","","Writes unsigned 64 bit integers from `src` into `dst`.",2,N],[11,"write_i16_into","","Writes signed 16 bit integers from `src` into `dst`.",2,N],[11,"write_i32_into","","Writes signed 32 bit integers from `src` into `dst`.",2,N],[11,"write_i64_into","","Writes signed 64 bit integers from `src` into `dst`.",2,N],[11,"write_f32_into","","Writes IEEE754 single-precision (4 bytes) floating point numbers from `src` into `dst`.",2,N],[11,"write_f64_into","","Writes IEEE754 double-precision (8 bytes) floating point numbers from `src` into `dst`.",2,N],[10,"from_slice_u16","","Converts the given slice of unsigned 16 bit integers to a particular endianness.",2,N],[10,"from_slice_u32","","Converts the given slice of unsigned 32 bit integers to a particular endianness.",2,N],[10,"from_slice_u64","","Converts the given slice of unsigned 64 bit integers to a particular endianness.",2,N],[11,"from_slice_i16","","Converts the given slice of signed 16 bit integers to a particular endianness.",2,N],[11,"from_slice_i32","","Converts the given slice of signed 32 bit integers to a particular endianness.",2,N],[11,"from_slice_i64","","Converts the given slice of signed 64 bit integers to a particular endianness.",2,N],[10,"from_slice_f32","","Converts the given slice of IEEE754 single-precision (4 bytes) floating point numbers to a particular endianness.",2,N],[10,"from_slice_f64","","Converts the given slice of IEEE754 double-precision (8 bytes) floating point numbers to a particular endianness.",2,N],[11,"clone","","",3,[[["self"]],["bigendian"]]],[11,"fmt","","",3,[[["self"],["formatter"]],["result"]]],[11,"hash","","",3,N],[11,"cmp","","",3,[[["self"],["bigendian"]],["ordering"]]],[11,"eq","","",3,[[["self"],["bigendian"]],["bool"]]],[11,"partial_cmp","","",3,[[["self"],["bigendian"]],["option",["ordering"]]]],[11,"default","","",3,[[],["bigendian"]]],[11,"clone","","",4,[[["self"]],["littleendian"]]],[11,"fmt","","",4,[[["self"],["formatter"]],["result"]]],[11,"hash","","",4,N],[11,"cmp","","",4,[[["self"],["littleendian"]],["ordering"]]],[11,"eq","","",4,[[["self"],["littleendian"]],["bool"]]],[11,"partial_cmp","","",4,[[["self"],["littleendian"]],["option",["ordering"]]]],[11,"default","","",4,[[],["littleendian"]]],[11,"read_u16","","",3,N],[11,"read_u32","","",3,N],[11,"read_u64","","",3,N],[11,"read_uint","","",3,N],[11,"write_u16","","",3,N],[11,"write_u32","","",3,N],[11,"write_u64","","",3,N],[11,"write_uint","","",3,N],[11,"read_u16_into","","",3,N],[11,"read_u32_into","","",3,N],[11,"read_u64_into","","",3,N],[11,"write_u16_into","","",3,N],[11,"write_u32_into","","",3,N],[11,"write_u64_into","","",3,N],[11,"from_slice_u16","","",3,N],[11,"from_slice_u32","","",3,N],[11,"from_slice_u64","","",3,N],[11,"from_slice_f32","","",3,N],[11,"from_slice_f64","","",3,N],[11,"read_u16","","",4,N],[11,"read_u32","","",4,N],[11,"read_u64","","",4,N],[11,"read_uint","","",4,N],[11,"write_u16","","",4,N],[11,"write_u32","","",4,N],[11,"write_u64","","",4,N],[11,"write_uint","","",4,N],[11,"read_u16_into","","",4,N],[11,"read_u32_into","","",4,N],[11,"read_u64_into","","",4,N],[11,"write_u16_into","","",4,N],[11,"write_u32_into","","",4,N],[11,"write_u64_into","","",4,N],[11,"from_slice_u16","","",4,N],[11,"from_slice_u32","","",4,N],[11,"from_slice_u64","","",4,N],[11,"from_slice_f32","","",4,N],[11,"from_slice_f64","","",4,N],[11,"read_u8","","Reads an unsigned 8 bit integer from the underlying reader.",0,[[["self"]],["result",["u8"]]]],[11,"read_i8","","Reads a signed 8 bit integer from the underlying reader.",0,[[["self"]],["result",["i8"]]]],[11,"read_u16","","Reads an unsigned 16 bit integer from the underlying reader.",0,[[["self"]],["result",["u16"]]]],[11,"read_i16","","Reads a signed 16 bit integer from the underlying reader.",0,[[["self"]],["result",["i16"]]]],[11,"read_u24","","Reads an unsigned 24 bit integer from the underlying reader.",0,[[["self"]],["result",["u32"]]]],[11,"read_i24","","Reads a signed 24 bit integer from the underlying reader.",0,[[["self"]],["result",["i32"]]]],[11,"read_u32","","Reads an unsigned 32 bit integer from the underlying reader.",0,[[["self"]],["result",["u32"]]]],[11,"read_i32","","Reads a signed 32 bit integer from the underlying reader.",0,[[["self"]],["result",["i32"]]]],[11,"read_u48","","Reads an unsigned 48 bit integer from the underlying reader.",0,[[["self"]],["result",["u64"]]]],[11,"read_i48","","Reads a signed 48 bit integer from the underlying reader.",0,[[["self"]],["result",["i64"]]]],[11,"read_u64","","Reads an unsigned 64 bit integer from the underlying reader.",0,[[["self"]],["result",["u64"]]]],[11,"read_i64","","Reads a signed 64 bit integer from the underlying reader.",0,[[["self"]],["result",["i64"]]]],[11,"read_uint","","Reads an unsigned n-bytes integer from the underlying reader.",0,[[["self"],["usize"]],["result",["u64"]]]],[11,"read_int","","Reads a signed n-bytes integer from the underlying reader.",0,[[["self"],["usize"]],["result",["i64"]]]],[11,"read_f32","","Reads a IEEE754 single-precision (4 bytes) floating point number from the underlying reader.",0,[[["self"]],["result",["f32"]]]],[11,"read_f64","","Reads a IEEE754 double-precision (8 bytes) floating point number from the underlying reader.",0,[[["self"]],["result",["f64"]]]],[11,"read_u16_into","","Reads a sequence of unsigned 16 bit integers from the underlying reader.",0,N],[11,"read_u32_into","","Reads a sequence of unsigned 32 bit integers from the underlying reader.",0,N],[11,"read_u64_into","","Reads a sequence of unsigned 64 bit integers from the underlying reader.",0,N],[11,"read_i16_into","","Reads a sequence of signed 16 bit integers from the underlying reader.",0,N],[11,"read_i32_into","","Reads a sequence of signed 32 bit integers from the underlying reader.",0,N],[11,"read_i64_into","","Reads a sequence of signed 64 bit integers from the underlying reader.",0,N],[11,"read_f32_into","","Reads a sequence of IEEE754 single-precision (4 bytes) floating point numbers from the underlying reader.",0,N],[11,"read_f32_into_unchecked","","DEPRECATED.",0,N],[11,"read_f64_into","","Reads a sequence of IEEE754 double-precision (8 bytes) floating point numbers from the underlying reader.",0,N],[11,"read_f64_into_unchecked","","DEPRECATED.",0,N],[11,"write_u8","","Writes an unsigned 8 bit integer to the underlying writer.",1,[[["self"],["u8"]],["result"]]],[11,"write_i8","","Writes a signed 8 bit integer to the underlying writer.",1,[[["self"],["i8"]],["result"]]],[11,"write_u16","","Writes an unsigned 16 bit integer to the underlying writer.",1,[[["self"],["u16"]],["result"]]],[11,"write_i16","","Writes a signed 16 bit integer to the underlying writer.",1,[[["self"],["i16"]],["result"]]],[11,"write_u24","","Writes an unsigned 24 bit integer to the underlying writer.",1,[[["self"],["u32"]],["result"]]],[11,"write_i24","","Writes a signed 24 bit integer to the underlying writer.",1,[[["self"],["i32"]],["result"]]],[11,"write_u32","","Writes an unsigned 32 bit integer to the underlying writer.",1,[[["self"],["u32"]],["result"]]],[11,"write_i32","","Writes a signed 32 bit integer to the underlying writer.",1,[[["self"],["i32"]],["result"]]],[11,"write_u48","","Writes an unsigned 48 bit integer to the underlying writer.",1,[[["self"],["u64"]],["result"]]],[11,"write_i48","","Writes a signed 48 bit integer to the underlying writer.",1,[[["self"],["i64"]],["result"]]],[11,"write_u64","","Writes an unsigned 64 bit integer to the underlying writer.",1,[[["self"],["u64"]],["result"]]],[11,"write_i64","","Writes a signed 64 bit integer to the underlying writer.",1,[[["self"],["i64"]],["result"]]],[11,"write_uint","","Writes an unsigned n-bytes integer to the underlying writer.",1,[[["self"],["u64"],["usize"]],["result"]]],[11,"write_int","","Writes a signed n-bytes integer to the underlying writer.",1,[[["self"],["i64"],["usize"]],["result"]]],[11,"write_f32","","Writes a IEEE754 single-precision (4 bytes) floating point number to the underlying writer.",1,[[["self"],["f32"]],["result"]]],[11,"write_f64","","Writes a IEEE754 double-precision (8 bytes) floating point number to the underlying writer.",1,[[["self"],["f64"]],["result"]]]],"paths":[[8,"ReadBytesExt"],[8,"WriteBytesExt"],[8,"ByteOrder"],[4,"BigEndian"],[4,"LittleEndian"]]}; +searchIndex["parity_wasm"]={"doc":"WebAssembly format library","items":[[5,"peek_size","parity_wasm","Returns size of the module in the provided stream",N,N],[0,"elements","","Elements of the WebAssembly binary format.",N,N],[3,"Module","parity_wasm::elements","WebAssembly module",N,N],[3,"FunctionSection","","Section with function signatures definition.",N,N],[3,"CodeSection","","Section with function bodies of the module.",N,N],[3,"MemorySection","","Section with table definition (currently only one entry is allowed).",N,N],[3,"DataSection","","Data entries definitions.",N,N],[3,"ImportSection","","Section of the imports definition.",N,N],[3,"ExportSection","","List of exports definition.",N,N],[3,"GlobalSection","","Globals definition section.",N,N],[3,"TypeSection","","Section with type declarations",N,N],[3,"ElementSection","","Element entries section.",N,N],[3,"TableSection","","Section with table definition (currently only one is allowed).",N,N],[3,"CustomSection","","Custom section",N,N],[3,"ImportEntry","","Import entry.",N,N],[3,"ResizableLimits","","Memory limits",N,N],[3,"MemoryType","","Memory entry.",N,N],[3,"TableType","","Table entry",N,N],[3,"GlobalType","","Global definition struct",N,N],[3,"ExportEntry","","Export entry.",N,N],[3,"GlobalEntry","","Global entry in the module.",N,N],[3,"VarUint32","","Unsigned variable-length integer, limited to 32 bits, represented by at most 5 bytes that may contain padding 0x80 bytes.",N,N],[3,"VarUint7","","7-bit unsigned integer, encoded in LEB128 (always 1 byte length)",N,N],[3,"Uint8","","8-bit unsigned integer, NOT encoded in LEB128; it's just a single byte.",N,N],[3,"VarUint1","","VarUint1, 1-bit value (0/1)",N,N],[3,"VarInt7","","7-bit signed integer, encoded in LEB128 (always 1 byte length)",N,N],[3,"Uint32","","32-bit unsigned integer, encoded in little endian",N,N],[3,"VarInt32","","32-bit signed integer, encoded in LEB128 (can be 1-5 bytes length)",N,N],[3,"VarInt64","","64-bit signed integer, encoded in LEB128 (can be 1-9 bytes length)",N,N],[3,"Uint64","","64-bit unsigned integer, encoded in little endian",N,N],[3,"VarUint64","","Unsigned variable-length integer, limited to 64 bits, represented by at most 9 bytes that may contain padding 0x80 bytes.",N,N],[3,"CountedList","","List for reading sequence of elements typed `T`, given they are preceded by length (serialized as VarUint32)",N,N],[3,"CountedWriter","","Helper struct to write payload which is preceded by it's own length in bytes.",N,N],[3,"CountedListWriter","","Helper struct to write series of `T` preceded by the length of the sequence serialized as VarUint32",N,N],[12,"0","","",0,N],[12,"1","","",0,N],[3,"FunctionType","","Function signature type.",N,N],[3,"Instructions","","List of instructions (usually inside a block section).",N,N],[3,"InitExpr","","Initialization expression.",N,N],[3,"Func","","Function signature (type reference)",N,N],[3,"FuncBody","","Function body definition.",N,N],[3,"Local","","Local definition inside the function body.",N,N],[3,"ElementSegment","","Entry in the element section.",N,N],[3,"DataSegment","","Data segment definition.",N,N],[3,"IndexMap","","A map from non-contiguous `u32` keys to values of type `T`, which is serialized and deserialized ascending order of the keys. Normally used for relative dense maps with occasional \"holes\", and stored as an array.",N,N],[3,"ModuleNameSection","","The name of this module.",N,N],[3,"FunctionNameSection","","The names of the functions in this module.",N,N],[3,"LocalNameSection","","The names of the local variables in this module's functions.",N,N],[3,"RelocSection","","Relocation information.",N,N],[3,"Unparsed","","Unparsed part of the module/section",N,N],[12,"0","","",1,N],[4,"ImportCountType","","Type of the import entry to count",N,N],[13,"Function","","Count functions",2,N],[13,"Global","","Count globals",2,N],[13,"Table","","Count tables",2,N],[13,"Memory","","Count memories",2,N],[4,"Section","","Section in the WebAssembly module.",N,N],[13,"Unparsed","","Section is unparsed.",3,N],[12,"id","parity_wasm::elements::Section","id of the unparsed section",3,N],[12,"payload","","raw bytes of the unparsed section",3,N],[13,"Custom","parity_wasm::elements","Custom section (`id=0`)",3,N],[13,"Type","","Types section",3,N],[13,"Import","","Import section",3,N],[13,"Function","","Function signatures section",3,N],[13,"Table","","Table definition section",3,N],[13,"Memory","","Memory definition section",3,N],[13,"Global","","Global entries section",3,N],[13,"Export","","Export definitions",3,N],[13,"Start","","Entry reference of the module",3,N],[13,"Element","","Elements section",3,N],[13,"Code","","Function bodies section",3,N],[13,"Data","","Data definition section",3,N],[13,"Name","","Name section.",3,N],[13,"Reloc","","Relocation section.",3,N],[4,"External","","External to local binding.",N,N],[13,"Function","","Binds to function with index.",4,N],[13,"Table","","Describes local table definition to be imported as.",4,N],[13,"Memory","","Describes local memory definition to be imported as.",4,N],[13,"Global","","Describes local global entry to be imported as.",4,N],[4,"Internal","","Internal reference of the exported entry.",N,N],[13,"Function","","Function reference.",5,N],[13,"Table","","Table reference.",5,N],[13,"Memory","","Memory reference.",5,N],[13,"Global","","Global reference.",5,N],[4,"Type","","Type definition in types section. Currently can be only of the function type.",N,N],[13,"Function","","Function type.",6,N],[4,"ValueType","","Value type.",N,N],[13,"I32","","32-bit signed integer",7,N],[13,"I64","","64-bit signed integer",7,N],[13,"F32","","32-bit float",7,N],[13,"F64","","64-bit float",7,N],[13,"V128","","128-bit SIMD register",7,N],[4,"BlockType","","Block type which is basically `ValueType` + NoResult (to define blocks that have no return type)",N,N],[13,"Value","","Value-type specified block type",8,N],[13,"NoResult","","No specified block type",8,N],[4,"TableElementType","","Table element type.",N,N],[13,"AnyFunc","","A reference to a function with any signature.",9,N],[4,"Instruction","","Instruction",N,N],[13,"Unreachable","","",10,N],[13,"Nop","","",10,N],[13,"Block","","",10,N],[13,"Loop","","",10,N],[13,"If","","",10,N],[13,"Else","","",10,N],[13,"End","","",10,N],[13,"Br","","",10,N],[13,"BrIf","","",10,N],[13,"BrTable","","",10,N],[13,"Return","","",10,N],[13,"Call","","",10,N],[13,"CallIndirect","","",10,N],[13,"Drop","","",10,N],[13,"Select","","",10,N],[13,"GetLocal","","",10,N],[13,"SetLocal","","",10,N],[13,"TeeLocal","","",10,N],[13,"GetGlobal","","",10,N],[13,"SetGlobal","","",10,N],[13,"I32Load","","",10,N],[13,"I64Load","","",10,N],[13,"F32Load","","",10,N],[13,"F64Load","","",10,N],[13,"I32Load8S","","",10,N],[13,"I32Load8U","","",10,N],[13,"I32Load16S","","",10,N],[13,"I32Load16U","","",10,N],[13,"I64Load8S","","",10,N],[13,"I64Load8U","","",10,N],[13,"I64Load16S","","",10,N],[13,"I64Load16U","","",10,N],[13,"I64Load32S","","",10,N],[13,"I64Load32U","","",10,N],[13,"I32Store","","",10,N],[13,"I64Store","","",10,N],[13,"F32Store","","",10,N],[13,"F64Store","","",10,N],[13,"I32Store8","","",10,N],[13,"I32Store16","","",10,N],[13,"I64Store8","","",10,N],[13,"I64Store16","","",10,N],[13,"I64Store32","","",10,N],[13,"CurrentMemory","","",10,N],[13,"GrowMemory","","",10,N],[13,"I32Const","","",10,N],[13,"I64Const","","",10,N],[13,"F32Const","","",10,N],[13,"F64Const","","",10,N],[13,"I32Eqz","","",10,N],[13,"I32Eq","","",10,N],[13,"I32Ne","","",10,N],[13,"I32LtS","","",10,N],[13,"I32LtU","","",10,N],[13,"I32GtS","","",10,N],[13,"I32GtU","","",10,N],[13,"I32LeS","","",10,N],[13,"I32LeU","","",10,N],[13,"I32GeS","","",10,N],[13,"I32GeU","","",10,N],[13,"I64Eqz","","",10,N],[13,"I64Eq","","",10,N],[13,"I64Ne","","",10,N],[13,"I64LtS","","",10,N],[13,"I64LtU","","",10,N],[13,"I64GtS","","",10,N],[13,"I64GtU","","",10,N],[13,"I64LeS","","",10,N],[13,"I64LeU","","",10,N],[13,"I64GeS","","",10,N],[13,"I64GeU","","",10,N],[13,"F32Eq","","",10,N],[13,"F32Ne","","",10,N],[13,"F32Lt","","",10,N],[13,"F32Gt","","",10,N],[13,"F32Le","","",10,N],[13,"F32Ge","","",10,N],[13,"F64Eq","","",10,N],[13,"F64Ne","","",10,N],[13,"F64Lt","","",10,N],[13,"F64Gt","","",10,N],[13,"F64Le","","",10,N],[13,"F64Ge","","",10,N],[13,"I32Clz","","",10,N],[13,"I32Ctz","","",10,N],[13,"I32Popcnt","","",10,N],[13,"I32Add","","",10,N],[13,"I32Sub","","",10,N],[13,"I32Mul","","",10,N],[13,"I32DivS","","",10,N],[13,"I32DivU","","",10,N],[13,"I32RemS","","",10,N],[13,"I32RemU","","",10,N],[13,"I32And","","",10,N],[13,"I32Or","","",10,N],[13,"I32Xor","","",10,N],[13,"I32Shl","","",10,N],[13,"I32ShrS","","",10,N],[13,"I32ShrU","","",10,N],[13,"I32Rotl","","",10,N],[13,"I32Rotr","","",10,N],[13,"I64Clz","","",10,N],[13,"I64Ctz","","",10,N],[13,"I64Popcnt","","",10,N],[13,"I64Add","","",10,N],[13,"I64Sub","","",10,N],[13,"I64Mul","","",10,N],[13,"I64DivS","","",10,N],[13,"I64DivU","","",10,N],[13,"I64RemS","","",10,N],[13,"I64RemU","","",10,N],[13,"I64And","","",10,N],[13,"I64Or","","",10,N],[13,"I64Xor","","",10,N],[13,"I64Shl","","",10,N],[13,"I64ShrS","","",10,N],[13,"I64ShrU","","",10,N],[13,"I64Rotl","","",10,N],[13,"I64Rotr","","",10,N],[13,"F32Abs","","",10,N],[13,"F32Neg","","",10,N],[13,"F32Ceil","","",10,N],[13,"F32Floor","","",10,N],[13,"F32Trunc","","",10,N],[13,"F32Nearest","","",10,N],[13,"F32Sqrt","","",10,N],[13,"F32Add","","",10,N],[13,"F32Sub","","",10,N],[13,"F32Mul","","",10,N],[13,"F32Div","","",10,N],[13,"F32Min","","",10,N],[13,"F32Max","","",10,N],[13,"F32Copysign","","",10,N],[13,"F64Abs","","",10,N],[13,"F64Neg","","",10,N],[13,"F64Ceil","","",10,N],[13,"F64Floor","","",10,N],[13,"F64Trunc","","",10,N],[13,"F64Nearest","","",10,N],[13,"F64Sqrt","","",10,N],[13,"F64Add","","",10,N],[13,"F64Sub","","",10,N],[13,"F64Mul","","",10,N],[13,"F64Div","","",10,N],[13,"F64Min","","",10,N],[13,"F64Max","","",10,N],[13,"F64Copysign","","",10,N],[13,"I32WrapI64","","",10,N],[13,"I32TruncSF32","","",10,N],[13,"I32TruncUF32","","",10,N],[13,"I32TruncSF64","","",10,N],[13,"I32TruncUF64","","",10,N],[13,"I64ExtendSI32","","",10,N],[13,"I64ExtendUI32","","",10,N],[13,"I64TruncSF32","","",10,N],[13,"I64TruncUF32","","",10,N],[13,"I64TruncSF64","","",10,N],[13,"I64TruncUF64","","",10,N],[13,"F32ConvertSI32","","",10,N],[13,"F32ConvertUI32","","",10,N],[13,"F32ConvertSI64","","",10,N],[13,"F32ConvertUI64","","",10,N],[13,"F32DemoteF64","","",10,N],[13,"F64ConvertSI32","","",10,N],[13,"F64ConvertUI32","","",10,N],[13,"F64ConvertSI64","","",10,N],[13,"F64ConvertUI64","","",10,N],[13,"F64PromoteF32","","",10,N],[13,"I32ReinterpretF32","","",10,N],[13,"I64ReinterpretF64","","",10,N],[13,"F32ReinterpretI32","","",10,N],[13,"F64ReinterpretI64","","",10,N],[13,"I32Extend8S","","",10,N],[13,"I32Extend16S","","",10,N],[13,"I64Extend8S","","",10,N],[13,"I64Extend16S","","",10,N],[13,"I64Extend32S","","",10,N],[13,"AtomicWake","","",10,N],[13,"I32AtomicWait","","",10,N],[13,"I64AtomicWait","","",10,N],[13,"I32AtomicLoad","","",10,N],[13,"I64AtomicLoad","","",10,N],[13,"I32AtomicLoad8u","","",10,N],[13,"I32AtomicLoad16u","","",10,N],[13,"I64AtomicLoad8u","","",10,N],[13,"I64AtomicLoad16u","","",10,N],[13,"I64AtomicLoad32u","","",10,N],[13,"I32AtomicStore","","",10,N],[13,"I64AtomicStore","","",10,N],[13,"I32AtomicStore8u","","",10,N],[13,"I32AtomicStore16u","","",10,N],[13,"I64AtomicStore8u","","",10,N],[13,"I64AtomicStore16u","","",10,N],[13,"I64AtomicStore32u","","",10,N],[13,"I32AtomicRmwAdd","","",10,N],[13,"I64AtomicRmwAdd","","",10,N],[13,"I32AtomicRmwAdd8u","","",10,N],[13,"I32AtomicRmwAdd16u","","",10,N],[13,"I64AtomicRmwAdd8u","","",10,N],[13,"I64AtomicRmwAdd16u","","",10,N],[13,"I64AtomicRmwAdd32u","","",10,N],[13,"I32AtomicRmwSub","","",10,N],[13,"I64AtomicRmwSub","","",10,N],[13,"I32AtomicRmwSub8u","","",10,N],[13,"I32AtomicRmwSub16u","","",10,N],[13,"I64AtomicRmwSub8u","","",10,N],[13,"I64AtomicRmwSub16u","","",10,N],[13,"I64AtomicRmwSub32u","","",10,N],[13,"I32AtomicRmwAnd","","",10,N],[13,"I64AtomicRmwAnd","","",10,N],[13,"I32AtomicRmwAnd8u","","",10,N],[13,"I32AtomicRmwAnd16u","","",10,N],[13,"I64AtomicRmwAnd8u","","",10,N],[13,"I64AtomicRmwAnd16u","","",10,N],[13,"I64AtomicRmwAnd32u","","",10,N],[13,"I32AtomicRmwOr","","",10,N],[13,"I64AtomicRmwOr","","",10,N],[13,"I32AtomicRmwOr8u","","",10,N],[13,"I32AtomicRmwOr16u","","",10,N],[13,"I64AtomicRmwOr8u","","",10,N],[13,"I64AtomicRmwOr16u","","",10,N],[13,"I64AtomicRmwOr32u","","",10,N],[13,"I32AtomicRmwXor","","",10,N],[13,"I64AtomicRmwXor","","",10,N],[13,"I32AtomicRmwXor8u","","",10,N],[13,"I32AtomicRmwXor16u","","",10,N],[13,"I64AtomicRmwXor8u","","",10,N],[13,"I64AtomicRmwXor16u","","",10,N],[13,"I64AtomicRmwXor32u","","",10,N],[13,"I32AtomicRmwXchg","","",10,N],[13,"I64AtomicRmwXchg","","",10,N],[13,"I32AtomicRmwXchg8u","","",10,N],[13,"I32AtomicRmwXchg16u","","",10,N],[13,"I64AtomicRmwXchg8u","","",10,N],[13,"I64AtomicRmwXchg16u","","",10,N],[13,"I64AtomicRmwXchg32u","","",10,N],[13,"I32AtomicRmwCmpxchg","","",10,N],[13,"I64AtomicRmwCmpxchg","","",10,N],[13,"I32AtomicRmwCmpxchg8u","","",10,N],[13,"I32AtomicRmwCmpxchg16u","","",10,N],[13,"I64AtomicRmwCmpxchg8u","","",10,N],[13,"I64AtomicRmwCmpxchg16u","","",10,N],[13,"I64AtomicRmwCmpxchg32u","","",10,N],[13,"V128Const","","",10,N],[13,"V128Load","","",10,N],[13,"V128Store","","",10,N],[13,"I8x16Splat","","",10,N],[13,"I16x8Splat","","",10,N],[13,"I32x4Splat","","",10,N],[13,"I64x2Splat","","",10,N],[13,"F32x4Splat","","",10,N],[13,"F64x2Splat","","",10,N],[13,"I8x16ExtractLaneS","","",10,N],[13,"I8x16ExtractLaneU","","",10,N],[13,"I16x8ExtractLaneS","","",10,N],[13,"I16x8ExtractLaneU","","",10,N],[13,"I32x4ExtractLane","","",10,N],[13,"I64x2ExtractLane","","",10,N],[13,"F32x4ExtractLane","","",10,N],[13,"F64x2ExtractLane","","",10,N],[13,"I8x16ReplaceLane","","",10,N],[13,"I16x8ReplaceLane","","",10,N],[13,"I32x4ReplaceLane","","",10,N],[13,"I64x2ReplaceLane","","",10,N],[13,"F32x4ReplaceLane","","",10,N],[13,"F64x2ReplaceLane","","",10,N],[13,"V8x16Shuffle","","",10,N],[13,"I8x16Add","","",10,N],[13,"I16x8Add","","",10,N],[13,"I32x4Add","","",10,N],[13,"I64x2Add","","",10,N],[13,"I8x16Sub","","",10,N],[13,"I16x8Sub","","",10,N],[13,"I32x4Sub","","",10,N],[13,"I64x2Sub","","",10,N],[13,"I8x16Mul","","",10,N],[13,"I16x8Mul","","",10,N],[13,"I32x4Mul","","",10,N],[13,"I8x16Neg","","",10,N],[13,"I16x8Neg","","",10,N],[13,"I32x4Neg","","",10,N],[13,"I64x2Neg","","",10,N],[13,"I8x16AddSaturateS","","",10,N],[13,"I8x16AddSaturateU","","",10,N],[13,"I16x8AddSaturateS","","",10,N],[13,"I16x8AddSaturateU","","",10,N],[13,"I8x16SubSaturateS","","",10,N],[13,"I8x16SubSaturateU","","",10,N],[13,"I16x8SubSaturateS","","",10,N],[13,"I16x8SubSaturateU","","",10,N],[13,"I8x16Shl","","",10,N],[13,"I16x8Shl","","",10,N],[13,"I32x4Shl","","",10,N],[13,"I64x2Shl","","",10,N],[13,"I8x16ShrS","","",10,N],[13,"I8x16ShrU","","",10,N],[13,"I16x8ShrS","","",10,N],[13,"I16x8ShrU","","",10,N],[13,"I32x4ShrS","","",10,N],[13,"I32x4ShrU","","",10,N],[13,"I64x2ShrS","","",10,N],[13,"I64x2ShrU","","",10,N],[13,"V128And","","",10,N],[13,"V128Or","","",10,N],[13,"V128Xor","","",10,N],[13,"V128Not","","",10,N],[13,"V128Bitselect","","",10,N],[13,"I8x16AnyTrue","","",10,N],[13,"I16x8AnyTrue","","",10,N],[13,"I32x4AnyTrue","","",10,N],[13,"I64x2AnyTrue","","",10,N],[13,"I8x16AllTrue","","",10,N],[13,"I16x8AllTrue","","",10,N],[13,"I32x4AllTrue","","",10,N],[13,"I64x2AllTrue","","",10,N],[13,"I8x16Eq","","",10,N],[13,"I16x8Eq","","",10,N],[13,"I32x4Eq","","",10,N],[13,"F32x4Eq","","",10,N],[13,"F64x2Eq","","",10,N],[13,"I8x16Ne","","",10,N],[13,"I16x8Ne","","",10,N],[13,"I32x4Ne","","",10,N],[13,"F32x4Ne","","",10,N],[13,"F64x2Ne","","",10,N],[13,"I8x16LtS","","",10,N],[13,"I8x16LtU","","",10,N],[13,"I16x8LtS","","",10,N],[13,"I16x8LtU","","",10,N],[13,"I32x4LtS","","",10,N],[13,"I32x4LtU","","",10,N],[13,"F32x4Lt","","",10,N],[13,"F64x2Lt","","",10,N],[13,"I8x16LeS","","",10,N],[13,"I8x16LeU","","",10,N],[13,"I16x8LeS","","",10,N],[13,"I16x8LeU","","",10,N],[13,"I32x4LeS","","",10,N],[13,"I32x4LeU","","",10,N],[13,"F32x4Le","","",10,N],[13,"F64x2Le","","",10,N],[13,"I8x16GtS","","",10,N],[13,"I8x16GtU","","",10,N],[13,"I16x8GtS","","",10,N],[13,"I16x8GtU","","",10,N],[13,"I32x4GtS","","",10,N],[13,"I32x4GtU","","",10,N],[13,"F32x4Gt","","",10,N],[13,"F64x2Gt","","",10,N],[13,"I8x16GeS","","",10,N],[13,"I8x16GeU","","",10,N],[13,"I16x8GeS","","",10,N],[13,"I16x8GeU","","",10,N],[13,"I32x4GeS","","",10,N],[13,"I32x4GeU","","",10,N],[13,"F32x4Ge","","",10,N],[13,"F64x2Ge","","",10,N],[13,"F32x4Neg","","",10,N],[13,"F64x2Neg","","",10,N],[13,"F32x4Abs","","",10,N],[13,"F64x2Abs","","",10,N],[13,"F32x4Min","","",10,N],[13,"F64x2Min","","",10,N],[13,"F32x4Max","","",10,N],[13,"F64x2Max","","",10,N],[13,"F32x4Add","","",10,N],[13,"F64x2Add","","",10,N],[13,"F32x4Sub","","",10,N],[13,"F64x2Sub","","",10,N],[13,"F32x4Div","","",10,N],[13,"F64x2Div","","",10,N],[13,"F32x4Mul","","",10,N],[13,"F64x2Mul","","",10,N],[13,"F32x4Sqrt","","",10,N],[13,"F64x2Sqrt","","",10,N],[13,"F32x4ConvertSI32x4","","",10,N],[13,"F32x4ConvertUI32x4","","",10,N],[13,"F64x2ConvertSI64x2","","",10,N],[13,"F64x2ConvertUI64x2","","",10,N],[13,"I32x4TruncSF32x4Sat","","",10,N],[13,"I32x4TruncUF32x4Sat","","",10,N],[13,"I64x2TruncSF64x2Sat","","",10,N],[13,"I64x2TruncUF64x2Sat","","",10,N],[4,"NameSection","","Debug name information.",N,N],[13,"Module","","Module name section.",11,N],[13,"Function","","Function name section.",11,N],[13,"Local","","Local name section.",11,N],[13,"Unparsed","","Name section is unparsed.",11,N],[12,"name_type","parity_wasm::elements::NameSection","The numeric identifier for this name section type.",11,N],[12,"name_payload","","The contents of this name section, unparsed.",11,N],[4,"RelocationEntry","parity_wasm::elements","Relocation entry.",N,N],[13,"FunctionIndexLeb","","Function index.",12,N],[12,"offset","parity_wasm::elements::RelocationEntry","Offset of the value to rewrite.",12,N],[12,"index","","Index of the function symbol in the symbol table.",12,N],[13,"TableIndexSleb","parity_wasm::elements","Function table index.",12,N],[12,"offset","parity_wasm::elements::RelocationEntry","Offset of the value to rewrite.",12,N],[12,"index","","Index of the function symbol in the symbol table.",12,N],[13,"TableIndexI32","parity_wasm::elements","Function table index.",12,N],[12,"offset","parity_wasm::elements::RelocationEntry","Offset of the value to rewrite.",12,N],[12,"index","","Index of the function symbol in the symbol table.",12,N],[13,"MemoryAddressLeb","parity_wasm::elements","Linear memory index.",12,N],[12,"offset","parity_wasm::elements::RelocationEntry","Offset of the value to rewrite.",12,N],[12,"index","","Index of the data symbol in the symbol table.",12,N],[12,"addend","","Addend to add to the address.",12,N],[13,"MemoryAddressSleb","parity_wasm::elements","Linear memory index.",12,N],[12,"offset","parity_wasm::elements::RelocationEntry","Offset of the value to rewrite.",12,N],[12,"index","","Index of the data symbol in the symbol table.",12,N],[12,"addend","","Addend to add to the address.",12,N],[13,"MemoryAddressI32","parity_wasm::elements","Linear memory index.",12,N],[12,"offset","parity_wasm::elements::RelocationEntry","Offset of the value to rewrite.",12,N],[12,"index","","Index of the data symbol in the symbol table.",12,N],[12,"addend","","Addend to add to the address.",12,N],[13,"TypeIndexLeb","parity_wasm::elements","Type table index.",12,N],[12,"offset","parity_wasm::elements::RelocationEntry","Offset of the value to rewrite.",12,N],[12,"index","","Index of the type used.",12,N],[13,"GlobalIndexLeb","parity_wasm::elements","Global index.",12,N],[12,"offset","parity_wasm::elements::RelocationEntry","Offset of the value to rewrite.",12,N],[12,"index","","Index of the global symbol in the symbol table.",12,N],[4,"Error","parity_wasm::elements","Deserialization/serialization error",N,N],[13,"UnexpectedEof","","Unexpected end of input",13,N],[13,"InvalidMagic","","Invalid magic",13,N],[13,"UnsupportedVersion","","Unsupported version",13,N],[13,"InconsistentLength","","Inconsistence between declared and actual length",13,N],[12,"expected","parity_wasm::elements::Error","Expected length of the definition",13,N],[12,"actual","","Actual length of the definition",13,N],[13,"Other","parity_wasm::elements","Other static error",13,N],[13,"HeapOther","","Other allocated error",13,N],[13,"UnknownValueType","","Invalid/unknown value type declaration",13,N],[13,"UnknownTableElementType","","Invalid/unknown table element type declaration",13,N],[13,"NonUtf8String","","Non-utf8 string",13,N],[13,"UnknownExternalKind","","Unknown external kind code",13,N],[13,"UnknownInternalKind","","Unknown internal kind code",13,N],[13,"UnknownOpcode","","Unknown opcode encountered",13,N],[13,"UnknownSimdOpcode","","Unknown SIMD opcode encountered",13,N],[13,"InvalidVarUint1","","Invalid VarUint1 value",13,N],[13,"InvalidVarInt32","","Invalid VarInt32 value",13,N],[13,"InvalidVarInt64","","Invalid VarInt64 value",13,N],[13,"InvalidVarUint32","","Invalid VarUint32 value",13,N],[13,"InvalidVarUint64","","Invalid VarUint64 value",13,N],[13,"InconsistentMetadata","","Inconsistent metadata",13,N],[13,"InvalidSectionId","","Invalid section id",13,N],[13,"SectionsOutOfOrder","","Sections are out of order",13,N],[13,"DuplicatedSections","","Duplicated sections",13,N],[13,"InvalidMemoryReference","","Invalid memory reference (should be 0)",13,N],[13,"InvalidTableReference","","Invalid table reference (should be 0)",13,N],[13,"UnknownFunctionForm","","Unknown function form (should be 0x60)",13,N],[13,"InvalidVarInt7","","Invalid varint7 (should be in -64..63 range)",13,N],[13,"InconsistentCode","","Number of function body entries and signatures does not match",13,N],[5,"peek_size","","Returns size of the module in the provided stream",N,N],[5,"deserialize_buffer","","Deserialize deserializable type from buffer.",N,N],[5,"serialize","","Create buffer with serialized value.",N,[[["t"]],["result",["vec"]]]],[5,"deserialize_file","","Deserialize module from the file.",N,[[["p"]],["result",["module","error"]]]],[5,"serialize_to_file","","Serialize module to the file",N,[[["p"],["module"]],["result",["error"]]]],[11,"fmt","","",14,[[["self"],["formatter"]],["result"]]],[11,"clone","","",14,[[["self"]],["varuint32"]]],[11,"eq","","",14,[[["self"],["varuint32"]],["bool"]]],[11,"ne","","",14,[[["self"],["varuint32"]],["bool"]]],[11,"from","","",14,[[["u32"]],["varuint32"]]],[11,"from","","",14,[[["usize"]],["varuint32"]]],[11,"deserialize","","",14,[[["r"]],["result"]]],[11,"serialize","","",14,[[["self"],["w"]],["result"]]],[11,"fmt","","",15,[[["self"],["formatter"]],["result"]]],[11,"clone","","",15,[[["self"]],["varuint64"]]],[11,"eq","","",15,[[["self"],["varuint64"]],["bool"]]],[11,"ne","","",15,[[["self"],["varuint64"]],["bool"]]],[11,"deserialize","","",15,[[["r"]],["result"]]],[11,"serialize","","",15,[[["self"],["w"]],["result"]]],[11,"from","","",15,[[["u64"]],["varuint64"]]],[11,"fmt","","",16,[[["self"],["formatter"]],["result"]]],[11,"clone","","",16,[[["self"]],["varuint7"]]],[11,"eq","","",16,[[["self"],["varuint7"]],["bool"]]],[11,"ne","","",16,[[["self"],["varuint7"]],["bool"]]],[11,"from","","",16,[[["u8"]],["self"]]],[11,"deserialize","","",16,[[["r"]],["result"]]],[11,"serialize","","",16,[[["self"],["w"]],["result"]]],[11,"fmt","","",17,[[["self"],["formatter"]],["result"]]],[11,"clone","","",17,[[["self"]],["varint7"]]],[11,"eq","","",17,[[["self"],["varint7"]],["bool"]]],[11,"ne","","",17,[[["self"],["varint7"]],["bool"]]],[11,"from","","",17,[[["i8"]],["varint7"]]],[11,"deserialize","","",17,[[["r"]],["result"]]],[11,"serialize","","",17,[[["self"],["w"]],["result"]]],[11,"fmt","","",18,[[["self"],["formatter"]],["result"]]],[11,"clone","","",18,[[["self"]],["uint8"]]],[11,"eq","","",18,[[["self"],["uint8"]],["bool"]]],[11,"ne","","",18,[[["self"],["uint8"]],["bool"]]],[11,"from","","",18,[[["u8"]],["self"]]],[11,"deserialize","","",18,[[["r"]],["result"]]],[11,"serialize","","",18,[[["self"],["w"]],["result"]]],[11,"fmt","","",19,[[["self"],["formatter"]],["result"]]],[11,"clone","","",19,[[["self"]],["varint32"]]],[11,"eq","","",19,[[["self"],["varint32"]],["bool"]]],[11,"ne","","",19,[[["self"],["varint32"]],["bool"]]],[11,"from","","",19,[[["i32"]],["varint32"]]],[11,"deserialize","","",19,[[["r"]],["result"]]],[11,"serialize","","",19,[[["self"],["w"]],["result"]]],[11,"fmt","","",20,[[["self"],["formatter"]],["result"]]],[11,"clone","","",20,[[["self"]],["varint64"]]],[11,"eq","","",20,[[["self"],["varint64"]],["bool"]]],[11,"ne","","",20,[[["self"],["varint64"]],["bool"]]],[11,"from","","",20,[[["i64"]],["varint64"]]],[11,"deserialize","","",20,[[["r"]],["result"]]],[11,"serialize","","",20,[[["self"],["w"]],["result"]]],[11,"fmt","","",21,[[["self"],["formatter"]],["result"]]],[11,"clone","","",21,[[["self"]],["uint32"]]],[11,"eq","","",21,[[["self"],["uint32"]],["bool"]]],[11,"ne","","",21,[[["self"],["uint32"]],["bool"]]],[11,"deserialize","","",21,[[["r"]],["result"]]],[11,"serialize","","",21,[[["self"],["w"]],["result"]]],[11,"from","","",21,[[["u32"]],["self"]]],[11,"fmt","","",22,[[["self"],["formatter"]],["result"]]],[11,"clone","","",22,[[["self"]],["uint64"]]],[11,"eq","","",22,[[["self"],["uint64"]],["bool"]]],[11,"ne","","",22,[[["self"],["uint64"]],["bool"]]],[11,"deserialize","","",22,[[["r"]],["result"]]],[11,"serialize","","",22,[[["self"],["w"]],["result"]]],[11,"from","","",22,[[["u64"]],["self"]]],[11,"fmt","","",23,[[["self"],["formatter"]],["result"]]],[11,"clone","","",23,[[["self"]],["varuint1"]]],[11,"eq","","",23,[[["self"],["varuint1"]],["bool"]]],[11,"ne","","",23,[[["self"],["varuint1"]],["bool"]]],[11,"from","","",23,[[["bool"]],["self"]]],[11,"deserialize","","",23,[[["r"]],["result"]]],[11,"serialize","","",23,[[["self"],["w"]],["result"]]],[11,"fmt","","",24,[[["self"],["formatter"]],["result"]]],[11,"clone","","",24,[[["self"]],["countedlist"]]],[11,"into_inner","","Destroy counted list returing inner vector.",24,[[["self"]],["vec"]]],[11,"deserialize","","",24,[[["r"]],["result"]]],[11,"fmt","","",25,[[["self"],["formatter"]],["result"]]],[11,"new","","New counted writer on top of the given serial writer",25,[[["w"]],["self"]]],[11,"done","","Finish counted writer routing, which writes accumulated length and actual payload.",25,[[["self"]],["result",["error"]]]],[11,"fmt","","",0,[[["self"],["formatter"]],["result"]]],[11,"clone","","",0,[[["self"]],["countedlistwriter"]]],[11,"serialize","","",0,[[["self"],["w"]],["result"]]],[11,"fmt","","",26,[[["self"],["formatter"]],["result"]]],[11,"clone","","",26,[[["self"]],["module"]]],[11,"eq","","",26,[[["self"],["module"]],["bool"]]],[11,"ne","","",26,[[["self"],["module"]],["bool"]]],[11,"fmt","","",2,[[["self"],["formatter"]],["result"]]],[11,"clone","","",2,[[["self"]],["importcounttype"]]],[11,"eq","","",2,[[["self"],["importcounttype"]],["bool"]]],[11,"default","","",26,[[],["self"]]],[11,"new","","New module with sections",26,[[["vec",["section"]]],["self"]]],[11,"into_sections","","Destructure the module, yielding sections",26,[[["self"]],["vec",["section"]]]],[11,"version","","Version of module.",26,[[["self"]],["u32"]]],[11,"sections","","Sections list. Each known section is optional and may appear at most once.",26,N],[11,"sections_mut","","Sections list (mutable) Each known section is optional and may appear at most once.",26,[[["self"]],["vec"]]],[11,"code_section","","Code section reference, if any.",26,[[["self"]],["option",["codesection"]]]],[11,"code_section_mut","","Code section mutable reference, if any.",26,[[["self"]],["option",["codesection"]]]],[11,"type_section","","Types section reference, if any.",26,[[["self"]],["option",["typesection"]]]],[11,"type_section_mut","","Types section mutable reference, if any.",26,[[["self"]],["option",["typesection"]]]],[11,"import_section","","Imports section reference, if any.",26,[[["self"]],["option",["importsection"]]]],[11,"import_section_mut","","Imports section mutable reference, if any.",26,[[["self"]],["option",["importsection"]]]],[11,"global_section","","Globals section reference, if any.",26,[[["self"]],["option",["globalsection"]]]],[11,"global_section_mut","","Globals section mutable reference, if any.",26,[[["self"]],["option",["globalsection"]]]],[11,"export_section","","Exports section reference, if any.",26,[[["self"]],["option",["exportsection"]]]],[11,"export_section_mut","","Exports section mutable reference, if any.",26,[[["self"]],["option",["exportsection"]]]],[11,"table_section","","Table section reference, if any.",26,[[["self"]],["option",["tablesection"]]]],[11,"table_section_mut","","Table section mutable reference, if any.",26,[[["self"]],["option",["tablesection"]]]],[11,"data_section","","Data section reference, if any.",26,[[["self"]],["option",["datasection"]]]],[11,"data_section_mut","","Data section mutable reference, if any.",26,[[["self"]],["option",["datasection"]]]],[11,"elements_section","","Element section reference, if any.",26,[[["self"]],["option",["elementsection"]]]],[11,"elements_section_mut","","Element section mutable reference, if any.",26,[[["self"]],["option",["elementsection"]]]],[11,"memory_section","","Memory section reference, if any.",26,[[["self"]],["option",["memorysection"]]]],[11,"memory_section_mut","","Memory section mutable reference, if any.",26,[[["self"]],["option",["memorysection"]]]],[11,"function_section","","Functions signatures section reference, if any.",26,[[["self"]],["option",["functionsection"]]]],[11,"function_section_mut","","Functions signatures section mutable reference, if any.",26,[[["self"]],["option",["functionsection"]]]],[11,"start_section","","Start section, if any.",26,[[["self"]],["option",["u32"]]]],[11,"names_section","","Functions signatures section reference, if any. NOTE: name section is not parsed by default so `names_section` could return None even if name section exists. Call `parse_names` to parse name section",26,[[["self"]],["option",["namesection"]]]],[11,"names_section_mut","","Functions signatures section mutable reference, if any. NOTE: name section is not parsed by default so `names_section` could return None even if name section exists. Call `parse_names` to parse name section",26,[[["self"]],["option",["namesection"]]]],[11,"parse_names","","Try to parse name section in place Corresponding custom section with proper header will convert to name sections If some of them will fail to be decoded, Err variant is returned with the list of (index, Error) tuples of failed sections.",26,[[["self"]],["result"]]],[11,"parse_reloc","","Try to parse reloc section in place Corresponding custom section with proper header will convert to reloc sections If some of them will fail to be decoded, Err variant is returned with the list of (index, Error) tuples of failed sections.",26,[[["self"]],["result"]]],[11,"import_count","","Count imports by provided type",26,[[["self"],["importcounttype"]],["usize"]]],[11,"functions_space","","Query functions space",26,[[["self"]],["usize"]]],[11,"globals_space","","Query globals space",26,[[["self"]],["usize"]]],[11,"table_space","","Query table space",26,[[["self"]],["usize"]]],[11,"memory_space","","Query memory space",26,[[["self"]],["usize"]]],[11,"deserialize","","",26,[[["r"]],["result"]]],[11,"serialize","","",26,[[["self"],["w"]],["result"]]],[11,"fmt","","",3,[[["self"],["formatter"]],["result"]]],[11,"clone","","",3,[[["self"]],["section"]]],[11,"eq","","",3,[[["self"],["section"]],["bool"]]],[11,"ne","","",3,[[["self"],["section"]],["bool"]]],[11,"deserialize","","",3,[[["r"]],["result"]]],[11,"serialize","","",3,[[["self"],["w"]],["result"]]],[11,"fmt","","",27,[[["self"],["formatter"]],["result"]]],[11,"default","","",27,[[],["customsection"]]],[11,"clone","","",27,[[["self"]],["customsection"]]],[11,"eq","","",27,[[["self"],["customsection"]],["bool"]]],[11,"ne","","",27,[[["self"],["customsection"]],["bool"]]],[11,"name","","Name of the custom section",27,[[["self"]],["str"]]],[11,"payload","","Payload of the custom secion",27,N],[11,"name_mut","","Name of the custom section (mutable)",27,[[["self"]],["string"]]],[11,"payload_mut","","Payload of the custom section (mutable)",27,[[["self"]],["vec"]]],[11,"deserialize","","",27,[[["r"]],["result"]]],[11,"serialize","","",27,[[["self"],["w"]],["result"]]],[11,"fmt","","",28,[[["self"],["formatter"]],["result"]]],[11,"default","","",28,[[],["typesection"]]],[11,"clone","","",28,[[["self"]],["typesection"]]],[11,"eq","","",28,[[["self"],["typesection"]],["bool"]]],[11,"ne","","",28,[[["self"],["typesection"]],["bool"]]],[11,"with_types","","New type section with provided types",28,[[["vec",["type"]]],["self"]]],[11,"types","","List of type declarations",28,N],[11,"types_mut","","List of type declarations (mutable)",28,[[["self"]],["vec"]]],[11,"deserialize","","",28,[[["r"]],["result"]]],[11,"serialize","","",28,[[["self"],["w"]],["result"]]],[11,"fmt","","",29,[[["self"],["formatter"]],["result"]]],[11,"default","","",29,[[],["importsection"]]],[11,"clone","","",29,[[["self"]],["importsection"]]],[11,"eq","","",29,[[["self"],["importsection"]],["bool"]]],[11,"ne","","",29,[[["self"],["importsection"]],["bool"]]],[11,"with_entries","","New import section with provided types",29,[[["vec",["importentry"]]],["self"]]],[11,"entries","","List of import entries.",29,N],[11,"entries_mut","","List of import entries (mutable).",29,[[["self"]],["vec"]]],[11,"functions","","Returns number of functions",29,[[["self"]],["usize"]]],[11,"globals","","Returns number of globals",29,[[["self"]],["usize"]]],[11,"deserialize","","",29,[[["r"]],["result"]]],[11,"serialize","","",29,[[["self"],["w"]],["result"]]],[11,"default","","",30,[[],["functionsection"]]],[11,"fmt","","",30,[[["self"],["formatter"]],["result"]]],[11,"clone","","",30,[[["self"]],["functionsection"]]],[11,"eq","","",30,[[["self"],["functionsection"]],["bool"]]],[11,"ne","","",30,[[["self"],["functionsection"]],["bool"]]],[11,"with_entries","","New function signatures section with provided entries",30,[[["vec",["func"]]],["self"]]],[11,"entries_mut","","List of all functions in the section, mutable",30,[[["self"]],["vec"]]],[11,"entries","","List of all functions in the section",30,N],[11,"deserialize","","",30,[[["r"]],["result"]]],[11,"serialize","","",30,[[["self"],["w"]],["result"]]],[11,"default","","",31,[[],["tablesection"]]],[11,"fmt","","",31,[[["self"],["formatter"]],["result"]]],[11,"clone","","",31,[[["self"]],["tablesection"]]],[11,"eq","","",31,[[["self"],["tablesection"]],["bool"]]],[11,"ne","","",31,[[["self"],["tablesection"]],["bool"]]],[11,"entries","","Table entries.",31,N],[11,"with_entries","","New table section with provided table entries",31,[[["vec",["tabletype"]]],["self"]]],[11,"entries_mut","","Mutable table entries.",31,[[["self"]],["vec"]]],[11,"deserialize","","",31,[[["r"]],["result"]]],[11,"serialize","","",31,[[["self"],["w"]],["result"]]],[11,"default","","",32,[[],["memorysection"]]],[11,"fmt","","",32,[[["self"],["formatter"]],["result"]]],[11,"clone","","",32,[[["self"]],["memorysection"]]],[11,"eq","","",32,[[["self"],["memorysection"]],["bool"]]],[11,"ne","","",32,[[["self"],["memorysection"]],["bool"]]],[11,"entries","","List of all memory entries in the section",32,N],[11,"with_entries","","New memory section with memory types",32,[[["vec",["memorytype"]]],["self"]]],[11,"entries_mut","","Mutable list of all memory entries in the section",32,[[["self"]],["vec"]]],[11,"deserialize","","",32,[[["r"]],["result"]]],[11,"serialize","","",32,[[["self"],["w"]],["result"]]],[11,"default","","",33,[[],["globalsection"]]],[11,"fmt","","",33,[[["self"],["formatter"]],["result"]]],[11,"clone","","",33,[[["self"]],["globalsection"]]],[11,"eq","","",33,[[["self"],["globalsection"]],["bool"]]],[11,"ne","","",33,[[["self"],["globalsection"]],["bool"]]],[11,"entries","","List of all global entries in the section",33,N],[11,"with_entries","","New global section from list of global entries",33,[[["vec",["globalentry"]]],["self"]]],[11,"entries_mut","","List of all global entries in the section (mutable)",33,[[["self"]],["vec"]]],[11,"deserialize","","",33,[[["r"]],["result"]]],[11,"serialize","","",33,[[["self"],["w"]],["result"]]],[11,"fmt","","",34,[[["self"],["formatter"]],["result"]]],[11,"default","","",34,[[],["exportsection"]]],[11,"clone","","",34,[[["self"]],["exportsection"]]],[11,"eq","","",34,[[["self"],["exportsection"]],["bool"]]],[11,"ne","","",34,[[["self"],["exportsection"]],["bool"]]],[11,"entries","","List of all export entries in the section",34,N],[11,"with_entries","","New export section from list of export entries",34,[[["vec",["exportentry"]]],["self"]]],[11,"entries_mut","","List of all export entries in the section (mutable)",34,[[["self"]],["vec"]]],[11,"deserialize","","",34,[[["r"]],["result"]]],[11,"serialize","","",34,[[["self"],["w"]],["result"]]],[11,"default","","",35,[[],["codesection"]]],[11,"fmt","","",35,[[["self"],["formatter"]],["result"]]],[11,"clone","","",35,[[["self"]],["codesection"]]],[11,"eq","","",35,[[["self"],["codesection"]],["bool"]]],[11,"ne","","",35,[[["self"],["codesection"]],["bool"]]],[11,"with_bodies","","New code section with specified function bodies",35,[[["vec",["funcbody"]]],["self"]]],[11,"bodies","","All function bodies in the section.",35,N],[11,"bodies_mut","","All function bodies in the section, mutable.",35,[[["self"]],["vec"]]],[11,"deserialize","","",35,[[["r"]],["result"]]],[11,"serialize","","",35,[[["self"],["w"]],["result"]]],[11,"default","","",36,[[],["elementsection"]]],[11,"fmt","","",36,[[["self"],["formatter"]],["result"]]],[11,"clone","","",36,[[["self"]],["elementsection"]]],[11,"eq","","",36,[[["self"],["elementsection"]],["bool"]]],[11,"ne","","",36,[[["self"],["elementsection"]],["bool"]]],[11,"with_entries","","New elements section",36,[[["vec",["elementsegment"]]],["self"]]],[11,"entries","","New elements entries in the section",36,N],[11,"entries_mut","","List of all data entries in the section (mutable)",36,[[["self"]],["vec"]]],[11,"deserialize","","",36,[[["r"]],["result"]]],[11,"serialize","","",36,[[["self"],["w"]],["result"]]],[11,"default","","",37,[[],["datasection"]]],[11,"fmt","","",37,[[["self"],["formatter"]],["result"]]],[11,"clone","","",37,[[["self"]],["datasection"]]],[11,"eq","","",37,[[["self"],["datasection"]],["bool"]]],[11,"ne","","",37,[[["self"],["datasection"]],["bool"]]],[11,"with_entries","","New data section",37,[[["vec",["datasegment"]]],["self"]]],[11,"entries","","List of all data entries in the section",37,N],[11,"entries_mut","","List of all data entries in the section (mutable)",37,[[["self"]],["vec"]]],[11,"deserialize","","",37,[[["r"]],["result"]]],[11,"serialize","","",37,[[["self"],["w"]],["result"]]],[11,"fmt","","",6,[[["self"],["formatter"]],["result"]]],[11,"clone","","",6,[[["self"]],["type"]]],[11,"eq","","",6,[[["self"],["type"]],["bool"]]],[11,"ne","","",6,[[["self"],["type"]],["bool"]]],[11,"deserialize","","",6,[[["r"]],["result"]]],[11,"serialize","","",6,[[["self"],["w"]],["result"]]],[11,"clone","","",7,[[["self"]],["valuetype"]]],[11,"fmt","","",7,[[["self"],["formatter"]],["result"]]],[11,"eq","","",7,[[["self"],["valuetype"]],["bool"]]],[11,"deserialize","","",7,[[["r"]],["result"]]],[11,"serialize","","",7,[[["self"],["w"]],["result"]]],[11,"fmt","","",7,[[["self"],["formatter"]],["result"]]],[11,"clone","","",8,[[["self"]],["blocktype"]]],[11,"fmt","","",8,[[["self"],["formatter"]],["result"]]],[11,"eq","","",8,[[["self"],["blocktype"]],["bool"]]],[11,"ne","","",8,[[["self"],["blocktype"]],["bool"]]],[11,"deserialize","","",8,[[["r"]],["result"]]],[11,"serialize","","",8,[[["self"],["w"]],["result"]]],[11,"fmt","","",38,[[["self"],["formatter"]],["result"]]],[11,"clone","","",38,[[["self"]],["functiontype"]]],[11,"eq","","",38,[[["self"],["functiontype"]],["bool"]]],[11,"ne","","",38,[[["self"],["functiontype"]],["bool"]]],[11,"default","","",38,[[],["self"]]],[11,"new","","New function type given the signature in-params(`params`) and return type (`return_type`)",38,[[["vec",["valuetype"]],["option",["valuetype"]]],["self"]]],[11,"form","","Function form (currently only valid value is `0x60`)",38,[[["self"]],["u8"]]],[11,"params","","Parameters in the function signature.",38,N],[11,"params_mut","","Mutable parameters in the function signature.",38,[[["self"]],["vec"]]],[11,"return_type","","Return type in the function signature, if any.",38,[[["self"]],["option",["valuetype"]]]],[11,"return_type_mut","","Mutable type in the function signature, if any.",38,[[["self"]],["option"]]],[11,"deserialize","","",38,[[["r"]],["result"]]],[11,"serialize","","",38,[[["self"],["w"]],["result"]]],[11,"clone","","",9,[[["self"]],["tableelementtype"]]],[11,"fmt","","",9,[[["self"],["formatter"]],["result"]]],[11,"eq","","",9,[[["self"],["tableelementtype"]],["bool"]]],[11,"deserialize","","",9,[[["r"]],["result"]]],[11,"serialize","","",9,[[["self"],["w"]],["result"]]],[11,"fmt","","",39,[[["self"],["formatter"]],["result"]]],[11,"clone","","",39,[[["self"]],["globaltype"]]],[11,"eq","","",39,[[["self"],["globaltype"]],["bool"]]],[11,"ne","","",39,[[["self"],["globaltype"]],["bool"]]],[11,"new","","New global type",39,[[["valuetype"],["bool"]],["self"]]],[11,"content_type","","Type of the global entry",39,[[["self"]],["valuetype"]]],[11,"is_mutable","","Is global entry is declared as mutable",39,[[["self"]],["bool"]]],[11,"deserialize","","",39,[[["r"]],["result"]]],[11,"serialize","","",39,[[["self"],["w"]],["result"]]],[11,"fmt","","",40,[[["self"],["formatter"]],["result"]]],[11,"clone","","",40,[[["self"]],["tabletype"]]],[11,"eq","","",40,[[["self"],["tabletype"]],["bool"]]],[11,"ne","","",40,[[["self"],["tabletype"]],["bool"]]],[11,"new","","New table definition",40,[[["u32"],["option",["u32"]]],["self"]]],[11,"limits","","Table memory specification",40,[[["self"]],["resizablelimits"]]],[11,"elem_type","","Table element type",40,[[["self"]],["tableelementtype"]]],[11,"deserialize","","",40,[[["r"]],["result"]]],[11,"serialize","","",40,[[["self"],["w"]],["result"]]],[11,"fmt","","",41,[[["self"],["formatter"]],["result"]]],[11,"clone","","",41,[[["self"]],["resizablelimits"]]],[11,"eq","","",41,[[["self"],["resizablelimits"]],["bool"]]],[11,"ne","","",41,[[["self"],["resizablelimits"]],["bool"]]],[11,"new","","New memory limits definition",41,[[["u32"],["option",["u32"]]],["self"]]],[11,"initial","","Initial size",41,[[["self"]],["u32"]]],[11,"maximum","","Maximum size",41,[[["self"]],["option",["u32"]]]],[11,"shared","","Whether or not this is a shared array buffer",41,[[["self"]],["bool"]]],[11,"deserialize","","",41,[[["r"]],["result"]]],[11,"serialize","","",41,[[["self"],["w"]],["result"]]],[11,"fmt","","",42,[[["self"],["formatter"]],["result"]]],[11,"clone","","",42,[[["self"]],["memorytype"]]],[11,"eq","","",42,[[["self"],["memorytype"]],["bool"]]],[11,"ne","","",42,[[["self"],["memorytype"]],["bool"]]],[11,"new","","New memory definition",42,[[["u32"],["option",["u32"]]],["self"]]],[11,"limits","","Limits of the memory entry.",42,[[["self"]],["resizablelimits"]]],[11,"deserialize","","",42,[[["r"]],["result"]]],[11,"serialize","","",42,[[["self"],["w"]],["result"]]],[11,"fmt","","",4,[[["self"],["formatter"]],["result"]]],[11,"clone","","",4,[[["self"]],["external"]]],[11,"eq","","",4,[[["self"],["external"]],["bool"]]],[11,"ne","","",4,[[["self"],["external"]],["bool"]]],[11,"deserialize","","",4,[[["r"]],["result"]]],[11,"serialize","","",4,[[["self"],["w"]],["result"]]],[11,"fmt","","",43,[[["self"],["formatter"]],["result"]]],[11,"clone","","",43,[[["self"]],["importentry"]]],[11,"eq","","",43,[[["self"],["importentry"]],["bool"]]],[11,"ne","","",43,[[["self"],["importentry"]],["bool"]]],[11,"new","","New import entry.",43,[[["string"],["string"],["external"]],["self"]]],[11,"module","","Module reference of the import entry.",43,[[["self"]],["str"]]],[11,"module_mut","","Module reference of the import entry (mutable).",43,[[["self"]],["string"]]],[11,"field","","Field reference of the import entry.",43,[[["self"]],["str"]]],[11,"field_mut","","Field reference of the import entry (mutable)",43,[[["self"]],["string"]]],[11,"external","","Local binidng of the import entry.",43,[[["self"]],["external"]]],[11,"external_mut","","Local binidng of the import entry (mutable)",43,[[["self"]],["external"]]],[11,"deserialize","","",43,[[["r"]],["result"]]],[11,"serialize","","",43,[[["self"],["w"]],["result"]]],[11,"fmt","","",5,[[["self"],["formatter"]],["result"]]],[11,"clone","","",5,[[["self"]],["internal"]]],[11,"eq","","",5,[[["self"],["internal"]],["bool"]]],[11,"ne","","",5,[[["self"],["internal"]],["bool"]]],[11,"deserialize","","",5,[[["r"]],["result"]]],[11,"serialize","","",5,[[["self"],["w"]],["result"]]],[11,"fmt","","",44,[[["self"],["formatter"]],["result"]]],[11,"clone","","",44,[[["self"]],["exportentry"]]],[11,"eq","","",44,[[["self"],["exportentry"]],["bool"]]],[11,"ne","","",44,[[["self"],["exportentry"]],["bool"]]],[11,"new","","New export entry",44,[[["string"],["internal"]],["self"]]],[11,"field","","Public name",44,[[["self"]],["str"]]],[11,"field_mut","","Public name (mutable)",44,[[["self"]],["string"]]],[11,"internal","","Internal reference of the export entry.",44,[[["self"]],["internal"]]],[11,"internal_mut","","Internal reference of the export entry (mutable).",44,[[["self"]],["internal"]]],[11,"deserialize","","",44,[[["r"]],["result"]]],[11,"serialize","","",44,[[["self"],["w"]],["result"]]],[11,"clone","","",45,[[["self"]],["globalentry"]]],[11,"fmt","","",45,[[["self"],["formatter"]],["result"]]],[11,"eq","","",45,[[["self"],["globalentry"]],["bool"]]],[11,"ne","","",45,[[["self"],["globalentry"]],["bool"]]],[11,"new","","New global entry",45,[[["globaltype"],["initexpr"]],["self"]]],[11,"global_type","","Global type.",45,[[["self"]],["globaltype"]]],[11,"init_expr","","Initialization expression (instructions) for global.",45,[[["self"]],["initexpr"]]],[11,"global_type_mut","","Global type (mutable)",45,[[["self"]],["globaltype"]]],[11,"init_expr_mut","","Initialization expression (instructions) for global (mutable)",45,[[["self"]],["initexpr"]]],[11,"deserialize","","",45,[[["r"]],["result"]]],[11,"serialize","","",45,[[["self"],["w"]],["result"]]],[11,"fmt","","",46,[[["self"],["formatter"]],["result"]]],[11,"clone","","",46,[[["self"]],["instructions"]]],[11,"eq","","",46,[[["self"],["instructions"]],["bool"]]],[11,"ne","","",46,[[["self"],["instructions"]],["bool"]]],[11,"new","","New list of instructions from vector of instructions.",46,[[["vec",["instruction"]]],["self"]]],[11,"empty","","Empty expression with only `Instruction::End` instruction.",46,[[],["self"]]],[11,"elements","","List of individual instructions.",46,N],[11,"elements_mut","","Individual instructions, mutable.",46,[[["self"]],["vec"]]],[11,"deserialize","","",46,[[["r"]],["result"]]],[11,"fmt","","",47,[[["self"],["formatter"]],["result"]]],[11,"clone","","",47,[[["self"]],["initexpr"]]],[11,"eq","","",47,[[["self"],["initexpr"]],["bool"]]],[11,"ne","","",47,[[["self"],["initexpr"]],["bool"]]],[11,"new","","New initialization expression from instruction list. `code` must end with the `Instruction::End` instruction!",47,[[["vec",["instruction"]]],["self"]]],[11,"empty","","Empty expression with only `Instruction::End` instruction",47,[[],["self"]]],[11,"code","","List of instructions used in the expression.",47,N],[11,"code_mut","","List of instructions used in the expression.",47,[[["self"]],["vec"]]],[11,"deserialize","","",47,[[["r"]],["result"]]],[11,"clone","","",10,[[["self"]],["instruction"]]],[11,"fmt","","",10,[[["self"],["formatter"]],["result"]]],[11,"eq","","",10,[[["self"],["instruction"]],["bool"]]],[11,"ne","","",10,[[["self"],["instruction"]],["bool"]]],[11,"is_block","","Is this instruction starts the new block (which should end with terminal instruction).",10,[[["self"]],["bool"]]],[11,"is_terminal","","Is this instruction determines the termination of instruction sequence `true` for `Instruction::End`",10,[[["self"]],["bool"]]],[11,"deserialize","","",10,[[["r"]],["result"]]],[11,"serialize","","",10,[[["self"],["w"]],["result"]]],[11,"fmt","","",10,[[["self"],["formatter"]],["result"]]],[11,"serialize","","",46,[[["self"],["w"]],["result"]]],[11,"serialize","","",47,[[["self"],["w"]],["result"]]],[11,"fmt","","",48,[[["self"],["formatter"]],["result"]]],[11,"clone","","",48,[[["self"]],["func"]]],[11,"eq","","",48,[[["self"],["func"]],["bool"]]],[11,"ne","","",48,[[["self"],["func"]],["bool"]]],[11,"new","","New function signature",48,[[["u32"]],["self"]]],[11,"type_ref","","Function signature type reference.",48,[[["self"]],["u32"]]],[11,"type_ref_mut","","Function signature type reference (mutable).",48,[[["self"]],["u32"]]],[11,"serialize","","",48,[[["self"],["w"]],["result"]]],[11,"deserialize","","",48,[[["r"]],["result"]]],[11,"fmt","","",49,[[["self"],["formatter"]],["result"]]],[11,"clone","","",49,[[["self"]],["local"]]],[11,"eq","","",49,[[["self"],["local"]],["bool"]]],[11,"ne","","",49,[[["self"],["local"]],["bool"]]],[11,"new","","New local with `count` and `value_type`.",49,[[["u32"],["valuetype"]],["self"]]],[11,"count","","Number of locals with the shared type.",49,[[["self"]],["u32"]]],[11,"value_type","","Type of the locals.",49,[[["self"]],["valuetype"]]],[11,"deserialize","","",49,[[["r"]],["result"]]],[11,"serialize","","",49,[[["self"],["w"]],["result"]]],[11,"fmt","","",50,[[["self"],["formatter"]],["result"]]],[11,"clone","","",50,[[["self"]],["funcbody"]]],[11,"eq","","",50,[[["self"],["funcbody"]],["bool"]]],[11,"ne","","",50,[[["self"],["funcbody"]],["bool"]]],[11,"new","","New function body with given `locals` and `instructions`",50,[[["vec",["local"]],["instructions"]],["self"]]],[11,"empty","","List of individual instructions",50,[[],["self"]]],[11,"locals","","Locals declared in function body.",50,N],[11,"code","","Instruction list of the function body. Minimal instruction list is just `&[Instruction::End]`",50,[[["self"]],["instructions"]]],[11,"locals_mut","","Locals declared in function body (mutable).",50,[[["self"]],["vec"]]],[11,"code_mut","","Instruction list of the function body (mutable).",50,[[["self"]],["instructions"]]],[11,"deserialize","","",50,[[["r"]],["result"]]],[11,"serialize","","",50,[[["self"],["w"]],["result"]]],[11,"fmt","","",51,[[["self"],["formatter"]],["result"]]],[11,"clone","","",51,[[["self"]],["elementsegment"]]],[11,"eq","","",51,[[["self"],["elementsegment"]],["bool"]]],[11,"ne","","",51,[[["self"],["elementsegment"]],["bool"]]],[11,"new","","New element segment.",51,[[["u32"],["initexpr"],["vec",["u32"]]],["self"]]],[11,"members","","Sequence of function indices.",51,N],[11,"members_mut","","Sequence of function indices (mutable)",51,[[["self"]],["vec"]]],[11,"index","","Table index (currently valid only value of `0`)",51,[[["self"]],["u32"]]],[11,"offset","","An i32 initializer expression that computes the offset at which to place the elements.",51,[[["self"]],["initexpr"]]],[11,"offset_mut","","An i32 initializer expression that computes the offset at which to place the elements (mutable)",51,[[["self"]],["initexpr"]]],[11,"deserialize","","",51,[[["r"]],["result"]]],[11,"serialize","","",51,[[["self"],["w"]],["result"]]],[11,"clone","","",52,[[["self"]],["datasegment"]]],[11,"fmt","","",52,[[["self"],["formatter"]],["result"]]],[11,"eq","","",52,[[["self"],["datasegment"]],["bool"]]],[11,"ne","","",52,[[["self"],["datasegment"]],["bool"]]],[11,"new","","New data segments.",52,[[["u32"],["initexpr"],["vec",["u8"]]],["self"]]],[11,"index","","Linear memory index (currently the only valid value is `0`).",52,[[["self"]],["u32"]]],[11,"offset","","An i32 initializer expression that computes the offset at which to place the data.",52,[[["self"]],["initexpr"]]],[11,"offset_mut","","An i32 initializer expression that computes the offset at which to place the data (mutable)",52,[[["self"]],["initexpr"]]],[11,"value","","Initial value of the data segment.",52,N],[11,"value_mut","","Initial value of the data segment (mutable).",52,[[["self"]],["vec"]]],[11,"deserialize","","",52,[[["r"]],["result"]]],[11,"serialize","","",52,[[["self"],["w"]],["result"]]],[11,"fmt","","",53,[[["self"],["formatter"]],["result"]]],[11,"default","","",53,[[],["indexmap"]]],[11,"with_capacity","","Create an empty `IndexMap`, preallocating enough space to store `capacity` entries without needing to reallocate the underlying memory.",53,[[["usize"]],["indexmap"]]],[11,"clear","","Clear the map.",53,[[["self"]]]],[11,"get","","Return the name for the specified index, if it exists.",53,[[["self"],["u32"]],["option"]]],[11,"contains_key","","Does the map contain an entry for the specified index?",53,[[["self"],["u32"]],["bool"]]],[11,"insert","","Insert a name into our map, returning the existing value if present.",53,[[["self"],["u32"],["t"]],["option"]]],[11,"remove","","Remove an item if present and return it.",53,[[["self"],["u32"]],["option"]]],[11,"len","","The number of items in this map.",53,[[["self"]],["usize"]]],[11,"is_empty","","Is this map empty?",53,[[["self"]],["bool"]]],[11,"iter","","Create a non-consuming iterator over this `IndexMap`'s keys and values.",53,[[["self"]],["iter"]]],[11,"deserialize_with","","Custom deserialization routine.",53,[[["usize"],["f"],["r"]],["result",["indexmap","error"]]]],[11,"clone","","",53,[[["self"]],["indexmap"]]],[11,"eq","","",53,[[["self"],["indexmap"]],["bool"]]],[11,"from_iter","","Create an `IndexMap` from an iterator.",53,[[["i"]],["self"]]],[11,"into_iter","","",53,[[["self"]],["intoiter"]]],[11,"serialize","","",53,[[["self"],["w"]],["result"]]],[11,"deserialize","","Deserialize a map containing simple values that support `Deserialize`. We will allocate an underlying array no larger than `max_entry_space` to hold the data, so the maximum index must be less than `max_entry_space`.",53,[[["usize"],["r"]],["result",["error"]]]],[11,"clone","","",11,[[["self"]],["namesection"]]],[11,"fmt","","",11,[[["self"],["formatter"]],["result"]]],[11,"eq","","",11,[[["self"],["namesection"]],["bool"]]],[11,"ne","","",11,[[["self"],["namesection"]],["bool"]]],[11,"deserialize","","Deserialize a name section.",11,[[["module"],["r"]],["result",["namesection","error"]]]],[11,"serialize","","",11,[[["self"],["w"]],["result",["error"]]]],[11,"clone","","",54,[[["self"]],["modulenamesection"]]],[11,"fmt","","",54,[[["self"],["formatter"]],["result"]]],[11,"eq","","",54,[[["self"],["modulenamesection"]],["bool"]]],[11,"ne","","",54,[[["self"],["modulenamesection"]],["bool"]]],[11,"new","","Create a new module name section with the specified name.",54,[[["s"]],["modulenamesection"]]],[11,"name","","The name of this module.",54,[[["self"]],["str"]]],[11,"name_mut","","The name of this module (mutable).",54,[[["self"]],["string"]]],[11,"serialize","","",54,[[["self"],["w"]],["result",["error"]]]],[11,"deserialize","","",54,[[["r"]],["result",["modulenamesection","error"]]]],[11,"clone","","",55,[[["self"]],["functionnamesection"]]],[11,"fmt","","",55,[[["self"],["formatter"]],["result"]]],[11,"default","","",55,[[],["functionnamesection"]]],[11,"eq","","",55,[[["self"],["functionnamesection"]],["bool"]]],[11,"ne","","",55,[[["self"],["functionnamesection"]],["bool"]]],[11,"names","","A map from function indices to names.",55,[[["self"]],["namemap"]]],[11,"names_mut","","A map from function indices to names (mutable).",55,[[["self"]],["namemap"]]],[11,"deserialize","","Deserialize names, making sure that all names correspond to functions.",55,[[["module"],["r"]],["result",["functionnamesection","error"]]]],[11,"serialize","","",55,[[["self"],["w"]],["result",["error"]]]],[11,"clone","","",56,[[["self"]],["localnamesection"]]],[11,"fmt","","",56,[[["self"],["formatter"]],["result"]]],[11,"default","","",56,[[],["localnamesection"]]],[11,"eq","","",56,[[["self"],["localnamesection"]],["bool"]]],[11,"ne","","",56,[[["self"],["localnamesection"]],["bool"]]],[11,"local_names","","A map from function indices to a map from variables indices to names.",56,[[["self"]],["indexmap"]]],[11,"local_names_mut","","A map from function indices to a map from variables indices to names (mutable).",56,[[["self"]],["indexmap"]]],[11,"deserialize","","Deserialize names, making sure that all names correspond to local variables.",56,[[["module"],["r"]],["result",["localnamesection","error"]]]],[11,"serialize","","",56,[[["self"],["w"]],["result",["error"]]]],[11,"clone","","",57,[[["self"]],["relocsection"]]],[11,"fmt","","",57,[[["self"],["formatter"]],["result"]]],[11,"eq","","",57,[[["self"],["relocsection"]],["bool"]]],[11,"ne","","",57,[[["self"],["relocsection"]],["bool"]]],[11,"name","","Name of this section.",57,[[["self"]],["str"]]],[11,"name_mut","","Name of this section (mutable).",57,[[["self"]],["string"]]],[11,"section_id","","ID of the section containing the relocations described in this section.",57,[[["self"]],["u32"]]],[11,"section_id_mut","","ID of the section containing the relocations described in this section (mutable).",57,[[["self"]],["u32"]]],[11,"relocation_section_name","","Name of the section containing the relocations described in this section.",57,[[["self"]],["option",["str"]]]],[11,"relocation_section_name_mut","","Name of the section containing the relocations described in this section (mutable).",57,[[["self"]],["option"]]],[11,"entries","","List of relocation entries.",57,N],[11,"entries_mut","","List of relocation entries (mutable).",57,[[["self"]],["vec"]]],[11,"deserialize","","Deserialize a reloc section.",57,[[["string"],["r"]],["result",["error"]]]],[11,"serialize","","",57,[[["self"],["w"]],["result",["error"]]]],[11,"clone","","",12,[[["self"]],["relocationentry"]]],[11,"fmt","","",12,[[["self"],["formatter"]],["result"]]],[11,"eq","","",12,[[["self"],["relocationentry"]],["bool"]]],[11,"ne","","",12,[[["self"],["relocationentry"]],["bool"]]],[11,"deserialize","","",12,[[["r"]],["result"]]],[11,"serialize","","",12,[[["self"],["w"]],["result",["error"]]]],[0,"opcodes","","",N,N],[17,"UNREACHABLE","parity_wasm::elements::opcodes","",N,N],[17,"NOP","","",N,N],[17,"BLOCK","","",N,N],[17,"LOOP","","",N,N],[17,"IF","","",N,N],[17,"ELSE","","",N,N],[17,"END","","",N,N],[17,"BR","","",N,N],[17,"BRIF","","",N,N],[17,"BRTABLE","","",N,N],[17,"RETURN","","",N,N],[17,"CALL","","",N,N],[17,"CALLINDIRECT","","",N,N],[17,"DROP","","",N,N],[17,"SELECT","","",N,N],[17,"GETLOCAL","","",N,N],[17,"SETLOCAL","","",N,N],[17,"TEELOCAL","","",N,N],[17,"GETGLOBAL","","",N,N],[17,"SETGLOBAL","","",N,N],[17,"I32LOAD","","",N,N],[17,"I64LOAD","","",N,N],[17,"F32LOAD","","",N,N],[17,"F64LOAD","","",N,N],[17,"I32LOAD8S","","",N,N],[17,"I32LOAD8U","","",N,N],[17,"I32LOAD16S","","",N,N],[17,"I32LOAD16U","","",N,N],[17,"I64LOAD8S","","",N,N],[17,"I64LOAD8U","","",N,N],[17,"I64LOAD16S","","",N,N],[17,"I64LOAD16U","","",N,N],[17,"I64LOAD32S","","",N,N],[17,"I64LOAD32U","","",N,N],[17,"I32STORE","","",N,N],[17,"I64STORE","","",N,N],[17,"F32STORE","","",N,N],[17,"F64STORE","","",N,N],[17,"I32STORE8","","",N,N],[17,"I32STORE16","","",N,N],[17,"I64STORE8","","",N,N],[17,"I64STORE16","","",N,N],[17,"I64STORE32","","",N,N],[17,"CURRENTMEMORY","","",N,N],[17,"GROWMEMORY","","",N,N],[17,"I32CONST","","",N,N],[17,"I64CONST","","",N,N],[17,"F32CONST","","",N,N],[17,"F64CONST","","",N,N],[17,"I32EQZ","","",N,N],[17,"I32EQ","","",N,N],[17,"I32NE","","",N,N],[17,"I32LTS","","",N,N],[17,"I32LTU","","",N,N],[17,"I32GTS","","",N,N],[17,"I32GTU","","",N,N],[17,"I32LES","","",N,N],[17,"I32LEU","","",N,N],[17,"I32GES","","",N,N],[17,"I32GEU","","",N,N],[17,"I64EQZ","","",N,N],[17,"I64EQ","","",N,N],[17,"I64NE","","",N,N],[17,"I64LTS","","",N,N],[17,"I64LTU","","",N,N],[17,"I64GTS","","",N,N],[17,"I64GTU","","",N,N],[17,"I64LES","","",N,N],[17,"I64LEU","","",N,N],[17,"I64GES","","",N,N],[17,"I64GEU","","",N,N],[17,"F32EQ","","",N,N],[17,"F32NE","","",N,N],[17,"F32LT","","",N,N],[17,"F32GT","","",N,N],[17,"F32LE","","",N,N],[17,"F32GE","","",N,N],[17,"F64EQ","","",N,N],[17,"F64NE","","",N,N],[17,"F64LT","","",N,N],[17,"F64GT","","",N,N],[17,"F64LE","","",N,N],[17,"F64GE","","",N,N],[17,"I32CLZ","","",N,N],[17,"I32CTZ","","",N,N],[17,"I32POPCNT","","",N,N],[17,"I32ADD","","",N,N],[17,"I32SUB","","",N,N],[17,"I32MUL","","",N,N],[17,"I32DIVS","","",N,N],[17,"I32DIVU","","",N,N],[17,"I32REMS","","",N,N],[17,"I32REMU","","",N,N],[17,"I32AND","","",N,N],[17,"I32OR","","",N,N],[17,"I32XOR","","",N,N],[17,"I32SHL","","",N,N],[17,"I32SHRS","","",N,N],[17,"I32SHRU","","",N,N],[17,"I32ROTL","","",N,N],[17,"I32ROTR","","",N,N],[17,"I64CLZ","","",N,N],[17,"I64CTZ","","",N,N],[17,"I64POPCNT","","",N,N],[17,"I64ADD","","",N,N],[17,"I64SUB","","",N,N],[17,"I64MUL","","",N,N],[17,"I64DIVS","","",N,N],[17,"I64DIVU","","",N,N],[17,"I64REMS","","",N,N],[17,"I64REMU","","",N,N],[17,"I64AND","","",N,N],[17,"I64OR","","",N,N],[17,"I64XOR","","",N,N],[17,"I64SHL","","",N,N],[17,"I64SHRS","","",N,N],[17,"I64SHRU","","",N,N],[17,"I64ROTL","","",N,N],[17,"I64ROTR","","",N,N],[17,"F32ABS","","",N,N],[17,"F32NEG","","",N,N],[17,"F32CEIL","","",N,N],[17,"F32FLOOR","","",N,N],[17,"F32TRUNC","","",N,N],[17,"F32NEAREST","","",N,N],[17,"F32SQRT","","",N,N],[17,"F32ADD","","",N,N],[17,"F32SUB","","",N,N],[17,"F32MUL","","",N,N],[17,"F32DIV","","",N,N],[17,"F32MIN","","",N,N],[17,"F32MAX","","",N,N],[17,"F32COPYSIGN","","",N,N],[17,"F64ABS","","",N,N],[17,"F64NEG","","",N,N],[17,"F64CEIL","","",N,N],[17,"F64FLOOR","","",N,N],[17,"F64TRUNC","","",N,N],[17,"F64NEAREST","","",N,N],[17,"F64SQRT","","",N,N],[17,"F64ADD","","",N,N],[17,"F64SUB","","",N,N],[17,"F64MUL","","",N,N],[17,"F64DIV","","",N,N],[17,"F64MIN","","",N,N],[17,"F64MAX","","",N,N],[17,"F64COPYSIGN","","",N,N],[17,"I32WRAPI64","","",N,N],[17,"I32TRUNCSF32","","",N,N],[17,"I32TRUNCUF32","","",N,N],[17,"I32TRUNCSF64","","",N,N],[17,"I32TRUNCUF64","","",N,N],[17,"I64EXTENDSI32","","",N,N],[17,"I64EXTENDUI32","","",N,N],[17,"I64TRUNCSF32","","",N,N],[17,"I64TRUNCUF32","","",N,N],[17,"I64TRUNCSF64","","",N,N],[17,"I64TRUNCUF64","","",N,N],[17,"F32CONVERTSI32","","",N,N],[17,"F32CONVERTUI32","","",N,N],[17,"F32CONVERTSI64","","",N,N],[17,"F32CONVERTUI64","","",N,N],[17,"F32DEMOTEF64","","",N,N],[17,"F64CONVERTSI32","","",N,N],[17,"F64CONVERTUI32","","",N,N],[17,"F64CONVERTSI64","","",N,N],[17,"F64CONVERTUI64","","",N,N],[17,"F64PROMOTEF32","","",N,N],[17,"I32REINTERPRETF32","","",N,N],[17,"I64REINTERPRETF64","","",N,N],[17,"F32REINTERPRETI32","","",N,N],[17,"F64REINTERPRETI64","","",N,N],[17,"I32_EXTEND8_S","","",N,N],[17,"I32_EXTEND16_S","","",N,N],[17,"I64_EXTEND8_S","","",N,N],[17,"I64_EXTEND16_S","","",N,N],[17,"I64_EXTEND32_S","","",N,N],[17,"ATOMIC_PREFIX","","",N,N],[17,"ATOMIC_WAKE","","",N,N],[17,"I32_ATOMIC_WAIT","","",N,N],[17,"I64_ATOMIC_WAIT","","",N,N],[17,"I32_ATOMIC_LOAD","","",N,N],[17,"I64_ATOMIC_LOAD","","",N,N],[17,"I32_ATOMIC_LOAD8U","","",N,N],[17,"I32_ATOMIC_LOAD16U","","",N,N],[17,"I64_ATOMIC_LOAD8U","","",N,N],[17,"I64_ATOMIC_LOAD16U","","",N,N],[17,"I64_ATOMIC_LOAD32U","","",N,N],[17,"I32_ATOMIC_STORE","","",N,N],[17,"I64_ATOMIC_STORE","","",N,N],[17,"I32_ATOMIC_STORE8U","","",N,N],[17,"I32_ATOMIC_STORE16U","","",N,N],[17,"I64_ATOMIC_STORE8U","","",N,N],[17,"I64_ATOMIC_STORE16U","","",N,N],[17,"I64_ATOMIC_STORE32U","","",N,N],[17,"I32_ATOMIC_RMW_ADD","","",N,N],[17,"I64_ATOMIC_RMW_ADD","","",N,N],[17,"I32_ATOMIC_RMW_ADD8U","","",N,N],[17,"I32_ATOMIC_RMW_ADD16U","","",N,N],[17,"I64_ATOMIC_RMW_ADD8U","","",N,N],[17,"I64_ATOMIC_RMW_ADD16U","","",N,N],[17,"I64_ATOMIC_RMW_ADD32U","","",N,N],[17,"I32_ATOMIC_RMW_SUB","","",N,N],[17,"I64_ATOMIC_RMW_SUB","","",N,N],[17,"I32_ATOMIC_RMW_SUB8U","","",N,N],[17,"I32_ATOMIC_RMW_SUB16U","","",N,N],[17,"I64_ATOMIC_RMW_SUB8U","","",N,N],[17,"I64_ATOMIC_RMW_SUB16U","","",N,N],[17,"I64_ATOMIC_RMW_SUB32U","","",N,N],[17,"I32_ATOMIC_RMW_AND","","",N,N],[17,"I64_ATOMIC_RMW_AND","","",N,N],[17,"I32_ATOMIC_RMW_AND8U","","",N,N],[17,"I32_ATOMIC_RMW_AND16U","","",N,N],[17,"I64_ATOMIC_RMW_AND8U","","",N,N],[17,"I64_ATOMIC_RMW_AND16U","","",N,N],[17,"I64_ATOMIC_RMW_AND32U","","",N,N],[17,"I32_ATOMIC_RMW_OR","","",N,N],[17,"I64_ATOMIC_RMW_OR","","",N,N],[17,"I32_ATOMIC_RMW_OR8U","","",N,N],[17,"I32_ATOMIC_RMW_OR16U","","",N,N],[17,"I64_ATOMIC_RMW_OR8U","","",N,N],[17,"I64_ATOMIC_RMW_OR16U","","",N,N],[17,"I64_ATOMIC_RMW_OR32U","","",N,N],[17,"I32_ATOMIC_RMW_XOR","","",N,N],[17,"I64_ATOMIC_RMW_XOR","","",N,N],[17,"I32_ATOMIC_RMW_XOR8U","","",N,N],[17,"I32_ATOMIC_RMW_XOR16U","","",N,N],[17,"I64_ATOMIC_RMW_XOR8U","","",N,N],[17,"I64_ATOMIC_RMW_XOR16U","","",N,N],[17,"I64_ATOMIC_RMW_XOR32U","","",N,N],[17,"I32_ATOMIC_RMW_XCHG","","",N,N],[17,"I64_ATOMIC_RMW_XCHG","","",N,N],[17,"I32_ATOMIC_RMW_XCHG8U","","",N,N],[17,"I32_ATOMIC_RMW_XCHG16U","","",N,N],[17,"I64_ATOMIC_RMW_XCHG8U","","",N,N],[17,"I64_ATOMIC_RMW_XCHG16U","","",N,N],[17,"I64_ATOMIC_RMW_XCHG32U","","",N,N],[17,"I32_ATOMIC_RMW_CMPXCHG","","",N,N],[17,"I64_ATOMIC_RMW_CMPXCHG","","",N,N],[17,"I32_ATOMIC_RMW_CMPXCHG8U","","",N,N],[17,"I32_ATOMIC_RMW_CMPXCHG16U","","",N,N],[17,"I64_ATOMIC_RMW_CMPXCHG8U","","",N,N],[17,"I64_ATOMIC_RMW_CMPXCHG16U","","",N,N],[17,"I64_ATOMIC_RMW_CMPXCHG32U","","",N,N],[17,"SIMD_PREFIX","","",N,N],[17,"V128_CONST","","",N,N],[17,"V128_LOAD","","",N,N],[17,"V128_STORE","","",N,N],[17,"I8X16_SPLAT","","",N,N],[17,"I16X8_SPLAT","","",N,N],[17,"I32X4_SPLAT","","",N,N],[17,"I64X2_SPLAT","","",N,N],[17,"F32X4_SPLAT","","",N,N],[17,"F64X2_SPLAT","","",N,N],[17,"I8X16_EXTRACT_LANE_S","","",N,N],[17,"I8X16_EXTRACT_LANE_U","","",N,N],[17,"I16X8_EXTRACT_LANE_S","","",N,N],[17,"I16X8_EXTRACT_LANE_U","","",N,N],[17,"I32X4_EXTRACT_LANE","","",N,N],[17,"I64X2_EXTRACT_LANE","","",N,N],[17,"F32X4_EXTRACT_LANE","","",N,N],[17,"F64X2_EXTRACT_LANE","","",N,N],[17,"I8X16_REPLACE_LANE","","",N,N],[17,"I16X8_REPLACE_LANE","","",N,N],[17,"I32X4_REPLACE_LANE","","",N,N],[17,"I64X2_REPLACE_LANE","","",N,N],[17,"F32X4_REPLACE_LANE","","",N,N],[17,"F64X2_REPLACE_LANE","","",N,N],[17,"V8X16_SHUFFLE","","",N,N],[17,"I8X16_ADD","","",N,N],[17,"I16X8_ADD","","",N,N],[17,"I32X4_ADD","","",N,N],[17,"I64X2_ADD","","",N,N],[17,"I8X16_SUB","","",N,N],[17,"I16X8_SUB","","",N,N],[17,"I32X4_SUB","","",N,N],[17,"I64X2_SUB","","",N,N],[17,"I8X16_MUL","","",N,N],[17,"I16X8_MUL","","",N,N],[17,"I32X4_MUL","","",N,N],[17,"I8X16_NEG","","",N,N],[17,"I16X8_NEG","","",N,N],[17,"I32X4_NEG","","",N,N],[17,"I64X2_NEG","","",N,N],[17,"I8X16_ADD_SATURATE_S","","",N,N],[17,"I8X16_ADD_SATURATE_U","","",N,N],[17,"I16X8_ADD_SATURATE_S","","",N,N],[17,"I16X8_ADD_SATURATE_U","","",N,N],[17,"I8X16_SUB_SATURATE_S","","",N,N],[17,"I8X16_SUB_SATURATE_U","","",N,N],[17,"I16X8_SUB_SATURATE_S","","",N,N],[17,"I16X8_SUB_SATURATE_U","","",N,N],[17,"I8X16_SHL","","",N,N],[17,"I16X8_SHL","","",N,N],[17,"I32X4_SHL","","",N,N],[17,"I64X2_SHL","","",N,N],[17,"I8X16_SHR_S","","",N,N],[17,"I8X16_SHR_U","","",N,N],[17,"I16X8_SHR_S","","",N,N],[17,"I16X8_SHR_U","","",N,N],[17,"I32X4_SHR_S","","",N,N],[17,"I32X4_SHR_U","","",N,N],[17,"I64X2_SHR_S","","",N,N],[17,"I64X2_SHR_U","","",N,N],[17,"V128_AND","","",N,N],[17,"V128_OR","","",N,N],[17,"V128_XOR","","",N,N],[17,"V128_NOT","","",N,N],[17,"V128_BITSELECT","","",N,N],[17,"I8X16_ANY_TRUE","","",N,N],[17,"I16X8_ANY_TRUE","","",N,N],[17,"I32X4_ANY_TRUE","","",N,N],[17,"I64X2_ANY_TRUE","","",N,N],[17,"I8X16_ALL_TRUE","","",N,N],[17,"I16X8_ALL_TRUE","","",N,N],[17,"I32X4_ALL_TRUE","","",N,N],[17,"I64X2_ALL_TRUE","","",N,N],[17,"I8X16_EQ","","",N,N],[17,"I16X8_EQ","","",N,N],[17,"I32X4_EQ","","",N,N],[17,"F32X4_EQ","","",N,N],[17,"F64X2_EQ","","",N,N],[17,"I8X16_NE","","",N,N],[17,"I16X8_NE","","",N,N],[17,"I32X4_NE","","",N,N],[17,"F32X4_NE","","",N,N],[17,"F64X2_NE","","",N,N],[17,"I8X16_LT_S","","",N,N],[17,"I8X16_LT_U","","",N,N],[17,"I16X8_LT_S","","",N,N],[17,"I16X8_LT_U","","",N,N],[17,"I32X4_LT_S","","",N,N],[17,"I32X4_LT_U","","",N,N],[17,"I64X2_LT_S","","",N,N],[17,"I64X2_LT_U","","",N,N],[17,"F32X4_LT","","",N,N],[17,"F64X2_LT","","",N,N],[17,"I8X16_LE_S","","",N,N],[17,"I8X16_LE_U","","",N,N],[17,"I16X8_LE_S","","",N,N],[17,"I16X8_LE_U","","",N,N],[17,"I32X4_LE_S","","",N,N],[17,"I32X4_LE_U","","",N,N],[17,"I64X2_LE_S","","",N,N],[17,"I64X2_LE_U","","",N,N],[17,"F32X4_LE","","",N,N],[17,"F64X2_LE","","",N,N],[17,"I8X16_GT_S","","",N,N],[17,"I8X16_GT_U","","",N,N],[17,"I16X8_GT_S","","",N,N],[17,"I16X8_GT_U","","",N,N],[17,"I32X4_GT_S","","",N,N],[17,"I32X4_GT_U","","",N,N],[17,"I64X2_GT_S","","",N,N],[17,"I64X2_GT_U","","",N,N],[17,"F32X4_GT","","",N,N],[17,"F64X2_GT","","",N,N],[17,"I8X16_GE_S","","",N,N],[17,"I8X16_GE_U","","",N,N],[17,"I16X8_GE_S","","",N,N],[17,"I16X8_GE_U","","",N,N],[17,"I32X4_GE_S","","",N,N],[17,"I32X4_GE_U","","",N,N],[17,"I64X2_GE_S","","",N,N],[17,"I64X2_GE_U","","",N,N],[17,"F32X4_GE","","",N,N],[17,"F64X2_GE","","",N,N],[17,"F32X4_NEG","","",N,N],[17,"F64X2_NEG","","",N,N],[17,"F32X4_ABS","","",N,N],[17,"F64X2_ABS","","",N,N],[17,"F32X4_MIN","","",N,N],[17,"F64X2_MIN","","",N,N],[17,"F32X4_MAX","","",N,N],[17,"F64X2_MAX","","",N,N],[17,"F32X4_ADD","","",N,N],[17,"F64X2_ADD","","",N,N],[17,"F32X4_SUB","","",N,N],[17,"F64X2_SUB","","",N,N],[17,"F32X4_DIV","","",N,N],[17,"F64X2_DIV","","",N,N],[17,"F32X4_MUL","","",N,N],[17,"F64X2_MUL","","",N,N],[17,"F32X4_SQRT","","",N,N],[17,"F64X2_SQRT","","",N,N],[17,"F32X4_CONVERT_S_I32X4","","",N,N],[17,"F32X4_CONVERT_U_I32X4","","",N,N],[17,"F64X2_CONVERT_S_I64X2","","",N,N],[17,"F64X2_CONVERT_U_I64X2","","",N,N],[17,"I32X4_TRUNC_S_F32X4_SAT","","",N,N],[17,"I32X4_TRUNC_U_F32X4_SAT","","",N,N],[17,"I64X2_TRUNC_S_F64X2_SAT","","",N,N],[17,"I64X2_TRUNC_U_F64X2_SAT","","",N,N],[6,"NameMap","parity_wasm::elements","A map from indices to names.",N,N],[8,"Deserialize","","Deserialization from serial i/o",N,N],[16,"Error","","Serialization error produced by deserialization routine.",58,N],[10,"deserialize","","Deserialize type from serial i/o",58,[[["r"]],["result"]]],[8,"Serialize","","Serialization to serial i/o. Takes self by value to consume less memory (parity-wasm IR is being partially freed by filling the result buffer).",N,N],[16,"Error","","Serialization error produced by serialization routine.",59,N],[10,"serialize","","Serialize type to serial i/o",59,[[["self"],["w"]],["result"]]],[11,"fmt","","",13,[[["self"],["formatter"]],["result"]]],[11,"clone","","",13,[[["self"]],["error"]]],[11,"fmt","","",13,[[["self"],["formatter"]],["result"]]],[11,"description","","",13,[[["self"]],["str"]]],[11,"deserialize","","",1,[[["r"]],["result"]]],[0,"builder","parity_wasm","Various builders to generate/alter wasm components",N,N],[3,"SignatureBuilder","parity_wasm::builder","Signature builder",N,N],[3,"SignaturesBuilder","","Multiple signatures builder",N,N],[3,"FunctionBuilder","","Function definition builder",N,N],[3,"TypeRefBuilder","","Type (signature) reference builder (for function/import/indirect call)",N,N],[3,"FuncBodyBuilder","","Function body (code) builder",N,N],[3,"FunctionDefinition","","Function definition (extended structure to specify function entirely, incl. signature, mainness and code)",N,N],[12,"is_main","","Is this function is start function",60,N],[12,"signature","","Signature description",60,N],[12,"code","","Body (code) of the function",60,N],[3,"DataSegmentBuilder","","Data segment builder",N,N],[3,"ExportBuilder","","Export entry builder",N,N],[3,"ExportInternalBuilder","","Internal mapping builder for export entry",N,N],[3,"GlobalBuilder","","Global builder",N,N],[3,"ImportBuilder","","Import builder",N,N],[3,"Identity","","Identity chain element",N,N],[3,"MemoryBuilder","","Memory and static regions builder",N,N],[3,"ModuleBuilder","","Module builder",N,N],[3,"TableBuilder","","Table builder",N,N],[3,"TableDefinition","","Table definition",N,N],[12,"min","","Minimum length",61,N],[12,"max","","Maximum length, if any",61,N],[12,"elements","","Element segments, if any",61,N],[3,"TableEntryDefinition","","Table elements entry definition",N,N],[12,"offset","","Offset initialization expression",62,N],[12,"values","","Values of initialization",62,N],[5,"signatures","","New builder of signature list",N,[[],["signaturesbuilder"]]],[5,"signature","","New signature builder",N,[[],["signaturebuilder"]]],[5,"function","","New builder of function (signature & body)",N,[[],["functionbuilder"]]],[5,"export","","New builder for export entry",N,[[],["exportbuilder"]]],[5,"global","","New builder for export entry",N,[[],["globalbuilder"]]],[5,"import","","New builder for import entry",N,[[],["importbuilder"]]],[5,"module","","Start new module builder # Examples",N,[[],["modulebuilder"]]],[5,"from_module","","Start builder to extend existing module",N,[[["module"]],["modulebuilder"]]],[11,"new","","New empty module builder",63,[[],["self"]]],[11,"with_callback","","New module builder with bound callback",63,[[["f"]],["self"]]],[11,"with_module","","Builder from raw module",63,[[["self"],["module"]],["self"]]],[11,"with_sections","","Fill module with sections from iterator",63,[[["self"],["i"]],["self"]]],[11,"with_section","","Add additional section",63,[[["self"],["section"]],["self"]]],[11,"with_signatures","","Binds to the type section, creates additional types when required",63,[[["self"],["vec",["signature"]]],["self"]]],[11,"push_function","","Push stand-alone function definition, creating sections, signature and code blocks in corresponding sections. `FunctionDefinition` can be build using `builder::function` builder",63,[[["self"],["functiondefinition"]],["codelocation"]]],[11,"push_memory","","Push linear memory region",63,[[["self"],["memorydefinition"]],["u32"]]],[11,"push_table","","Push table",63,[[["self"],["tabledefinition"]],["u32"]]],[11,"push_signature","","Push one function signature, returning it's calling index. Can create corresponding type in type section.",63,[[["self"],["signature"]],["u32"]]],[11,"push_signatures","","Push signatures in the module, returning corresponding indices of pushed signatures",63,[[["self"],["vec",["signature"]]],["vec",["u32"]]]],[11,"push_import","","Push import entry to module. Not that it does not update calling indices in function bodies.",63,[[["self"],["importentry"]],["u32"]]],[11,"push_export","","Push export entry to module.",63,[[["self"],["exportentry"]],["u32"]]],[11,"function","","Add new function using dedicated builder",63,[[["self"]],["functionbuilder"]]],[11,"memory","","Add new linear memory using dedicated builder",63,[[["self"]],["memorybuilder"]]],[11,"table","","Add new table using dedicated builder",63,[[["self"]],["tablebuilder"]]],[11,"functions","","Define functions section",63,[[["self"]],["signaturesbuilder"]]],[11,"with_export","","With inserted export entry",63,[[["self"],["exportentry"]],["self"]]],[11,"with_import","","With inserted import entry",63,[[["self"],["importentry"]],["self"]]],[11,"import","","Import entry builder # Examples ``` use parity_wasm::builder::module;",63,[[["self"]],["importbuilder"]]],[11,"with_global","","With global variable",63,[[["self"],["globalentry"]],["self"]]],[11,"with_table","","With table",63,[[["self"],["tabletype"]],["self"]]],[11,"export","","Export entry builder # Examples ``` use parity_wasm::builder::module; use parity_wasm::elements::Instruction::*;",63,[[["self"]],["exportbuilder"]]],[11,"global","","Glboal entry builder # Examples ``` use parity_wasm::builder::module; use parity_wasm::elements::Instruction::*;",63,[[["self"]],["globalbuilder"]]],[11,"with_data_segment","","Add data segment to the builder",63,[[["self"],["datasegment"]],["self"]]],[11,"data","","Data entry builder",63,[[["self"]],["datasegmentbuilder"]]],[11,"build","","Build module (final step)",63,N],[11,"new","","New signature builder",64,[[],["self"]]],[11,"with_callback","","New builder with callback function specified",64,[[["f"]],["self"]]],[11,"with_param","","Add argument to signature builder",64,[[["self"],["valuetype"]],["self"]]],[11,"with_params","","Add multiple arguments to signature builder",64,[[["self"],["vec",["valuetype"]]],["self"]]],[11,"with_return_type","","Override signature return type",64,[[["self"],["option",["valuetype"]]],["self"]]],[11,"param","","Start build new argument",64,[[["self"]],["valuetypebuilder"]]],[11,"params","","Start build multiple arguments",64,[[["self"]],["valuetypesbuilder"]]],[11,"return_type","","Start building return type",64,[[["self"]],["optionalvaluetypebuilder"]]],[11,"build","","Finish current builder",64,N],[11,"build_sig","","Finish current builder returning intermediate `Signature` struct",64,[[["self"]],["signature"]]],[11,"with_callback","","New builder chained with specified callback",65,[[["f"]],["self"]]],[11,"val","","Set/override of type reference",65,[[["self"],["u32"]],["self"]]],[11,"build","","Finish current builder",65,N],[11,"new","","New empty functions section builder",66,[[],["self"]]],[11,"with_callback","","New builder chained with specified callback",66,[[["f"]],["self"]]],[11,"with_signature","","Push new signature into the builder output",66,[[["self"],["signature"]],["self"]]],[11,"type_ref","","Start building new signature with `TypeRefBuilder`",66,[[["self"]],["typerefbuilder"]]],[11,"signature","","Start building new signature with dedicated builder",66,[[["self"]],["signaturebuilder"]]],[11,"build","","Finalize builder spawning element",66,N],[11,"bind","","Bind signature list",66,N],[11,"with_callback","","New body (code) builder given the chain callback",67,[[["f"]],["self"]]],[11,"with_func","","Set/override entirely with FuncBody struct",67,[[["self"],["funcbody"]],["self"]]],[11,"with_locals","","Extend function local list with new entries",67,[[["self"],["vec",["local"]]],["self"]]],[11,"with_instructions","","Set code of the function",67,[[["self"],["instructions"]],["self"]]],[11,"build","","Finish current builder spawning resulting struct",67,N],[11,"default","","",60,[[],["self"]]],[11,"new","","New function builder",68,[[],["self"]]],[11,"with_callback","","New function builder with chained callback",68,[[["f"]],["self"]]],[11,"main","","Set that this function is main entry point",68,[[["self"]],["self"]]],[11,"signature","","Start signature builder of the function",68,[[["self"]],["signaturebuilder"]]],[11,"with_signature","","Override current signature entirely with new one from known struct",68,[[["self"],["signature"]],["self"]]],[11,"body","","Start code (body) builder",68,[[["self"]],["funcbodybuilder"]]],[11,"with_body","","Set body (code) for this function",68,[[["self"],["funcbody"]],["self"]]],[11,"build","","Finalize current builder spawning resulting struct in the callback",68,N],[11,"new","","New import builder",69,[[],["self"]]],[11,"with_callback","","New import builder with callback (in chained context)",69,[[["f"]],["self"]]],[11,"module","","Set/override module name",69,[[["self"],["str"]],["self"]]],[11,"field","","Set/override field name",69,[[["self"],["str"]],["self"]]],[11,"path","","Set/override both module name and field name",69,[[["self"],["str"],["str"]],["self"]]],[11,"with_external","","Set/override external mapping for this import",69,[[["self"],["external"]],["self"]]],[11,"external","","Start new external mapping builder",69,[[["self"]],["importexternalbuilder"]]],[11,"build","","Finalize current builder spawning the resulting struct",69,N],[11,"new","","New memory builder",70,[[],["self"]]],[11,"with_callback","","New memory builder with callback (in chained context)",70,[[["f"]],["self"]]],[11,"with_min","","Set/override minimum size",70,[[["self"],["u32"]],["self"]]],[11,"with_max","","Set/override maximum size",70,[[["self"],["option",["u32"]]],["self"]]],[11,"with_data","","Push new static region with initialized offset expression and raw bytes",70,[[["self"],["u32"],["vec",["u8"]]],["self"]]],[11,"build","","Finalize current builder, spawning resulting struct",70,N],[11,"fmt","","",61,[[["self"],["formatter"]],["result"]]],[11,"eq","","",61,[[["self"],["tabledefinition"]],["bool"]]],[11,"ne","","",61,[[["self"],["tabledefinition"]],["bool"]]],[11,"fmt","","",62,[[["self"],["formatter"]],["result"]]],[11,"eq","","",62,[[["self"],["tableentrydefinition"]],["bool"]]],[11,"ne","","",62,[[["self"],["tableentrydefinition"]],["bool"]]],[11,"new","","New table builder",71,[[],["self"]]],[11,"with_callback","","New table builder with callback in chained context",71,[[["f"]],["self"]]],[11,"with_min","","Set/override minimum length",71,[[["self"],["u32"]],["self"]]],[11,"with_max","","Set/override maximum length",71,[[["self"],["option",["u32"]]],["self"]]],[11,"with_element","","Generate initialization expression and element values on specified index",71,[[["self"],["u32"],["vec",["u32"]]],["self"]]],[11,"build","","Finalize current builder spawning resulting struct",71,N],[11,"default","","",61,[[],["self"]]],[11,"new","","New export builder",72,[[],["self"]]],[11,"with_callback","","New export entry builder in the specified chained context",72,[[["f"]],["self"]]],[11,"field","","Set the field name of the export entry",72,[[["self"],["str"]],["self"]]],[11,"with_internal","","Specify the internal module mapping for this entry",72,[[["self"],["internal"]],["self"]]],[11,"internal","","Start the internal builder for this export entry",72,[[["self"]],["exportinternalbuilder"]]],[11,"build","","Finalize export entry builder spawning the resulting struct",72,N],[11,"with_callback","","New export entry internal mapping for the chained context",73,[[["f"]],["self"]]],[11,"func","","Map to function by index",73,N],[11,"memory","","Map to memory",73,N],[11,"table","","Map to table",73,N],[11,"global","","Map to global",73,N],[11,"new","","New global builder",74,[[],["self"]]],[11,"with_callback","","New global builder with callback (in chained context)",74,[[["f"]],["self"]]],[11,"with_type","","Set/override resulting global type",74,[[["self"],["valuetype"]],["self"]]],[11,"mutable","","Set mutabilty to true",74,[[["self"]],["self"]]],[11,"init_expr","","Set initialization expression instruction for this global (`end` instruction will be added automatically)",74,[[["self"],["instruction"]],["self"]]],[11,"value_type","","Start value type builder",74,[[["self"]],["valuetypebuilder"]]],[11,"build","","Finalize current builder spawning resulting struct",74,N],[11,"new","","New data segment builder",75,[[],["self"]]],[11,"with_callback","","New data segment builder inside the chain context",75,[[["f"]],["self"]]],[11,"offset","","Set offset initialization instruction. `End` instruction will be added automatically.",75,[[["self"],["instruction"]],["self"]]],[11,"value","","Set the bytes value of the segment",75,[[["self"],["vec",["u8"]]],["self"]]],[11,"build","","Finish current builder, spawning resulting struct",75,N]],"paths":[[3,"CountedListWriter"],[3,"Unparsed"],[4,"ImportCountType"],[4,"Section"],[4,"External"],[4,"Internal"],[4,"Type"],[4,"ValueType"],[4,"BlockType"],[4,"TableElementType"],[4,"Instruction"],[4,"NameSection"],[4,"RelocationEntry"],[4,"Error"],[3,"VarUint32"],[3,"VarUint64"],[3,"VarUint7"],[3,"VarInt7"],[3,"Uint8"],[3,"VarInt32"],[3,"VarInt64"],[3,"Uint32"],[3,"Uint64"],[3,"VarUint1"],[3,"CountedList"],[3,"CountedWriter"],[3,"Module"],[3,"CustomSection"],[3,"TypeSection"],[3,"ImportSection"],[3,"FunctionSection"],[3,"TableSection"],[3,"MemorySection"],[3,"GlobalSection"],[3,"ExportSection"],[3,"CodeSection"],[3,"ElementSection"],[3,"DataSection"],[3,"FunctionType"],[3,"GlobalType"],[3,"TableType"],[3,"ResizableLimits"],[3,"MemoryType"],[3,"ImportEntry"],[3,"ExportEntry"],[3,"GlobalEntry"],[3,"Instructions"],[3,"InitExpr"],[3,"Func"],[3,"Local"],[3,"FuncBody"],[3,"ElementSegment"],[3,"DataSegment"],[3,"IndexMap"],[3,"ModuleNameSection"],[3,"FunctionNameSection"],[3,"LocalNameSection"],[3,"RelocSection"],[8,"Deserialize"],[8,"Serialize"],[3,"FunctionDefinition"],[3,"TableDefinition"],[3,"TableEntryDefinition"],[3,"ModuleBuilder"],[3,"SignatureBuilder"],[3,"TypeRefBuilder"],[3,"SignaturesBuilder"],[3,"FuncBodyBuilder"],[3,"FunctionBuilder"],[3,"ImportBuilder"],[3,"MemoryBuilder"],[3,"TableBuilder"],[3,"ExportBuilder"],[3,"ExportInternalBuilder"],[3,"GlobalBuilder"],[3,"DataSegmentBuilder"]]}; +initSearch(searchIndex); diff --git a/settings.css b/settings.css new file mode 100644 index 0000000..11fbf77 --- /dev/null +++ b/settings.css @@ -0,0 +1,12 @@ +/*! + * Copyright 2018 The Rust Project Developers. See the COPYRIGHT + * file at the top-level directory of this distribution and at + * http://rust-lang.org/COPYRIGHT. + * + * Licensed under the Apache License, Version 2.0 or the MIT license + * , at your + * option. This file may not be copied, modified, or distributed + * except according to those terms. + */ +.setting-line{padding:5px;}.setting-line>div{max-width:calc(100% - 74px);display:inline-block;vertical-align:top;font-size:17px;padding-top:2px;}.toggle{position:relative;display:inline-block;width:45px;height:27px;margin-right:20px;}.toggle input{display:none;}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.3s;transition:.3s;}.slider:before{position:absolute;content:"";height:19px;width:19px;left:4px;bottom:4px;background-color:white;-webkit-transition:.3s;transition:.3s;}input:checked+.slider{background-color:#2196F3;}input:focus+.slider{box-shadow:0 0 1px #2196F3;}input:checked+.slider:before{-webkit-transform:translateX(19px);-ms-transform:translateX(19px);transform:translateX(19px);} \ No newline at end of file diff --git a/settings.html b/settings.html new file mode 100644 index 0000000..32b3d6e --- /dev/null +++ b/settings.html @@ -0,0 +1 @@ +Rustdoc settings

Rustdoc settings

Auto-hide item declarations.
Auto-hide item attributes.
Auto-hide trait implementations documentation
Directly go to item in search if there is only one result
\ No newline at end of file diff --git a/settings.js b/settings.js new file mode 100644 index 0000000..ff9ce17 --- /dev/null +++ b/settings.js @@ -0,0 +1,11 @@ +/*! + * Copyright 2018 The Rust Project Developers. See the COPYRIGHT + * file at the top-level directory of this distribution and at + * http://rust-lang.org/COPYRIGHT. + * + * Licensed under the Apache License, Version 2.0 or the MIT license + * , at your + * option. This file may not be copied, modified, or distributed + * except according to those terms. + */(function(){function changeSetting(settingName,isEnabled){updateLocalStorage('rustdoc-'+settingName,isEnabled);}function getSettingValue(settingName){return getCurrentValue('rustdoc-'+settingName);}function setEvents(){var elems=document.getElementsByClassName("slider");if(!elems||elems.length===0){return;}for(var i=0;iio.rs.html -- source
   1
+   2
+   3
+   4
+   5
+   6
+   7
+   8
+   9
+  10
+  11
+  12
+  13
+  14
+  15
+  16
+  17
+  18
+  19
+  20
+  21
+  22
+  23
+  24
+  25
+  26
+  27
+  28
+  29
+  30
+  31
+  32
+  33
+  34
+  35
+  36
+  37
+  38
+  39
+  40
+  41
+  42
+  43
+  44
+  45
+  46
+  47
+  48
+  49
+  50
+  51
+  52
+  53
+  54
+  55
+  56
+  57
+  58
+  59
+  60
+  61
+  62
+  63
+  64
+  65
+  66
+  67
+  68
+  69
+  70
+  71
+  72
+  73
+  74
+  75
+  76
+  77
+  78
+  79
+  80
+  81
+  82
+  83
+  84
+  85
+  86
+  87
+  88
+  89
+  90
+  91
+  92
+  93
+  94
+  95
+  96
+  97
+  98
+  99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+
+use std::io::{self, Result};
+use std::slice;
+
+use ByteOrder;
+
+/// Extends [`Read`] with methods for reading numbers. (For `std::io`.)
+///
+/// Most of the methods defined here have an unconstrained type parameter that
+/// must be explicitly instantiated. Typically, it is instantiated with either
+/// the [`BigEndian`] or [`LittleEndian`] types defined in this crate.
+///
+/// # Examples
+///
+/// Read unsigned 16 bit big-endian integers from a [`Read`]:
+///
+/// ```rust
+/// use std::io::Cursor;
+/// use byteorder::{BigEndian, ReadBytesExt};
+///
+/// let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
+/// assert_eq!(517, rdr.read_u16::<BigEndian>().unwrap());
+/// assert_eq!(768, rdr.read_u16::<BigEndian>().unwrap());
+/// ```
+///
+/// [`BigEndian`]: enum.BigEndian.html
+/// [`LittleEndian`]: enum.LittleEndian.html
+/// [`Read`]: https://doc.rust-lang.org/std/io/trait.Read.html
+pub trait ReadBytesExt: io::Read {
+    /// Reads an unsigned 8 bit integer from the underlying reader.
+    ///
+    /// Note that since this reads a single byte, no byte order conversions
+    /// are used. It is included for completeness.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read unsigned 8 bit integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::ReadBytesExt;
+    ///
+    /// let mut rdr = Cursor::new(vec![2, 5]);
+    /// assert_eq!(2, rdr.read_u8().unwrap());
+    /// assert_eq!(5, rdr.read_u8().unwrap());
+    /// ```
+    #[inline]
+    fn read_u8(&mut self) -> Result<u8> {
+        let mut buf = [0; 1];
+        try!(self.read_exact(&mut buf));
+        Ok(buf[0])
+    }
+
+    /// Reads a signed 8 bit integer from the underlying reader.
+    ///
+    /// Note that since this reads a single byte, no byte order conversions
+    /// are used. It is included for completeness.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read signed 8 bit integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::ReadBytesExt;
+    ///
+    /// let mut rdr = Cursor::new(vec![0x02, 0xfb]);
+    /// assert_eq!(2, rdr.read_i8().unwrap());
+    /// assert_eq!(-5, rdr.read_i8().unwrap());
+    /// ```
+    #[inline]
+    fn read_i8(&mut self) -> Result<i8> {
+        let mut buf = [0; 1];
+        try!(self.read_exact(&mut buf));
+        Ok(buf[0] as i8)
+    }
+
+    /// Reads an unsigned 16 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read unsigned 16 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
+    /// assert_eq!(517, rdr.read_u16::<BigEndian>().unwrap());
+    /// assert_eq!(768, rdr.read_u16::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_u16<T: ByteOrder>(&mut self) -> Result<u16> {
+        let mut buf = [0; 2];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_u16(&buf))
+    }
+
+    /// Reads a signed 16 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read signed 16 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0x00, 0xc1, 0xff, 0x7c]);
+    /// assert_eq!(193, rdr.read_i16::<BigEndian>().unwrap());
+    /// assert_eq!(-132, rdr.read_i16::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_i16<T: ByteOrder>(&mut self) -> Result<i16> {
+        let mut buf = [0; 2];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_i16(&buf))
+    }
+
+    /// Reads an unsigned 24 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read unsigned 24 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0x00, 0x01, 0x0b]);
+    /// assert_eq!(267, rdr.read_u24::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_u24<T: ByteOrder>(&mut self) -> Result<u32> {
+        let mut buf = [0; 3];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_u24(&buf))
+    }
+
+    /// Reads a signed 24 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read signed 24 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0xff, 0x7a, 0x33]);
+    /// assert_eq!(-34253, rdr.read_i24::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_i24<T: ByteOrder>(&mut self) -> Result<i32> {
+        let mut buf = [0; 3];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_i24(&buf))
+    }
+
+    /// Reads an unsigned 32 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read unsigned 32 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0x00, 0x00, 0x01, 0x0b]);
+    /// assert_eq!(267, rdr.read_u32::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_u32<T: ByteOrder>(&mut self) -> Result<u32> {
+        let mut buf = [0; 4];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_u32(&buf))
+    }
+
+    /// Reads a signed 32 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read signed 32 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0xff, 0xff, 0x7a, 0x33]);
+    /// assert_eq!(-34253, rdr.read_i32::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_i32<T: ByteOrder>(&mut self) -> Result<i32> {
+        let mut buf = [0; 4];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_i32(&buf))
+    }
+
+    /// Reads an unsigned 48 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read unsigned 48 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0xb6, 0x71, 0x6b, 0xdc, 0x2b, 0x31]);
+    /// assert_eq!(200598257150769, rdr.read_u48::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_u48<T: ByteOrder>(&mut self) -> Result<u64> {
+        let mut buf = [0; 6];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_u48(&buf))
+    }
+
+    /// Reads a signed 48 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read signed 48 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0x9d, 0x71, 0xab, 0xe7, 0x97, 0x8f]);
+    /// assert_eq!(-108363435763825, rdr.read_i48::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_i48<T: ByteOrder>(&mut self) -> Result<i64> {
+        let mut buf = [0; 6];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_i48(&buf))
+    }
+
+    /// Reads an unsigned 64 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read an unsigned 64 bit big-endian integer from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83]);
+    /// assert_eq!(918733457491587, rdr.read_u64::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_u64<T: ByteOrder>(&mut self) -> Result<u64> {
+        let mut buf = [0; 8];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_u64(&buf))
+    }
+
+    /// Reads a signed 64 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a signed 64 bit big-endian integer from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0x80, 0, 0, 0, 0, 0, 0, 0]);
+    /// assert_eq!(i64::min_value(), rdr.read_i64::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_i64<T: ByteOrder>(&mut self) -> Result<i64> {
+        let mut buf = [0; 8];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_i64(&buf))
+    }
+
+    /// Reads an unsigned 128 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read an unsigned 128 bit big-endian integer from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![
+    ///     0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83,
+    ///     0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83
+    /// ]);
+    /// assert_eq!(16947640962301618749969007319746179, rdr.read_u128::<BigEndian>().unwrap());
+    /// ```
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_u128<T: ByteOrder>(&mut self) -> Result<u128> {
+        let mut buf = [0; 16];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_u128(&buf))
+    }
+
+    /// Reads a signed 128 bit integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a signed 128 bit big-endian integer from a `Read`:
+    ///
+    /// ```rust
+    /// #![feature(i128_type)]
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+    /// assert_eq!(i128::min_value(), rdr.read_i128::<BigEndian>().unwrap());
+    /// ```
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_i128<T: ByteOrder>(&mut self) -> Result<i128> {
+        let mut buf = [0; 16];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_i128(&buf))
+    }
+
+    /// Reads an unsigned n-bytes integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read an unsigned n-byte big-endian integer from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0x80, 0x74, 0xfa]);
+    /// assert_eq!(8418554, rdr.read_uint::<BigEndian>(3).unwrap());
+    #[inline]
+    fn read_uint<T: ByteOrder>(&mut self, nbytes: usize) -> Result<u64> {
+        let mut buf = [0; 8];
+        try!(self.read_exact(&mut buf[..nbytes]));
+        Ok(T::read_uint(&buf[..nbytes], nbytes))
+    }
+
+    /// Reads a signed n-bytes integer from the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read an unsigned n-byte big-endian integer from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0xc1, 0xff, 0x7c]);
+    /// assert_eq!(-4063364, rdr.read_int::<BigEndian>(3).unwrap());
+    #[inline]
+    fn read_int<T: ByteOrder>(&mut self, nbytes: usize) -> Result<i64> {
+        let mut buf = [0; 8];
+        try!(self.read_exact(&mut buf[..nbytes]));
+        Ok(T::read_int(&buf[..nbytes], nbytes))
+    }
+
+    /// Reads an unsigned n-bytes integer from the underlying reader.
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_uint128<T: ByteOrder>(&mut self, nbytes: usize) -> Result<u128> {
+        let mut buf = [0; 16];
+        try!(self.read_exact(&mut buf[..nbytes]));
+        Ok(T::read_uint128(&buf[..nbytes], nbytes))
+    }
+
+    /// Reads a signed n-bytes integer from the underlying reader.
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_int128<T: ByteOrder>(&mut self, nbytes: usize) -> Result<i128> {
+        let mut buf = [0; 16];
+        try!(self.read_exact(&mut buf[..nbytes]));
+        Ok(T::read_int128(&buf[..nbytes], nbytes))
+    }
+
+    /// Reads a IEEE754 single-precision (4 bytes) floating point number from
+    /// the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a big-endian single-precision floating point number from a `Read`:
+    ///
+    /// ```rust
+    /// use std::f32;
+    /// use std::io::Cursor;
+    ///
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![
+    ///     0x40, 0x49, 0x0f, 0xdb,
+    /// ]);
+    /// assert_eq!(f32::consts::PI, rdr.read_f32::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_f32<T: ByteOrder>(&mut self) -> Result<f32> {
+        let mut buf = [0; 4];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_f32(&buf))
+    }
+
+    /// Reads a IEEE754 double-precision (8 bytes) floating point number from
+    /// the underlying reader.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a big-endian double-precision floating point number from a `Read`:
+    ///
+    /// ```rust
+    /// use std::f64;
+    /// use std::io::Cursor;
+    ///
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![
+    ///     0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18,
+    /// ]);
+    /// assert_eq!(f64::consts::PI, rdr.read_f64::<BigEndian>().unwrap());
+    /// ```
+    #[inline]
+    fn read_f64<T: ByteOrder>(&mut self) -> Result<f64> {
+        let mut buf = [0; 8];
+        try!(self.read_exact(&mut buf));
+        Ok(T::read_f64(&buf))
+    }
+
+    /// Reads a sequence of unsigned 16 bit integers from the underlying
+    /// reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of unsigned 16 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
+    /// let mut dst = [0; 2];
+    /// rdr.read_u16_into::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([517, 768], dst);
+    /// ```
+    #[inline]
+    fn read_u16_into<T: ByteOrder>(&mut self, dst: &mut [u16]) -> Result<()> {
+        {
+            let buf = unsafe { slice_to_u8_mut(dst) };
+            try!(self.read_exact(buf));
+        }
+        T::from_slice_u16(dst);
+        Ok(())
+    }
+
+    /// Reads a sequence of unsigned 32 bit integers from the underlying
+    /// reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of unsigned 32 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0, 0, 2, 5, 0, 0, 3, 0]);
+    /// let mut dst = [0; 2];
+    /// rdr.read_u32_into::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([517, 768], dst);
+    /// ```
+    #[inline]
+    fn read_u32_into<T: ByteOrder>(&mut self, dst: &mut [u32]) -> Result<()> {
+        {
+            let buf = unsafe { slice_to_u8_mut(dst) };
+            try!(self.read_exact(buf));
+        }
+        T::from_slice_u32(dst);
+        Ok(())
+    }
+
+    /// Reads a sequence of unsigned 64 bit integers from the underlying
+    /// reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of unsigned 64 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![
+    ///     0, 0, 0, 0, 0, 0, 2, 5,
+    ///     0, 0, 0, 0, 0, 0, 3, 0,
+    /// ]);
+    /// let mut dst = [0; 2];
+    /// rdr.read_u64_into::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([517, 768], dst);
+    /// ```
+    #[inline]
+    fn read_u64_into<T: ByteOrder>(&mut self, dst: &mut [u64]) -> Result<()> {
+        {
+            let buf = unsafe { slice_to_u8_mut(dst) };
+            try!(self.read_exact(buf));
+        }
+        T::from_slice_u64(dst);
+        Ok(())
+    }
+
+    /// Reads a sequence of unsigned 128 bit integers from the underlying
+    /// reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of unsigned 128 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![
+    ///     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,
+    ///     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0,
+    /// ]);
+    /// let mut dst = [0; 2];
+    /// rdr.read_u128_into::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([517, 768], dst);
+    /// ```
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_u128_into<T: ByteOrder>(
+        &mut self,
+        dst: &mut [u128],
+    ) -> Result<()> {
+        {
+            let buf = unsafe { slice_to_u8_mut(dst) };
+            try!(self.read_exact(buf));
+        }
+        T::from_slice_u128(dst);
+        Ok(())
+    }
+
+    /// Reads a sequence of signed 16 bit integers from the underlying
+    /// reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of signed 16 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
+    /// let mut dst = [0; 2];
+    /// rdr.read_i16_into::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([517, 768], dst);
+    /// ```
+    #[inline]
+    fn read_i16_into<T: ByteOrder>(&mut self, dst: &mut [i16]) -> Result<()> {
+        {
+            let buf = unsafe { slice_to_u8_mut(dst) };
+            try!(self.read_exact(buf));
+        }
+        T::from_slice_i16(dst);
+        Ok(())
+    }
+
+    /// Reads a sequence of signed 32 bit integers from the underlying
+    /// reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of signed 32 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![0, 0, 2, 5, 0, 0, 3, 0]);
+    /// let mut dst = [0; 2];
+    /// rdr.read_i32_into::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([517, 768], dst);
+    /// ```
+    #[inline]
+    fn read_i32_into<T: ByteOrder>(&mut self, dst: &mut [i32]) -> Result<()> {
+        {
+            let buf = unsafe { slice_to_u8_mut(dst) };
+            try!(self.read_exact(buf));
+        }
+        T::from_slice_i32(dst);
+        Ok(())
+    }
+
+    /// Reads a sequence of signed 64 bit integers from the underlying
+    /// reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of signed 64 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![
+    ///     0, 0, 0, 0, 0, 0, 2, 5,
+    ///     0, 0, 0, 0, 0, 0, 3, 0,
+    /// ]);
+    /// let mut dst = [0; 2];
+    /// rdr.read_i64_into::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([517, 768], dst);
+    /// ```
+    #[inline]
+    fn read_i64_into<T: ByteOrder>(&mut self, dst: &mut [i64]) -> Result<()> {
+        {
+            let buf = unsafe { slice_to_u8_mut(dst) };
+            try!(self.read_exact(buf));
+        }
+        T::from_slice_i64(dst);
+        Ok(())
+    }
+
+    /// Reads a sequence of signed 128 bit integers from the underlying
+    /// reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of signed 128 bit big-endian integers from a `Read`:
+    ///
+    /// ```rust
+    /// use std::io::Cursor;
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![
+    ///     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,
+    ///     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0,
+    /// ]);
+    /// let mut dst = [0; 2];
+    /// rdr.read_i128_into::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([517, 768], dst);
+    /// ```
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_i128_into<T: ByteOrder>(
+        &mut self,
+        dst: &mut [i128],
+    ) -> Result<()> {
+        {
+            let buf = unsafe { slice_to_u8_mut(dst) };
+            try!(self.read_exact(buf));
+        }
+        T::from_slice_i128(dst);
+        Ok(())
+    }
+
+    /// Reads a sequence of IEEE754 single-precision (4 bytes) floating
+    /// point numbers from the underlying reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of big-endian single-precision floating point number
+    /// from a `Read`:
+    ///
+    /// ```rust
+    /// use std::f32;
+    /// use std::io::Cursor;
+    ///
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![
+    ///     0x40, 0x49, 0x0f, 0xdb,
+    ///     0x3f, 0x80, 0x00, 0x00,
+    /// ]);
+    /// let mut dst = [0.0; 2];
+    /// rdr.read_f32_into::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([f32::consts::PI, 1.0], dst);
+    /// ```
+    #[inline]
+    fn read_f32_into<T: ByteOrder>(
+        &mut self,
+        dst: &mut [f32],
+    ) -> Result<()> {
+        {
+            let buf = unsafe { slice_to_u8_mut(dst) };
+            try!(self.read_exact(buf));
+        }
+        T::from_slice_f32(dst);
+        Ok(())
+    }
+
+    /// **DEPRECATED**.
+    ///
+    /// This method is deprecated. Use `read_f32_into` instead.
+    ///
+    /// Reads a sequence of IEEE754 single-precision (4 bytes) floating
+    /// point numbers from the underlying reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of big-endian single-precision floating point number
+    /// from a `Read`:
+    ///
+    /// ```rust
+    /// use std::f32;
+    /// use std::io::Cursor;
+    ///
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![
+    ///     0x40, 0x49, 0x0f, 0xdb,
+    ///     0x3f, 0x80, 0x00, 0x00,
+    /// ]);
+    /// let mut dst = [0.0; 2];
+    /// rdr.read_f32_into_unchecked::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([f32::consts::PI, 1.0], dst);
+    /// ```
+    #[inline]
+    #[deprecated(since="1.2.0", note="please use `read_f32_into` instead")]
+    fn read_f32_into_unchecked<T: ByteOrder>(
+        &mut self,
+        dst: &mut [f32],
+    ) -> Result<()> {
+        self.read_f32_into::<T>(dst)
+    }
+
+    /// Reads a sequence of IEEE754 double-precision (8 bytes) floating
+    /// point numbers from the underlying reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of big-endian single-precision floating point number
+    /// from a `Read`:
+    ///
+    /// ```rust
+    /// use std::f64;
+    /// use std::io::Cursor;
+    ///
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![
+    ///     0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18,
+    ///     0x3f, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    /// ]);
+    /// let mut dst = [0.0; 2];
+    /// rdr.read_f64_into::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([f64::consts::PI, 1.0], dst);
+    /// ```
+    #[inline]
+    fn read_f64_into<T: ByteOrder>(
+        &mut self,
+        dst: &mut [f64],
+    ) -> Result<()> {
+        {
+            let buf = unsafe { slice_to_u8_mut(dst) };
+            try!(self.read_exact(buf));
+        }
+        T::from_slice_f64(dst);
+        Ok(())
+    }
+
+    /// **DEPRECATED**.
+    ///
+    /// This method is deprecated. Use `read_f64_into` instead.
+    ///
+    /// Reads a sequence of IEEE754 double-precision (8 bytes) floating
+    /// point numbers from the underlying reader.
+    ///
+    /// The given buffer is either filled completely or an error is returned.
+    /// If an error is returned, the contents of `dst` are unspecified.
+    ///
+    /// # Safety
+    ///
+    /// This method is unsafe because there are no guarantees made about the
+    /// floating point values. In particular, this method does not check for
+    /// signaling NaNs, which may result in undefined behavior.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Read::read_exact`].
+    ///
+    /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact
+    ///
+    /// # Examples
+    ///
+    /// Read a sequence of big-endian single-precision floating point number
+    /// from a `Read`:
+    ///
+    /// ```rust
+    /// use std::f64;
+    /// use std::io::Cursor;
+    ///
+    /// use byteorder::{BigEndian, ReadBytesExt};
+    ///
+    /// let mut rdr = Cursor::new(vec![
+    ///     0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18,
+    ///     0x3f, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    /// ]);
+    /// let mut dst = [0.0; 2];
+    /// rdr.read_f64_into_unchecked::<BigEndian>(&mut dst).unwrap();
+    /// assert_eq!([f64::consts::PI, 1.0], dst);
+    /// ```
+    #[inline]
+    #[deprecated(since="1.2.0", note="please use `read_f64_into` instead")]
+    fn read_f64_into_unchecked<T: ByteOrder>(
+        &mut self,
+        dst: &mut [f64],
+    ) -> Result<()> {
+        self.read_f64_into::<T>(dst)
+    }
+}
+
+/// All types that implement `Read` get methods defined in `ReadBytesExt`
+/// for free.
+impl<R: io::Read + ?Sized> ReadBytesExt for R {}
+
+/// Extends [`Write`] with methods for writing numbers. (For `std::io`.)
+///
+/// Most of the methods defined here have an unconstrained type parameter that
+/// must be explicitly instantiated. Typically, it is instantiated with either
+/// the [`BigEndian`] or [`LittleEndian`] types defined in this crate.
+///
+/// # Examples
+///
+/// Write unsigned 16 bit big-endian integers to a [`Write`]:
+///
+/// ```rust
+/// use byteorder::{BigEndian, WriteBytesExt};
+///
+/// let mut wtr = vec![];
+/// wtr.write_u16::<BigEndian>(517).unwrap();
+/// wtr.write_u16::<BigEndian>(768).unwrap();
+/// assert_eq!(wtr, vec![2, 5, 3, 0]);
+/// ```
+///
+/// [`BigEndian`]: enum.BigEndian.html
+/// [`LittleEndian`]: enum.LittleEndian.html
+/// [`Write`]: https://doc.rust-lang.org/std/io/trait.Write.html
+pub trait WriteBytesExt: io::Write {
+    /// Writes an unsigned 8 bit integer to the underlying writer.
+    ///
+    /// Note that since this writes a single byte, no byte order conversions
+    /// are used. It is included for completeness.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write unsigned 8 bit integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::WriteBytesExt;
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_u8(2).unwrap();
+    /// wtr.write_u8(5).unwrap();
+    /// assert_eq!(wtr, b"\x02\x05");
+    /// ```
+    #[inline]
+    fn write_u8(&mut self, n: u8) -> Result<()> {
+        self.write_all(&[n])
+    }
+
+    /// Writes a signed 8 bit integer to the underlying writer.
+    ///
+    /// Note that since this writes a single byte, no byte order conversions
+    /// are used. It is included for completeness.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write signed 8 bit integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::WriteBytesExt;
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_i8(2).unwrap();
+    /// wtr.write_i8(-5).unwrap();
+    /// assert_eq!(wtr, b"\x02\xfb");
+    /// ```
+    #[inline]
+    fn write_i8(&mut self, n: i8) -> Result<()> {
+        self.write_all(&[n as u8])
+    }
+
+    /// Writes an unsigned 16 bit integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write unsigned 16 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_u16::<BigEndian>(517).unwrap();
+    /// wtr.write_u16::<BigEndian>(768).unwrap();
+    /// assert_eq!(wtr, b"\x02\x05\x03\x00");
+    /// ```
+    #[inline]
+    fn write_u16<T: ByteOrder>(&mut self, n: u16) -> Result<()> {
+        let mut buf = [0; 2];
+        T::write_u16(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes a signed 16 bit integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write signed 16 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_i16::<BigEndian>(193).unwrap();
+    /// wtr.write_i16::<BigEndian>(-132).unwrap();
+    /// assert_eq!(wtr, b"\x00\xc1\xff\x7c");
+    /// ```
+    #[inline]
+    fn write_i16<T: ByteOrder>(&mut self, n: i16) -> Result<()> {
+        let mut buf = [0; 2];
+        T::write_i16(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes an unsigned 24 bit integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write unsigned 24 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_u24::<BigEndian>(267).unwrap();
+    /// wtr.write_u24::<BigEndian>(120111).unwrap();
+    /// assert_eq!(wtr, b"\x00\x01\x0b\x01\xd5\x2f");
+    /// ```
+    #[inline]
+    fn write_u24<T: ByteOrder>(&mut self, n: u32) -> Result<()> {
+        let mut buf = [0; 3];
+        T::write_u24(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes a signed 24 bit integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write signed 24 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_i24::<BigEndian>(-34253).unwrap();
+    /// wtr.write_i24::<BigEndian>(120111).unwrap();
+    /// assert_eq!(wtr, b"\xff\x7a\x33\x01\xd5\x2f");
+    /// ```
+    #[inline]
+    fn write_i24<T: ByteOrder>(&mut self, n: i32) -> Result<()> {
+        let mut buf = [0; 3];
+        T::write_i24(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes an unsigned 32 bit integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write unsigned 32 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_u32::<BigEndian>(267).unwrap();
+    /// wtr.write_u32::<BigEndian>(1205419366).unwrap();
+    /// assert_eq!(wtr, b"\x00\x00\x01\x0b\x47\xd9\x3d\x66");
+    /// ```
+    #[inline]
+    fn write_u32<T: ByteOrder>(&mut self, n: u32) -> Result<()> {
+        let mut buf = [0; 4];
+        T::write_u32(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes a signed 32 bit integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write signed 32 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_i32::<BigEndian>(-34253).unwrap();
+    /// wtr.write_i32::<BigEndian>(1205419366).unwrap();
+    /// assert_eq!(wtr, b"\xff\xff\x7a\x33\x47\xd9\x3d\x66");
+    /// ```
+    #[inline]
+    fn write_i32<T: ByteOrder>(&mut self, n: i32) -> Result<()> {
+        let mut buf = [0; 4];
+        T::write_i32(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes an unsigned 48 bit integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write unsigned 48 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_u48::<BigEndian>(52360336390828).unwrap();
+    /// wtr.write_u48::<BigEndian>(541).unwrap();
+    /// assert_eq!(wtr, b"\x2f\x9f\x17\x40\x3a\xac\x00\x00\x00\x00\x02\x1d");
+    /// ```
+    #[inline]
+    fn write_u48<T: ByteOrder>(&mut self, n: u64) -> Result<()> {
+        let mut buf = [0; 6];
+        T::write_u48(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes a signed 48 bit integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write signed 48 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_i48::<BigEndian>(-108363435763825).unwrap();
+    /// wtr.write_i48::<BigEndian>(77).unwrap();
+    /// assert_eq!(wtr, b"\x9d\x71\xab\xe7\x97\x8f\x00\x00\x00\x00\x00\x4d");
+    /// ```
+    #[inline]
+    fn write_i48<T: ByteOrder>(&mut self, n: i64) -> Result<()> {
+        let mut buf = [0; 6];
+        T::write_i48(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes an unsigned 64 bit integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write unsigned 64 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_u64::<BigEndian>(918733457491587).unwrap();
+    /// wtr.write_u64::<BigEndian>(143).unwrap();
+    /// assert_eq!(wtr, b"\x00\x03\x43\x95\x4d\x60\x86\x83\x00\x00\x00\x00\x00\x00\x00\x8f");
+    /// ```
+    #[inline]
+    fn write_u64<T: ByteOrder>(&mut self, n: u64) -> Result<()> {
+        let mut buf = [0; 8];
+        T::write_u64(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes a signed 64 bit integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write signed 64 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_i64::<BigEndian>(i64::min_value()).unwrap();
+    /// wtr.write_i64::<BigEndian>(i64::max_value()).unwrap();
+    /// assert_eq!(wtr, b"\x80\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff");
+    /// ```
+    #[inline]
+    fn write_i64<T: ByteOrder>(&mut self, n: i64) -> Result<()> {
+        let mut buf = [0; 8];
+        T::write_i64(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes an unsigned 128 bit integer to the underlying writer.
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_u128<T: ByteOrder>(&mut self, n: u128) -> Result<()> {
+        let mut buf = [0; 16];
+        T::write_u128(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes a signed 128 bit integer to the underlying writer.
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_i128<T: ByteOrder>(&mut self, n: i128) -> Result<()> {
+        let mut buf = [0; 16];
+        T::write_i128(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes an unsigned n-bytes integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Panics
+    ///
+    /// If the given integer is not representable in the given number of bytes,
+    /// this method panics. If `nbytes > 8`, this method panics.
+    ///
+    /// # Examples
+    ///
+    /// Write unsigned 40 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_uint::<BigEndian>(312550384361, 5).unwrap();
+    /// wtr.write_uint::<BigEndian>(43, 5).unwrap();
+    /// assert_eq!(wtr, b"\x48\xc5\x74\x62\xe9\x00\x00\x00\x00\x2b");
+    /// ```
+    #[inline]
+    fn write_uint<T: ByteOrder>(
+        &mut self,
+        n: u64,
+        nbytes: usize,
+    ) -> Result<()> {
+        let mut buf = [0; 8];
+        T::write_uint(&mut buf, n, nbytes);
+        self.write_all(&buf[0..nbytes])
+    }
+
+    /// Writes a signed n-bytes integer to the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Panics
+    ///
+    /// If the given integer is not representable in the given number of bytes,
+    /// this method panics. If `nbytes > 8`, this method panics.
+    ///
+    /// # Examples
+    ///
+    /// Write signed 56 bit big-endian integers to a `Write`:
+    ///
+    /// ```rust
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_int::<BigEndian>(-3548172039376767, 7).unwrap();
+    /// wtr.write_int::<BigEndian>(43, 7).unwrap();
+    /// assert_eq!(wtr, b"\xf3\x64\xf4\xd1\xfd\xb0\x81\x00\x00\x00\x00\x00\x00\x2b");
+    /// ```
+    #[inline]
+    fn write_int<T: ByteOrder>(
+        &mut self,
+        n: i64,
+        nbytes: usize,
+    ) -> Result<()> {
+        let mut buf = [0; 8];
+        T::write_int(&mut buf, n, nbytes);
+        self.write_all(&buf[0..nbytes])
+    }
+
+    /// Writes an unsigned n-bytes integer to the underlying writer.
+    ///
+    /// If the given integer is not representable in the given number of bytes,
+    /// this method panics. If `nbytes > 16`, this method panics.
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_uint128<T: ByteOrder>(
+        &mut self,
+        n: u128,
+        nbytes: usize,
+    ) -> Result<()> {
+        let mut buf = [0; 16];
+        T::write_uint128(&mut buf, n, nbytes);
+        self.write_all(&buf[0..nbytes])
+    }
+
+    /// Writes a signed n-bytes integer to the underlying writer.
+    ///
+    /// If the given integer is not representable in the given number of bytes,
+    /// this method panics. If `nbytes > 16`, this method panics.
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_int128<T: ByteOrder>(
+        &mut self,
+        n: i128,
+        nbytes: usize,
+    ) -> Result<()> {
+        let mut buf = [0; 16];
+        T::write_int128(&mut buf, n, nbytes);
+        self.write_all(&buf[0..nbytes])
+    }
+
+    /// Writes a IEEE754 single-precision (4 bytes) floating point number to
+    /// the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write a big-endian single-precision floating point number to a `Write`:
+    ///
+    /// ```rust
+    /// use std::f32;
+    ///
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_f32::<BigEndian>(f32::consts::PI).unwrap();
+    /// assert_eq!(wtr, b"\x40\x49\x0f\xdb");
+    /// ```
+    #[inline]
+    fn write_f32<T: ByteOrder>(&mut self, n: f32) -> Result<()> {
+        let mut buf = [0; 4];
+        T::write_f32(&mut buf, n);
+        self.write_all(&buf)
+    }
+
+    /// Writes a IEEE754 double-precision (8 bytes) floating point number to
+    /// the underlying writer.
+    ///
+    /// # Errors
+    ///
+    /// This method returns the same errors as [`Write::write_all`].
+    ///
+    /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all
+    ///
+    /// # Examples
+    ///
+    /// Write a big-endian double-precision floating point number to a `Write`:
+    ///
+    /// ```rust
+    /// use std::f64;
+    ///
+    /// use byteorder::{BigEndian, WriteBytesExt};
+    ///
+    /// let mut wtr = Vec::new();
+    /// wtr.write_f64::<BigEndian>(f64::consts::PI).unwrap();
+    /// assert_eq!(wtr, b"\x40\x09\x21\xfb\x54\x44\x2d\x18");
+    /// ```
+    #[inline]
+    fn write_f64<T: ByteOrder>(&mut self, n: f64) -> Result<()> {
+        let mut buf = [0; 8];
+        T::write_f64(&mut buf, n);
+        self.write_all(&buf)
+    }
+}
+
+/// All types that implement `Write` get methods defined in `WriteBytesExt`
+/// for free.
+impl<W: io::Write + ?Sized> WriteBytesExt for W {}
+
+/// Convert a slice of T (where T is plain old data) to its mutable binary
+/// representation.
+///
+/// This function is wildly unsafe because it permits arbitrary modification of
+/// the binary representation of any `Copy` type. Use with care.
+unsafe fn slice_to_u8_mut<T: Copy>(slice: &mut [T]) -> &mut [u8] {
+    use std::mem::size_of;
+
+    let len = size_of::<T>() * slice.len();
+    slice::from_raw_parts_mut(slice.as_mut_ptr() as *mut u8, len)
+}
+
+
\ No newline at end of file diff --git a/src/byteorder/lib.rs.html b/src/byteorder/lib.rs.html new file mode 100644 index 0000000..9a0cd42 --- /dev/null +++ b/src/byteorder/lib.rs.html @@ -0,0 +1,6501 @@ +lib.rs.html -- source
   1
+   2
+   3
+   4
+   5
+   6
+   7
+   8
+   9
+  10
+  11
+  12
+  13
+  14
+  15
+  16
+  17
+  18
+  19
+  20
+  21
+  22
+  23
+  24
+  25
+  26
+  27
+  28
+  29
+  30
+  31
+  32
+  33
+  34
+  35
+  36
+  37
+  38
+  39
+  40
+  41
+  42
+  43
+  44
+  45
+  46
+  47
+  48
+  49
+  50
+  51
+  52
+  53
+  54
+  55
+  56
+  57
+  58
+  59
+  60
+  61
+  62
+  63
+  64
+  65
+  66
+  67
+  68
+  69
+  70
+  71
+  72
+  73
+  74
+  75
+  76
+  77
+  78
+  79
+  80
+  81
+  82
+  83
+  84
+  85
+  86
+  87
+  88
+  89
+  90
+  91
+  92
+  93
+  94
+  95
+  96
+  97
+  98
+  99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
+2718
+2719
+2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
+2746
+2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
+2757
+2758
+2759
+2760
+2761
+2762
+2763
+2764
+2765
+2766
+2767
+2768
+2769
+2770
+2771
+2772
+2773
+2774
+2775
+2776
+2777
+2778
+2779
+2780
+2781
+2782
+2783
+2784
+2785
+2786
+2787
+2788
+2789
+2790
+2791
+2792
+2793
+2794
+2795
+2796
+2797
+2798
+2799
+2800
+2801
+2802
+2803
+2804
+2805
+2806
+2807
+2808
+2809
+2810
+2811
+2812
+2813
+2814
+2815
+2816
+2817
+2818
+2819
+2820
+2821
+2822
+2823
+2824
+2825
+2826
+2827
+2828
+2829
+2830
+2831
+2832
+2833
+2834
+2835
+2836
+2837
+2838
+2839
+2840
+2841
+2842
+2843
+2844
+2845
+2846
+2847
+2848
+2849
+2850
+2851
+2852
+2853
+2854
+2855
+2856
+2857
+2858
+2859
+2860
+2861
+2862
+2863
+2864
+2865
+2866
+2867
+2868
+2869
+2870
+2871
+2872
+2873
+2874
+2875
+2876
+2877
+2878
+2879
+2880
+2881
+2882
+2883
+2884
+2885
+2886
+2887
+2888
+2889
+2890
+2891
+2892
+2893
+2894
+2895
+2896
+2897
+2898
+2899
+2900
+2901
+2902
+2903
+2904
+2905
+2906
+2907
+2908
+2909
+2910
+2911
+2912
+2913
+2914
+2915
+2916
+2917
+2918
+2919
+2920
+2921
+2922
+2923
+2924
+2925
+2926
+2927
+2928
+2929
+2930
+2931
+2932
+2933
+2934
+2935
+2936
+2937
+2938
+2939
+2940
+2941
+2942
+2943
+2944
+2945
+2946
+2947
+2948
+2949
+2950
+2951
+2952
+2953
+2954
+2955
+2956
+2957
+2958
+2959
+2960
+2961
+2962
+2963
+2964
+2965
+2966
+2967
+2968
+2969
+2970
+2971
+2972
+2973
+2974
+2975
+2976
+2977
+2978
+2979
+2980
+2981
+2982
+2983
+2984
+2985
+2986
+2987
+2988
+2989
+2990
+2991
+2992
+2993
+2994
+2995
+2996
+2997
+2998
+2999
+3000
+3001
+3002
+3003
+3004
+3005
+3006
+3007
+3008
+3009
+3010
+3011
+3012
+3013
+3014
+3015
+3016
+3017
+3018
+3019
+3020
+3021
+3022
+3023
+3024
+3025
+3026
+3027
+3028
+3029
+3030
+3031
+3032
+3033
+3034
+3035
+3036
+3037
+3038
+3039
+3040
+3041
+3042
+3043
+3044
+3045
+3046
+3047
+3048
+3049
+3050
+3051
+3052
+3053
+3054
+3055
+3056
+3057
+3058
+3059
+3060
+3061
+3062
+3063
+3064
+3065
+3066
+3067
+3068
+3069
+3070
+3071
+3072
+3073
+3074
+3075
+3076
+3077
+3078
+3079
+3080
+3081
+3082
+3083
+3084
+3085
+3086
+3087
+3088
+3089
+3090
+3091
+3092
+3093
+3094
+3095
+3096
+3097
+3098
+3099
+3100
+3101
+3102
+3103
+3104
+3105
+3106
+3107
+3108
+3109
+3110
+3111
+3112
+3113
+3114
+3115
+3116
+3117
+3118
+3119
+3120
+3121
+3122
+3123
+3124
+3125
+3126
+3127
+3128
+3129
+3130
+3131
+3132
+3133
+3134
+3135
+3136
+3137
+3138
+3139
+3140
+3141
+3142
+3143
+3144
+3145
+3146
+3147
+3148
+3149
+3150
+3151
+3152
+3153
+3154
+3155
+3156
+3157
+3158
+3159
+3160
+3161
+3162
+3163
+3164
+3165
+3166
+3167
+3168
+3169
+3170
+3171
+3172
+3173
+3174
+3175
+3176
+3177
+3178
+3179
+3180
+3181
+3182
+3183
+3184
+3185
+3186
+3187
+3188
+3189
+3190
+3191
+3192
+3193
+3194
+3195
+3196
+3197
+3198
+3199
+3200
+3201
+3202
+3203
+3204
+3205
+3206
+3207
+3208
+3209
+3210
+3211
+3212
+3213
+3214
+3215
+3216
+3217
+3218
+3219
+3220
+3221
+3222
+3223
+3224
+3225
+3226
+3227
+3228
+3229
+3230
+3231
+3232
+3233
+3234
+3235
+3236
+3237
+3238
+3239
+3240
+3241
+3242
+3243
+3244
+3245
+3246
+3247
+3248
+3249
+
+/*!
+This crate provides convenience methods for encoding and decoding numbers
+in either [big-endian or little-endian order].
+
+The organization of the crate is pretty simple. A trait, [`ByteOrder`], specifies
+byte conversion methods for each type of number in Rust (sans numbers that have
+a platform dependent size like `usize` and `isize`). Two types, [`BigEndian`]
+and [`LittleEndian`] implement these methods. Finally, [`ReadBytesExt`] and
+[`WriteBytesExt`] provide convenience methods available to all types that
+implement [`Read`] and [`Write`].
+
+An alias, [`NetworkEndian`], for [`BigEndian`] is provided to help improve
+code clarity.
+
+An additional alias, [`NativeEndian`], is provided for the endianness of the
+local platform. This is convenient when serializing data for use and
+conversions are not desired.
+
+# Examples
+
+Read unsigned 16 bit big-endian integers from a [`Read`] type:
+
+```rust
+use std::io::Cursor;
+use byteorder::{BigEndian, ReadBytesExt};
+
+let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
+// Note that we use type parameters to indicate which kind of byte order
+// we want!
+assert_eq!(517, rdr.read_u16::<BigEndian>().unwrap());
+assert_eq!(768, rdr.read_u16::<BigEndian>().unwrap());
+```
+
+Write unsigned 16 bit little-endian integers to a [`Write`] type:
+
+```rust
+use byteorder::{LittleEndian, WriteBytesExt};
+
+let mut wtr = vec![];
+wtr.write_u16::<LittleEndian>(517).unwrap();
+wtr.write_u16::<LittleEndian>(768).unwrap();
+assert_eq!(wtr, vec![5, 2, 0, 3]);
+```
+
+# Optional Features
+
+This crate optionally provides support for 128 bit values (`i128` and `u128`)
+when built with the `i128` feature enabled.
+
+This crate can also be used without the standard library.
+
+[big-endian or little-endian order]: https://en.wikipedia.org/wiki/Endianness
+[`ByteOrder`]: trait.ByteOrder.html
+[`BigEndian`]: enum.BigEndian.html
+[`LittleEndian`]: enum.LittleEndian.html
+[`ReadBytesExt`]: trait.ReadBytesExt.html
+[`WriteBytesExt`]: trait.WriteBytesExt.html
+[`NetworkEndian`]: type.NetworkEndian.html
+[`NativeEndian`]: type.NativeEndian.html
+[`Read`]: https://doc.rust-lang.org/std/io/trait.Read.html
+[`Write`]: https://doc.rust-lang.org/std/io/trait.Write.html
+*/
+
+#![deny(missing_docs)]
+#![cfg_attr(not(feature = "std"), no_std)]
+
+#[cfg(feature = "std")]
+extern crate core;
+
+use core::fmt::Debug;
+use core::hash::Hash;
+use core::ptr::copy_nonoverlapping;
+use core::slice;
+
+#[cfg(feature = "std")]
+pub use io::{ReadBytesExt, WriteBytesExt};
+
+#[cfg(feature = "std")]
+mod io;
+
+#[inline]
+fn extend_sign(val: u64, nbytes: usize) -> i64 {
+    let shift = (8 - nbytes) * 8;
+    (val << shift) as i64 >> shift
+}
+
+#[cfg(feature = "i128")]
+#[inline]
+fn extend_sign128(val: u128, nbytes: usize) -> i128 {
+    let shift = (16 - nbytes) * 8;
+    (val << shift) as i128 >> shift
+}
+
+#[inline]
+fn unextend_sign(val: i64, nbytes: usize) -> u64 {
+    let shift = (8 - nbytes) * 8;
+    (val << shift) as u64 >> shift
+}
+
+#[cfg(feature = "i128")]
+#[inline]
+fn unextend_sign128(val: i128, nbytes: usize) -> u128 {
+    let shift = (16 - nbytes) * 8;
+    (val << shift) as u128 >> shift
+}
+
+#[inline]
+fn pack_size(n: u64) -> usize {
+    if n < 1 << 8 {
+        1
+    } else if n < 1 << 16 {
+        2
+    } else if n < 1 << 24 {
+        3
+    } else if n < 1 << 32 {
+        4
+    } else if n < 1 << 40 {
+        5
+    } else if n < 1 << 48 {
+        6
+    } else if n < 1 << 56 {
+        7
+    } else {
+        8
+    }
+}
+
+#[cfg(feature = "i128")]
+#[inline]
+fn pack_size128(n: u128) -> usize {
+    if n < 1 << 8 {
+        1
+    } else if n < 1 << 16 {
+        2
+    } else if n < 1 << 24 {
+        3
+    } else if n < 1 << 32 {
+        4
+    } else if n < 1 << 40 {
+        5
+    } else if n < 1 << 48 {
+        6
+    } else if n < 1 << 56 {
+        7
+    } else if n < 1 << 64 {
+        8
+    } else if n < 1 << 72 {
+        9
+    } else if n < 1 << 80 {
+        10
+    } else if n < 1 << 88 {
+        11
+    } else if n < 1 << 96 {
+        12
+    } else if n < 1 << 104 {
+        13
+    } else if n < 1 << 112 {
+        14
+    } else if n < 1 << 120 {
+        15
+    } else {
+        16
+    }
+}
+
+mod private {
+    /// Sealed stops crates other than byteorder from implementing any traits
+    /// that use it.
+    pub trait Sealed{}
+    impl Sealed for super::LittleEndian {}
+    impl Sealed for super::BigEndian {}
+}
+
+/// `ByteOrder` describes types that can serialize integers as bytes.
+///
+/// Note that `Self` does not appear anywhere in this trait's definition!
+/// Therefore, in order to use it, you'll need to use syntax like
+/// `T::read_u16(&[0, 1])` where `T` implements `ByteOrder`.
+///
+/// This crate provides two types that implement `ByteOrder`: [`BigEndian`]
+/// and [`LittleEndian`].
+/// This trait is sealed and cannot be implemented for callers to avoid
+/// breaking backwards compatibility when adding new derived traits.
+///
+/// # Examples
+///
+/// Write and read `u32` numbers in little endian order:
+///
+/// ```rust
+/// use byteorder::{ByteOrder, LittleEndian};
+///
+/// let mut buf = [0; 4];
+/// LittleEndian::write_u32(&mut buf, 1_000_000);
+/// assert_eq!(1_000_000, LittleEndian::read_u32(&buf));
+/// ```
+///
+/// Write and read `i16` numbers in big endian order:
+///
+/// ```rust
+/// use byteorder::{ByteOrder, BigEndian};
+///
+/// let mut buf = [0; 2];
+/// BigEndian::write_i16(&mut buf, -50_000);
+/// assert_eq!(-50_000, BigEndian::read_i16(&buf));
+/// ```
+///
+/// [`BigEndian`]: enum.BigEndian.html
+/// [`LittleEndian`]: enum.LittleEndian.html
+pub trait ByteOrder
+    : Clone + Copy + Debug + Default + Eq + Hash + Ord + PartialEq + PartialOrd
+    + private::Sealed
+{
+    /// Reads an unsigned 16 bit integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 2`.
+    fn read_u16(buf: &[u8]) -> u16;
+
+    /// Reads an unsigned 24 bit integer from `buf`, stored in u32.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 3`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read 24 bit `u32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_u24(&mut buf, 1_000_000);
+    /// assert_eq!(1_000_000, LittleEndian::read_u24(&buf));
+    /// ```
+    fn read_u24(buf: &[u8]) -> u32 {
+        Self::read_uint(buf, 3) as u32
+    }
+
+    /// Reads an unsigned 32 bit integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 4`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 4];
+    /// LittleEndian::write_u32(&mut buf, 1_000_000);
+    /// assert_eq!(1_000_000, LittleEndian::read_u32(&buf));
+    /// ```
+    fn read_u32(buf: &[u8]) -> u32;
+
+    /// Reads an unsigned 48 bit integer from `buf`, stored in u64.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 6`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read 48 bit `u64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 6];
+    /// LittleEndian::write_u48(&mut buf, 1_000_000_000_000);
+    /// assert_eq!(1_000_000_000_000, LittleEndian::read_u48(&buf));
+    /// ```
+    fn read_u48(buf: &[u8]) -> u64 {
+        Self::read_uint(buf, 6) as u64
+    }
+
+    /// Reads an unsigned 64 bit integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 8`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 8];
+    /// LittleEndian::write_u64(&mut buf, 1_000_000);
+    /// assert_eq!(1_000_000, LittleEndian::read_u64(&buf));
+    /// ```
+    fn read_u64(buf: &[u8]) -> u64;
+
+    /// Reads an unsigned 128 bit integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 16`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u128` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 16];
+    /// LittleEndian::write_u128(&mut buf, 1_000_000);
+    /// assert_eq!(1_000_000, LittleEndian::read_u128(&buf));
+    /// ```
+    #[cfg(feature = "i128")]
+    fn read_u128(buf: &[u8]) -> u128;
+
+    /// Reads an unsigned n-bytes integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `nbytes < 1` or `nbytes > 8` or
+    /// `buf.len() < nbytes`
+    ///
+    /// # Examples
+    ///
+    /// Write and read an n-byte number in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_uint(&mut buf, 1_000_000, 3);
+    /// assert_eq!(1_000_000, LittleEndian::read_uint(&buf, 3));
+    /// ```
+    fn read_uint(buf: &[u8], nbytes: usize) -> u64;
+
+    /// Reads an unsigned n-bytes integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `nbytes < 1` or `nbytes > 16` or
+    /// `buf.len() < nbytes`
+    ///
+    /// # Examples
+    ///
+    /// Write and read an n-byte number in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_uint128(&mut buf, 1_000_000, 3);
+    /// assert_eq!(1_000_000, LittleEndian::read_uint128(&buf, 3));
+    /// ```
+    #[cfg(feature = "i128")]
+    fn read_uint128(buf: &[u8], nbytes: usize) -> u128;
+
+    /// Writes an unsigned 16 bit integer `n` to `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 2`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u16` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 2];
+    /// LittleEndian::write_u16(&mut buf, 1_000_000);
+    /// assert_eq!(1_000_000, LittleEndian::read_u16(&buf));
+    /// ```
+    fn write_u16(buf: &mut [u8], n: u16);
+
+    /// Writes an unsigned 24 bit integer `n` to `buf`, stored in u32.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 3`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read 24 bit `u32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_u24(&mut buf, 1_000_000);
+    /// assert_eq!(1_000_000, LittleEndian::read_u24(&buf));
+    /// ```
+    fn write_u24(buf: &mut [u8], n: u32) {
+        Self::write_uint(buf, n as u64, 3)
+    }
+
+    /// Writes an unsigned 32 bit integer `n` to `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 4`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 4];
+    /// LittleEndian::write_u32(&mut buf, 1_000_000);
+    /// assert_eq!(1_000_000, LittleEndian::read_u32(&buf));
+    /// ```
+    fn write_u32(buf: &mut [u8], n: u32);
+
+    /// Writes an unsigned 48 bit integer `n` to `buf`, stored in u64.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 6`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read 48 bit `u64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 6];
+    /// LittleEndian::write_u48(&mut buf, 1_000_000_000_000);
+    /// assert_eq!(1_000_000_000_000, LittleEndian::read_u48(&buf));
+    /// ```
+    fn write_u48(buf: &mut [u8], n: u64) {
+        Self::write_uint(buf, n as u64, 6)
+    }
+
+    /// Writes an unsigned 64 bit integer `n` to `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 8`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 8];
+    /// LittleEndian::write_u64(&mut buf, 1_000_000);
+    /// assert_eq!(1_000_000, LittleEndian::read_u64(&buf));
+    /// ```
+    fn write_u64(buf: &mut [u8], n: u64);
+
+    /// Writes an unsigned 128 bit integer `n` to `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 16`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u128` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 16];
+    /// LittleEndian::write_u128(&mut buf, 1_000_000);
+    /// assert_eq!(1_000_000, LittleEndian::read_u128(&buf));
+    /// ```
+    #[cfg(feature = "i128")]
+    fn write_u128(buf: &mut [u8], n: u128);
+
+    /// Writes an unsigned integer `n` to `buf` using only `nbytes`.
+    ///
+    /// # Panics
+    ///
+    /// If `n` is not representable in `nbytes`, or if `nbytes` is `> 8`, then
+    /// this method panics.
+    ///
+    /// # Examples
+    ///
+    /// Write and read an n-byte number in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_uint(&mut buf, 1_000_000, 3);
+    /// assert_eq!(1_000_000, LittleEndian::read_uint(&buf, 3));
+    /// ```
+    fn write_uint(buf: &mut [u8], n: u64, nbytes: usize);
+
+    /// Writes an unsigned integer `n` to `buf` using only `nbytes`.
+    ///
+    /// # Panics
+    ///
+    /// If `n` is not representable in `nbytes`, or if `nbytes` is `> 16`, then
+    /// this method panics.
+    ///
+    /// # Examples
+    ///
+    /// Write and read an n-byte number in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_uint128(&mut buf, 1_000_000, 3);
+    /// assert_eq!(1_000_000, LittleEndian::read_uint128(&buf, 3));
+    /// ```
+    #[cfg(feature = "i128")]
+    fn write_uint128(buf: &mut [u8], n: u128, nbytes: usize);
+
+    /// Reads a signed 16 bit integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 2`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i16` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 2];
+    /// LittleEndian::write_i16(&mut buf, -1_000);
+    /// assert_eq!(-1_000, LittleEndian::read_i16(&buf));
+    /// ```
+    #[inline]
+    fn read_i16(buf: &[u8]) -> i16 {
+        Self::read_u16(buf) as i16
+    }
+
+    /// Reads a signed 24 bit integer from `buf`, stored in i32.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 3`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read 24 bit `i32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_i24(&mut buf, -1_000_000);
+    /// assert_eq!(-1_000_000, LittleEndian::read_i24(&buf));
+    /// ```
+    #[inline]
+    fn read_i24(buf: &[u8]) -> i32 {
+        Self::read_int(buf, 3) as i32
+    }
+
+    /// Reads a signed 32 bit integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 4`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 4];
+    /// LittleEndian::write_i32(&mut buf, -1_000_000);
+    /// assert_eq!(-1_000_000, LittleEndian::read_i32(&buf));
+    /// ```
+    #[inline]
+    fn read_i32(buf: &[u8]) -> i32 {
+        Self::read_u32(buf) as i32
+    }
+
+    /// Reads a signed 48 bit integer from `buf`, stored in i64.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 6`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read 48 bit `i64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 6];
+    /// LittleEndian::write_i48(&mut buf, -1_000_000_000_000);
+    /// assert_eq!(-1_000_000_000_000, LittleEndian::read_i48(&buf));
+    /// ```
+    #[inline]
+    fn read_i48(buf: &[u8]) -> i64 {
+        Self::read_int(buf, 6) as i64
+    }
+
+    /// Reads a signed 64 bit integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 8`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 8];
+    /// LittleEndian::write_i64(&mut buf, -1_000_000_000);
+    /// assert_eq!(-1_000_000_000, LittleEndian::read_i64(&buf));
+    /// ```
+    #[inline]
+    fn read_i64(buf: &[u8]) -> i64 {
+        Self::read_u64(buf) as i64
+    }
+
+    /// Reads a signed 128 bit integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 16`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i128` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 16];
+    /// LittleEndian::write_i128(&mut buf, -1_000_000_000);
+    /// assert_eq!(-1_000_000_000, LittleEndian::read_i128(&buf));
+    /// ```
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_i128(buf: &[u8]) -> i128 {
+        Self::read_u128(buf) as i128
+    }
+
+    /// Reads a signed n-bytes integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `nbytes < 1` or `nbytes > 8` or
+    /// `buf.len() < nbytes`
+    ///
+    /// # Examples
+    ///
+    /// Write and read n-length signed numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_int(&mut buf, -1_000, 3);
+    /// assert_eq!(-1_000, LittleEndian::read_int(&buf, 3));
+    /// ```
+    #[inline]
+    fn read_int(buf: &[u8], nbytes: usize) -> i64 {
+        extend_sign(Self::read_uint(buf, nbytes), nbytes)
+    }
+
+    /// Reads a signed n-bytes integer from `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `nbytes < 1` or `nbytes > 16` or
+    /// `buf.len() < nbytes`
+    ///
+    /// # Examples
+    ///
+    /// Write and read n-length signed numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_int128(&mut buf, -1_000, 3);
+    /// assert_eq!(-1_000, LittleEndian::read_int128(&buf, 3));
+    /// ```
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_int128(buf: &[u8], nbytes: usize) -> i128 {
+        extend_sign128(Self::read_uint128(buf, nbytes), nbytes)
+    }
+
+    /// Reads a IEEE754 single-precision (4 bytes) floating point number.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 4`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `f32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let e = 2.71828;
+    /// let mut buf = [0; 4];
+    /// LittleEndian::write_f32(&mut buf, e);
+    /// assert_eq!(e, LittleEndian::read_f32(&buf));
+    /// ```
+    #[inline]
+    fn read_f32(buf: &[u8]) -> f32 {
+        unsafe { *(&Self::read_u32(buf) as *const u32 as *const f32) }
+    }
+
+    /// Reads a IEEE754 double-precision (8 bytes) floating point number.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 8`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `f64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let phi = 1.6180339887;
+    /// let mut buf = [0; 8];
+    /// LittleEndian::write_f64(&mut buf, phi);
+    /// assert_eq!(phi, LittleEndian::read_f64(&buf));
+    /// ```
+    #[inline]
+    fn read_f64(buf: &[u8]) -> f64 {
+        unsafe { *(&Self::read_u64(buf) as *const u64 as *const f64) }
+    }
+
+    /// Writes a signed 16 bit integer `n` to `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 2`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i16` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 2];
+    /// LittleEndian::write_i16(&mut buf, -1_000);
+    /// assert_eq!(-1_000, LittleEndian::read_i16(&buf));
+    /// ```
+    #[inline]
+    fn write_i16(buf: &mut [u8], n: i16) {
+        Self::write_u16(buf, n as u16)
+    }
+
+    /// Writes a signed 24 bit integer `n` to `buf`, stored in i32.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 3`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read 24 bit `i32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_i24(&mut buf, -1_000_000);
+    /// assert_eq!(-1_000_000, LittleEndian::read_i24(&buf));
+    /// ```
+    #[inline]
+    fn write_i24(buf: &mut [u8], n: i32) {
+        Self::write_int(buf, n as i64, 3)
+    }
+
+    /// Writes a signed 32 bit integer `n` to `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 4`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 4];
+    /// LittleEndian::write_i32(&mut buf, -1_000_000);
+    /// assert_eq!(-1_000_000, LittleEndian::read_i32(&buf));
+    /// ```
+    #[inline]
+    fn write_i32(buf: &mut [u8], n: i32) {
+        Self::write_u32(buf, n as u32)
+    }
+
+    /// Writes a signed 48 bit integer `n` to `buf`, stored in i64.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 6`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read 48 bit `i64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 6];
+    /// LittleEndian::write_i48(&mut buf, -1_000_000_000_000);
+    /// assert_eq!(-1_000_000_000_000, LittleEndian::read_i48(&buf));
+    /// ```
+    #[inline]
+    fn write_i48(buf: &mut [u8], n: i64) {
+        Self::write_int(buf, n as i64, 6)
+    }
+
+    /// Writes a signed 64 bit integer `n` to `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 8`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 8];
+    /// LittleEndian::write_i64(&mut buf, -1_000_000_000);
+    /// assert_eq!(-1_000_000_000, LittleEndian::read_i64(&buf));
+    /// ```
+    #[inline]
+    fn write_i64(buf: &mut [u8], n: i64) {
+        Self::write_u64(buf, n as u64)
+    }
+
+    /// Writes a signed 128 bit integer `n` to `buf`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 16`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read n-byte `i128` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 16];
+    /// LittleEndian::write_i128(&mut buf, -1_000_000_000);
+    /// assert_eq!(-1_000_000_000, LittleEndian::read_i128(&buf));
+    /// ```
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_i128(buf: &mut [u8], n: i128) {
+        Self::write_u128(buf, n as u128)
+    }
+
+    /// Writes a signed integer `n` to `buf` using only `nbytes`.
+    ///
+    /// # Panics
+    ///
+    /// If `n` is not representable in `nbytes`, or if `nbytes` is `> 8`, then
+    /// this method panics.
+    ///
+    /// # Examples
+    ///
+    /// Write and read an n-byte number in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_int(&mut buf, -1_000, 3);
+    /// assert_eq!(-1_000, LittleEndian::read_int(&buf, 3));
+    /// ```
+    #[inline]
+    fn write_int(buf: &mut [u8], n: i64, nbytes: usize) {
+        Self::write_uint(buf, unextend_sign(n, nbytes), nbytes)
+    }
+
+    /// Writes a signed integer `n` to `buf` using only `nbytes`.
+    ///
+    /// # Panics
+    ///
+    /// If `n` is not representable in `nbytes`, or if `nbytes` is `> 16`, then
+    /// this method panics.
+    ///
+    /// # Examples
+    ///
+    /// Write and read n-length signed numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut buf = [0; 3];
+    /// LittleEndian::write_int128(&mut buf, -1_000, 3);
+    /// assert_eq!(-1_000, LittleEndian::read_int128(&buf, 3));
+    /// ```
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_int128(buf: &mut [u8], n: i128, nbytes: usize) {
+        Self::write_uint128(buf, unextend_sign128(n, nbytes), nbytes)
+    }
+
+    /// Writes a IEEE754 single-precision (4 bytes) floating point number.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 4`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `f32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let e = 2.71828;
+    /// let mut buf = [0; 4];
+    /// LittleEndian::write_f32(&mut buf, e);
+    /// assert_eq!(e, LittleEndian::read_f32(&buf));
+    /// ```
+    #[inline]
+    fn write_f32(buf: &mut [u8], n: f32) {
+        let n = unsafe { *(&n as *const f32 as *const u32) };
+        Self::write_u32(buf, n)
+    }
+
+    /// Writes a IEEE754 double-precision (8 bytes) floating point number.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() < 8`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `f64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let phi = 1.6180339887;
+    /// let mut buf = [0; 8];
+    /// LittleEndian::write_f64(&mut buf, phi);
+    /// assert_eq!(phi, LittleEndian::read_f64(&buf));
+    /// ```
+    #[inline]
+    fn write_f64(buf: &mut [u8], n: f64) {
+        let n = unsafe { *(&n as *const f64 as *const u64) };
+        Self::write_u64(buf, n)
+    }
+
+    /// Reads unsigned 16 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `src.len() != 2*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u16` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 8];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_u16_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_u16_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    fn read_u16_into(src: &[u8], dst: &mut [u16]);
+
+    /// Reads unsigned 32 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `src.len() != 4*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 16];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_u32_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_u32_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    fn read_u32_into(src: &[u8], dst: &mut [u32]);
+
+    /// Reads unsigned 64 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `src.len() != 8*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 32];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_u64_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_u64_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    fn read_u64_into(src: &[u8], dst: &mut [u64]);
+
+    /// Reads unsigned 128 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `src.len() != 16*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u128` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 64];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_u128_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_u128_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    #[cfg(feature = "i128")]
+    fn read_u128_into(src: &[u8], dst: &mut [u128]);
+
+    /// Reads signed 16 bit integers from `src` to `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() != 2*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i16` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 8];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_i16_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_i16_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    #[inline]
+    fn read_i16_into(src: &[u8], dst: &mut [i16]) {
+        let dst = unsafe {
+            slice::from_raw_parts_mut(dst.as_mut_ptr() as *mut u16, dst.len())
+        };
+        Self::read_u16_into(src, dst)
+    }
+
+    /// Reads signed 32 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `src.len() != 4*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 16];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_i32_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_i32_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    #[inline]
+    fn read_i32_into(src: &[u8], dst: &mut [i32]) {
+        let dst = unsafe {
+            slice::from_raw_parts_mut(dst.as_mut_ptr() as *mut u32, dst.len())
+        };
+        Self::read_u32_into(src, dst);
+    }
+
+    /// Reads signed 64 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `src.len() != 8*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 32];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_i64_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_i64_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    #[inline]
+    fn read_i64_into(src: &[u8], dst: &mut [i64]) {
+        let dst = unsafe {
+            slice::from_raw_parts_mut(dst.as_mut_ptr() as *mut u64, dst.len())
+        };
+        Self::read_u64_into(src, dst);
+    }
+
+    /// Reads signed 128 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `src.len() != 16*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i128` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 64];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_i128_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_i128_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_i128_into(src: &[u8], dst: &mut [i128]) {
+        let dst = unsafe {
+            slice::from_raw_parts_mut(dst.as_mut_ptr() as *mut u128, dst.len())
+        };
+        Self::read_u128_into(src, dst);
+    }
+
+    /// Reads IEEE754 single-precision (4 bytes) floating point numbers from
+    /// `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `src.len() != 4*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `f32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 16];
+    /// let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91];
+    /// LittleEndian::write_f32_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0.0; 4];
+    /// LittleEndian::read_f32_into_unchecked(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    #[inline]
+    fn read_f32_into_unchecked(src: &[u8], dst: &mut [f32]) {
+        let dst = unsafe {
+            slice::from_raw_parts_mut(dst.as_mut_ptr() as *mut u32, dst.len())
+        };
+        Self::read_u32_into(src, dst);
+    }
+
+    /// Reads IEEE754 single-precision (4 bytes) floating point numbers from
+    /// `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `src.len() != 8*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `f64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 32];
+    /// let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91];
+    /// LittleEndian::write_f64_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0.0; 4];
+    /// LittleEndian::read_f64_into_unchecked(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    #[inline]
+    fn read_f64_into_unchecked(src: &[u8], dst: &mut [f64]) {
+        let dst = unsafe {
+            slice::from_raw_parts_mut(dst.as_mut_ptr() as *mut u64, dst.len())
+        };
+        Self::read_u64_into(src, dst);
+    }
+
+    /// Writes unsigned 16 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `dst.len() != 2*src.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u16` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 8];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_u16_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_u16_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    fn write_u16_into(src: &[u16], dst: &mut [u8]);
+
+    /// Writes unsigned 32 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `dst.len() != 4*src.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 16];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_u32_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_u32_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    fn write_u32_into(src: &[u32], dst: &mut [u8]);
+
+    /// Writes unsigned 64 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `dst.len() != 8*src.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 32];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_u64_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_u64_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    fn write_u64_into(src: &[u64], dst: &mut [u8]);
+
+    /// Writes unsigned 128 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `dst.len() != 16*src.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `u128` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 64];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_u128_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_u128_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    #[cfg(feature = "i128")]
+    fn write_u128_into(src: &[u128], dst: &mut [u8]);
+
+    /// Writes signed 16 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `buf.len() != 2*src.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i16` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 8];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_i16_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_i16_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    fn write_i16_into(src: &[i16], dst: &mut [u8]) {
+        let src = unsafe {
+            slice::from_raw_parts(src.as_ptr() as *const u16, src.len())
+        };
+        Self::write_u16_into(src, dst);
+    }
+
+    /// Writes signed 32 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `dst.len() != 4*src.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 16];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_i32_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_i32_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    fn write_i32_into(src: &[i32], dst: &mut [u8]) {
+        let src = unsafe {
+            slice::from_raw_parts(src.as_ptr() as *const u32, src.len())
+        };
+        Self::write_u32_into(src, dst);
+    }
+
+    /// Writes signed 64 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `dst.len() != 8*src.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 32];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_i64_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_i64_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    fn write_i64_into(src: &[i64], dst: &mut [u8]) {
+        let src = unsafe {
+            slice::from_raw_parts(src.as_ptr() as *const u64, src.len())
+        };
+        Self::write_u64_into(src, dst);
+    }
+
+    /// Writes signed 128 bit integers from `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `dst.len() != 16*src.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `i128` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 64];
+    /// let numbers_given = [1, 2, 0xf00f, 0xffee];
+    /// LittleEndian::write_i128_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0; 4];
+    /// LittleEndian::read_i128_into(&bytes, &mut numbers_got);
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    #[cfg(feature = "i128")]
+    fn write_i128_into(src: &[i128], dst: &mut [u8]) {
+        let src = unsafe {
+            slice::from_raw_parts(src.as_ptr() as *const u128, src.len())
+        };
+        Self::write_u128_into(src, dst);
+    }
+
+    /// Writes IEEE754 single-precision (4 bytes) floating point numbers from
+    /// `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `src.len() != 4*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `f32` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 16];
+    /// let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91];
+    /// LittleEndian::write_f32_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0.0; 4];
+    /// unsafe {
+    ///     LittleEndian::read_f32_into_unchecked(&bytes, &mut numbers_got);
+    /// }
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    fn write_f32_into(src: &[f32], dst: &mut [u8]) {
+        let src = unsafe {
+            slice::from_raw_parts(src.as_ptr() as *const u32, src.len())
+        };
+        Self::write_u32_into(src, dst);
+    }
+
+    /// Writes IEEE754 double-precision (8 bytes) floating point numbers from
+    /// `src` into `dst`.
+    ///
+    /// # Panics
+    ///
+    /// Panics when `src.len() != 8*dst.len()`.
+    ///
+    /// # Examples
+    ///
+    /// Write and read `f64` numbers in little endian order:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, LittleEndian};
+    ///
+    /// let mut bytes = [0; 32];
+    /// let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91];
+    /// LittleEndian::write_f64_into(&numbers_given, &mut bytes);
+    ///
+    /// let mut numbers_got = [0.0; 4];
+    /// unsafe {
+    ///     LittleEndian::read_f64_into_unchecked(&bytes, &mut numbers_got);
+    /// }
+    /// assert_eq!(numbers_given, numbers_got);
+    /// ```
+    fn write_f64_into(src: &[f64], dst: &mut [u8]) {
+        let src = unsafe {
+            slice::from_raw_parts(src.as_ptr() as *const u64, src.len())
+        };
+        Self::write_u64_into(src, dst);
+    }
+
+    /// Converts the given slice of unsigned 16 bit integers to a particular
+    /// endianness.
+    ///
+    /// If the endianness matches the endianness of the host platform, then
+    /// this is a no-op.
+    ///
+    /// # Examples
+    ///
+    /// Convert the host platform's endianness to big-endian:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, BigEndian};
+    ///
+    /// let mut numbers = [5, 65000];
+    /// BigEndian::from_slice_u16(&mut numbers);
+    /// assert_eq!(numbers, [5u16.to_be(), 65000u16.to_be()]);
+    /// ```
+    fn from_slice_u16(numbers: &mut [u16]);
+
+    /// Converts the given slice of unsigned 32 bit integers to a particular
+    /// endianness.
+    ///
+    /// If the endianness matches the endianness of the host platform, then
+    /// this is a no-op.
+    ///
+    /// # Examples
+    ///
+    /// Convert the host platform's endianness to big-endian:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, BigEndian};
+    ///
+    /// let mut numbers = [5, 65000];
+    /// BigEndian::from_slice_u32(&mut numbers);
+    /// assert_eq!(numbers, [5u32.to_be(), 65000u32.to_be()]);
+    /// ```
+    fn from_slice_u32(numbers: &mut [u32]);
+
+    /// Converts the given slice of unsigned 64 bit integers to a particular
+    /// endianness.
+    ///
+    /// If the endianness matches the endianness of the host platform, then
+    /// this is a no-op.
+    ///
+    /// # Examples
+    ///
+    /// Convert the host platform's endianness to big-endian:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, BigEndian};
+    ///
+    /// let mut numbers = [5, 65000];
+    /// BigEndian::from_slice_u64(&mut numbers);
+    /// assert_eq!(numbers, [5u64.to_be(), 65000u64.to_be()]);
+    /// ```
+    fn from_slice_u64(numbers: &mut [u64]);
+
+    /// Converts the given slice of unsigned 128 bit integers to a particular
+    /// endianness.
+    ///
+    /// If the endianness matches the endianness of the host platform, then
+    /// this is a no-op.
+    ///
+    /// # Examples
+    ///
+    /// Convert the host platform's endianness to big-endian:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, BigEndian};
+    ///
+    /// let mut numbers = [5, 65000];
+    /// BigEndian::from_slice_u128(&mut numbers);
+    /// assert_eq!(numbers, [5u128.to_be(), 65000u128.to_be()]);
+    /// ```
+    #[cfg(feature = "i128")]
+    fn from_slice_u128(numbers: &mut [u128]);
+
+    /// Converts the given slice of signed 16 bit integers to a particular
+    /// endianness.
+    ///
+    /// If the endianness matches the endianness of the host platform, then
+    /// this is a no-op.
+    ///
+    /// # Examples
+    ///
+    /// Convert the host platform's endianness to big-endian:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, BigEndian};
+    ///
+    /// let mut numbers = [5, 65000];
+    /// BigEndian::from_slice_i16(&mut numbers);
+    /// assert_eq!(numbers, [5i16.to_be(), 65000i16.to_be()]);
+    /// ```
+    #[inline]
+    fn from_slice_i16(src: &mut [i16]) {
+        let src = unsafe {
+            slice::from_raw_parts_mut(src.as_ptr() as *mut u16, src.len())
+        };
+        Self::from_slice_u16(src);
+    }
+
+    /// Converts the given slice of signed 32 bit integers to a particular
+    /// endianness.
+    ///
+    /// If the endianness matches the endianness of the host platform, then
+    /// this is a no-op.
+    ///
+    /// # Examples
+    ///
+    /// Convert the host platform's endianness to big-endian:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, BigEndian};
+    ///
+    /// let mut numbers = [5, 65000];
+    /// BigEndian::from_slice_i32(&mut numbers);
+    /// assert_eq!(numbers, [5i32.to_be(), 65000i32.to_be()]);
+    /// ```
+    #[inline]
+    fn from_slice_i32(src: &mut [i32]) {
+        let src = unsafe {
+            slice::from_raw_parts_mut(src.as_ptr() as *mut u32, src.len())
+        };
+        Self::from_slice_u32(src);
+    }
+
+    /// Converts the given slice of signed 64 bit integers to a particular
+    /// endianness.
+    ///
+    /// If the endianness matches the endianness of the host platform, then
+    /// this is a no-op.
+    ///
+    /// # Examples
+    ///
+    /// Convert the host platform's endianness to big-endian:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, BigEndian};
+    ///
+    /// let mut numbers = [5, 65000];
+    /// BigEndian::from_slice_i64(&mut numbers);
+    /// assert_eq!(numbers, [5i64.to_be(), 65000i64.to_be()]);
+    /// ```
+    #[inline]
+    fn from_slice_i64(src: &mut [i64]) {
+        let src = unsafe {
+            slice::from_raw_parts_mut(src.as_ptr() as *mut u64, src.len())
+        };
+        Self::from_slice_u64(src);
+    }
+
+    /// Converts the given slice of signed 128 bit integers to a particular
+    /// endianness.
+    ///
+    /// If the endianness matches the endianness of the host platform, then
+    /// this is a no-op.
+    ///
+    /// # Examples
+    ///
+    /// Convert the host platform's endianness to big-endian:
+    ///
+    /// ```rust
+    /// use byteorder::{ByteOrder, BigEndian};
+    ///
+    /// let mut numbers = [5, 65000];
+    /// BigEndian::from_slice_i128(&mut numbers);
+    /// assert_eq!(numbers, [5i128.to_be(), 65000i128.to_be()]);
+    /// ```
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn from_slice_i128(src: &mut [i128]) {
+        let src = unsafe {
+            slice::from_raw_parts_mut(src.as_ptr() as *mut u128, src.len())
+        };
+        Self::from_slice_u128(src);
+    }
+
+    /// Converts the given slice of IEEE754 single-precision (4 bytes) floating
+    /// point numbers to a particular endianness.
+    ///
+    /// If the endianness matches the endianness of the host platform, then
+    /// this is a no-op.
+    fn from_slice_f32(numbers: &mut [f32]);
+
+    /// Converts the given slice of IEEE754 double-precision (8 bytes) floating
+    /// point numbers to a particular endianness.
+    ///
+    /// If the endianness matches the endianness of the host platform, then
+    /// this is a no-op.
+    fn from_slice_f64(numbers: &mut [f64]);
+}
+
+/// Defines big-endian serialization.
+///
+/// Note that this type has no value constructor. It is used purely at the
+/// type level.
+///
+/// # Examples
+///
+/// Write and read `u32` numbers in big endian order:
+///
+/// ```rust
+/// use byteorder::{ByteOrder, BigEndian};
+///
+/// let mut buf = [0; 4];
+/// BigEndian::write_u32(&mut buf, 1_000_000);
+/// assert_eq!(1_000_000, BigEndian::read_u32(&buf));
+/// ```
+#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
+pub enum BigEndian {}
+
+impl Default for BigEndian {
+    fn default() -> BigEndian {
+        panic!("BigEndian default")
+    }
+}
+
+/// A type alias for [`BigEndian`].
+///
+/// [`BigEndian`]: enum.BigEndian.html
+pub type BE = BigEndian;
+
+/// Defines little-endian serialization.
+///
+/// Note that this type has no value constructor. It is used purely at the
+/// type level.
+///
+/// # Examples
+///
+/// Write and read `u32` numbers in little endian order:
+///
+/// ```rust
+/// use byteorder::{ByteOrder, LittleEndian};
+///
+/// let mut buf = [0; 4];
+/// LittleEndian::write_u32(&mut buf, 1_000_000);
+/// assert_eq!(1_000_000, LittleEndian::read_u32(&buf));
+/// ```
+#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
+pub enum LittleEndian {}
+
+impl Default for LittleEndian {
+    fn default() -> LittleEndian {
+        panic!("LittleEndian default")
+    }
+}
+
+/// A type alias for [`LittleEndian`].
+///
+/// [`LittleEndian`]: enum.LittleEndian.html
+pub type LE = LittleEndian;
+
+/// Defines network byte order serialization.
+///
+/// Network byte order is defined by [RFC 1700][1] to be big-endian, and is
+/// referred to in several protocol specifications.  This type is an alias of
+/// [`BigEndian`].
+///
+/// [1]: https://tools.ietf.org/html/rfc1700
+///
+/// Note that this type has no value constructor. It is used purely at the
+/// type level.
+///
+/// # Examples
+///
+/// Write and read `i16` numbers in big endian order:
+///
+/// ```rust
+/// use byteorder::{ByteOrder, NetworkEndian, BigEndian};
+///
+/// let mut buf = [0; 2];
+/// BigEndian::write_i16(&mut buf, -50_000);
+/// assert_eq!(-50_000, NetworkEndian::read_i16(&buf));
+/// ```
+///
+/// [`BigEndian`]: enum.BigEndian.html
+pub type NetworkEndian = BigEndian;
+
+/// Defines system native-endian serialization.
+///
+/// Note that this type has no value constructor. It is used purely at the
+/// type level.
+///
+/// On this platform, this is an alias for [`LittleEndian`].
+///
+/// [`LittleEndian`]: enum.LittleEndian.html
+#[cfg(target_endian = "little")]
+pub type NativeEndian = LittleEndian;
+
+/// Defines system native-endian serialization.
+///
+/// Note that this type has no value constructor. It is used purely at the
+/// type level.
+///
+/// On this platform, this is an alias for [`BigEndian`].
+///
+/// [`BigEndian`]: enum.BigEndian.html
+#[cfg(target_endian = "big")]
+pub type NativeEndian = BigEndian;
+
+macro_rules! read_num_bytes {
+    ($ty:ty, $size:expr, $src:expr, $which:ident) => ({
+        assert!($size == ::core::mem::size_of::<$ty>());
+        assert!($size <= $src.len());
+        let mut data: $ty = 0;
+        unsafe {
+            copy_nonoverlapping(
+                $src.as_ptr(),
+                &mut data as *mut $ty as *mut u8,
+                $size);
+        }
+        data.$which()
+    });
+}
+
+macro_rules! write_num_bytes {
+    ($ty:ty, $size:expr, $n:expr, $dst:expr, $which:ident) => ({
+        assert!($size <= $dst.len());
+        unsafe {
+            // N.B. https://github.com/rust-lang/rust/issues/22776
+            let bytes = *(&$n.$which() as *const _ as *const [u8; $size]);
+            copy_nonoverlapping((&bytes).as_ptr(), $dst.as_mut_ptr(), $size);
+        }
+    });
+}
+
+macro_rules! read_slice {
+    ($src:expr, $dst:expr, $size:expr, $which:ident) => {{
+        assert_eq!($src.len(), $size * $dst.len());
+
+        unsafe {
+            copy_nonoverlapping(
+                $src.as_ptr(),
+                $dst.as_mut_ptr() as *mut u8,
+                $src.len());
+        }
+        for v in $dst.iter_mut() {
+            *v = v.$which();
+        }
+    }};
+}
+
+macro_rules! write_slice_native {
+    ($src:expr, $dst:expr, $ty:ty, $size:expr) => {{
+        assert!($size == ::core::mem::size_of::<$ty>());
+        assert_eq!($size * $src.len(), $dst.len());
+
+        unsafe {
+            copy_nonoverlapping(
+                $src.as_ptr() as *const u8,
+                $dst.as_mut_ptr(),
+                $dst.len());
+        }
+    }};
+}
+
+macro_rules! write_slice {
+    ($src:expr, $dst:expr, $ty:ty, $size:expr, $write:expr) => ({
+        assert!($size == ::core::mem::size_of::<$ty>());
+        assert_eq!($size * $src.len(), $dst.len());
+
+        for (&n, chunk) in $src.iter().zip($dst.chunks_mut($size)) {
+            $write(chunk, n);
+        }
+    });
+}
+
+impl ByteOrder for BigEndian {
+    #[inline]
+    fn read_u16(buf: &[u8]) -> u16 {
+        read_num_bytes!(u16, 2, buf, to_be)
+    }
+
+    #[inline]
+    fn read_u32(buf: &[u8]) -> u32 {
+        read_num_bytes!(u32, 4, buf, to_be)
+    }
+
+    #[inline]
+    fn read_u64(buf: &[u8]) -> u64 {
+        read_num_bytes!(u64, 8, buf, to_be)
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_u128(buf: &[u8]) -> u128 {
+        read_num_bytes!(u128, 16, buf, to_be)
+    }
+
+    #[inline]
+    fn read_uint(buf: &[u8], nbytes: usize) -> u64 {
+        assert!(1 <= nbytes && nbytes <= 8 && nbytes <= buf.len());
+        let mut out = [0u8; 8];
+        let ptr_out = out.as_mut_ptr();
+        unsafe {
+            copy_nonoverlapping(
+                buf.as_ptr(), ptr_out.offset((8 - nbytes) as isize), nbytes);
+            (*(ptr_out as *const u64)).to_be()
+        }
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_uint128(buf: &[u8], nbytes: usize) -> u128 {
+        assert!(1 <= nbytes && nbytes <= 16 && nbytes <= buf.len());
+        let mut out = [0u8; 16];
+        let ptr_out = out.as_mut_ptr();
+        unsafe {
+            copy_nonoverlapping(
+                buf.as_ptr(), ptr_out.offset((16 - nbytes) as isize), nbytes);
+            (*(ptr_out as *const u128)).to_be()
+        }
+    }
+
+    #[inline]
+    fn write_u16(buf: &mut [u8], n: u16) {
+        write_num_bytes!(u16, 2, n, buf, to_be);
+    }
+
+    #[inline]
+    fn write_u32(buf: &mut [u8], n: u32) {
+        write_num_bytes!(u32, 4, n, buf, to_be);
+    }
+
+    #[inline]
+    fn write_u64(buf: &mut [u8], n: u64) {
+        write_num_bytes!(u64, 8, n, buf, to_be);
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_u128(buf: &mut [u8], n: u128) {
+        write_num_bytes!(u128, 16, n, buf, to_be);
+    }
+
+    #[inline]
+    fn write_uint(buf: &mut [u8], n: u64, nbytes: usize) {
+        assert!(pack_size(n) <= nbytes && nbytes <= 8);
+        assert!(nbytes <= buf.len());
+        unsafe {
+            let bytes = *(&n.to_be() as *const u64 as *const [u8; 8]);
+            copy_nonoverlapping(
+                bytes.as_ptr().offset((8 - nbytes) as isize),
+                buf.as_mut_ptr(),
+                nbytes);
+        }
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_uint128(buf: &mut [u8], n: u128, nbytes: usize) {
+        assert!(pack_size128(n) <= nbytes && nbytes <= 16);
+        assert!(nbytes <= buf.len());
+        unsafe {
+            let bytes = *(&n.to_be() as *const u128 as *const [u8; 16]);
+            copy_nonoverlapping(
+                bytes.as_ptr().offset((16 - nbytes) as isize),
+                buf.as_mut_ptr(),
+                nbytes);
+        }
+    }
+
+    #[inline]
+    fn read_u16_into(src: &[u8], dst: &mut [u16]) {
+        read_slice!(src, dst, 2, to_be);
+    }
+
+    #[inline]
+    fn read_u32_into(src: &[u8], dst: &mut [u32]) {
+        read_slice!(src, dst, 4, to_be);
+    }
+
+    #[inline]
+    fn read_u64_into(src: &[u8], dst: &mut [u64]) {
+        read_slice!(src, dst, 8, to_be);
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_u128_into(src: &[u8], dst: &mut [u128]) {
+        read_slice!(src, dst, 16, to_be);
+    }
+
+    #[inline]
+    fn write_u16_into(src: &[u16], dst: &mut [u8]) {
+        if cfg!(target_endian = "big") {
+            write_slice_native!(src, dst, u16, 2);
+        } else {
+            write_slice!(src, dst, u16, 2, Self::write_u16);
+        }
+    }
+
+    #[inline]
+    fn write_u32_into(src: &[u32], dst: &mut [u8]) {
+        if cfg!(target_endian = "big") {
+            write_slice_native!(src, dst, u32, 4);
+        } else {
+            write_slice!(src, dst, u32, 4, Self::write_u32);
+        }
+    }
+
+    #[inline]
+    fn write_u64_into(src: &[u64], dst: &mut [u8]) {
+        if cfg!(target_endian = "big") {
+            write_slice_native!(src, dst, u64, 8);
+        } else {
+            write_slice!(src, dst, u64, 8, Self::write_u64);
+        }
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_u128_into(src: &[u128], dst: &mut [u8]) {
+        if cfg!(target_endian = "big") {
+            write_slice_native!(src, dst, u128, 16);
+        } else {
+            write_slice!(src, dst, u128, 16, Self::write_u128);
+        }
+    }
+
+    #[inline]
+    fn from_slice_u16(numbers: &mut [u16]) {
+        if cfg!(target_endian = "little") {
+            for n in numbers {
+                *n = n.to_be();
+            }
+        }
+    }
+
+    #[inline]
+    fn from_slice_u32(numbers: &mut [u32]) {
+        if cfg!(target_endian = "little") {
+            for n in numbers {
+                *n = n.to_be();
+            }
+        }
+    }
+
+    #[inline]
+    fn from_slice_u64(numbers: &mut [u64]) {
+        if cfg!(target_endian = "little") {
+            for n in numbers {
+                *n = n.to_be();
+            }
+        }
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn from_slice_u128(numbers: &mut [u128]) {
+        if cfg!(target_endian = "little") {
+            for n in numbers {
+                *n = n.to_be();
+            }
+        }
+    }
+
+    #[inline]
+    fn from_slice_f32(numbers: &mut [f32]) {
+        if cfg!(target_endian = "little") {
+            for n in numbers {
+                unsafe {
+                    let int = *(n as *const f32 as *const u32);
+                    *n = *(&int.to_be() as *const u32 as *const f32);
+                }
+            }
+        }
+    }
+
+    #[inline]
+    fn from_slice_f64(numbers: &mut [f64]) {
+        if cfg!(target_endian = "little") {
+            for n in numbers {
+                unsafe {
+                    let int = *(n as *const f64 as *const u64);
+                    *n = *(&int.to_be() as *const u64 as *const f64);
+                }
+            }
+        }
+    }
+}
+
+impl ByteOrder for LittleEndian {
+    #[inline]
+    fn read_u16(buf: &[u8]) -> u16 {
+        read_num_bytes!(u16, 2, buf, to_le)
+    }
+
+    #[inline]
+    fn read_u32(buf: &[u8]) -> u32 {
+        read_num_bytes!(u32, 4, buf, to_le)
+    }
+
+    #[inline]
+    fn read_u64(buf: &[u8]) -> u64 {
+        read_num_bytes!(u64, 8, buf, to_le)
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_u128(buf: &[u8]) -> u128 {
+        read_num_bytes!(u128, 16, buf, to_le)
+    }
+
+    #[inline]
+    fn read_uint(buf: &[u8], nbytes: usize) -> u64 {
+        assert!(1 <= nbytes && nbytes <= 8 && nbytes <= buf.len());
+        let mut out = [0u8; 8];
+        let ptr_out = out.as_mut_ptr();
+        unsafe {
+            copy_nonoverlapping(buf.as_ptr(), ptr_out, nbytes);
+            (*(ptr_out as *const u64)).to_le()
+        }
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_uint128(buf: &[u8], nbytes: usize) -> u128 {
+        assert!(1 <= nbytes && nbytes <= 16 && nbytes <= buf.len());
+        let mut out = [0u8; 16];
+        let ptr_out = out.as_mut_ptr();
+        unsafe {
+            copy_nonoverlapping(buf.as_ptr(), ptr_out, nbytes);
+            (*(ptr_out as *const u128)).to_le()
+        }
+    }
+
+    #[inline]
+    fn write_u16(buf: &mut [u8], n: u16) {
+        write_num_bytes!(u16, 2, n, buf, to_le);
+    }
+
+    #[inline]
+    fn write_u32(buf: &mut [u8], n: u32) {
+        write_num_bytes!(u32, 4, n, buf, to_le);
+    }
+
+    #[inline]
+    fn write_u64(buf: &mut [u8], n: u64) {
+        write_num_bytes!(u64, 8, n, buf, to_le);
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_u128(buf: &mut [u8], n: u128) {
+        write_num_bytes!(u128, 16, n, buf, to_le);
+    }
+
+    #[inline]
+    fn write_uint(buf: &mut [u8], n: u64, nbytes: usize) {
+        assert!(pack_size(n as u64) <= nbytes && nbytes <= 8);
+        assert!(nbytes <= buf.len());
+        unsafe {
+            let bytes = *(&n.to_le() as *const u64 as *const [u8; 8]);
+            copy_nonoverlapping(bytes.as_ptr(), buf.as_mut_ptr(), nbytes);
+        }
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_uint128(buf: &mut [u8], n: u128, nbytes: usize) {
+        assert!(pack_size128(n as u128) <= nbytes && nbytes <= 16);
+        assert!(nbytes <= buf.len());
+        unsafe {
+            let bytes = *(&n.to_le() as *const u128 as *const [u8; 16]);
+            copy_nonoverlapping(bytes.as_ptr(), buf.as_mut_ptr(), nbytes);
+        }
+    }
+
+    #[inline]
+    fn read_u16_into(src: &[u8], dst: &mut [u16]) {
+        read_slice!(src, dst, 2, to_le);
+    }
+
+    #[inline]
+    fn read_u32_into(src: &[u8], dst: &mut [u32]) {
+        read_slice!(src, dst, 4, to_le);
+    }
+
+    #[inline]
+    fn read_u64_into(src: &[u8], dst: &mut [u64]) {
+        read_slice!(src, dst, 8, to_le);
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn read_u128_into(src: &[u8], dst: &mut [u128]) {
+        read_slice!(src, dst, 16, to_le);
+    }
+
+    #[inline]
+    fn write_u16_into(src: &[u16], dst: &mut [u8]) {
+        if cfg!(target_endian = "little") {
+            write_slice_native!(src, dst, u16, 2);
+        } else {
+            write_slice!(src, dst, u16, 2, Self::write_u16);
+        }
+    }
+
+    #[inline]
+    fn write_u32_into(src: &[u32], dst: &mut [u8]) {
+        if cfg!(target_endian = "little") {
+            write_slice_native!(src, dst, u32, 4);
+        } else {
+            write_slice!(src, dst, u32, 4, Self::write_u32);
+        }
+    }
+
+    #[inline]
+    fn write_u64_into(src: &[u64], dst: &mut [u8]) {
+        if cfg!(target_endian = "little") {
+            write_slice_native!(src, dst, u64, 8);
+        } else {
+            write_slice!(src, dst, u64, 8, Self::write_u64);
+        }
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn write_u128_into(src: &[u128], dst: &mut [u8]) {
+        if cfg!(target_endian = "little") {
+            write_slice_native!(src, dst, u128, 16);
+        } else {
+            write_slice!(src, dst, u128, 16, Self::write_u128);
+        }
+    }
+
+    #[inline]
+    fn from_slice_u16(numbers: &mut [u16]) {
+        if cfg!(target_endian = "big") {
+            for n in numbers {
+                *n = n.to_le();
+            }
+        }
+    }
+
+    #[inline]
+    fn from_slice_u32(numbers: &mut [u32]) {
+        if cfg!(target_endian = "big") {
+            for n in numbers {
+                *n = n.to_le();
+            }
+        }
+    }
+
+    #[inline]
+    fn from_slice_u64(numbers: &mut [u64]) {
+        if cfg!(target_endian = "big") {
+            for n in numbers {
+                *n = n.to_le();
+            }
+        }
+    }
+
+    #[cfg(feature = "i128")]
+    #[inline]
+    fn from_slice_u128(numbers: &mut [u128]) {
+        if cfg!(target_endian = "big") {
+            for n in numbers {
+                *n = n.to_le();
+            }
+        }
+    }
+
+    #[inline]
+    fn from_slice_f32(numbers: &mut [f32]) {
+        if cfg!(target_endian = "big") {
+            for n in numbers {
+                unsafe {
+                    let int = *(n as *const f32 as *const u32);
+                    *n = *(&int.to_le() as *const u32 as *const f32);
+                }
+            }
+        }
+    }
+
+    #[inline]
+    fn from_slice_f64(numbers: &mut [f64]) {
+        if cfg!(target_endian = "big") {
+            for n in numbers {
+                unsafe {
+                    let int = *(n as *const f64 as *const u64);
+                    *n = *(&int.to_le() as *const u64 as *const f64);
+                }
+            }
+        }
+    }
+}
+
+#[cfg(test)]
+mod test {
+    extern crate quickcheck;
+    extern crate rand;
+
+    use self::quickcheck::{QuickCheck, StdGen, Testable};
+    use self::rand::{Rng, thread_rng};
+    #[cfg(feature = "i128")] use self::quickcheck::{Arbitrary, Gen};
+
+    pub const U24_MAX: u32 = 16_777_215;
+    pub const I24_MAX: i32 = 8_388_607;
+    pub const U48_MAX: u64 = 281_474_976_710_655;
+    pub const I48_MAX: i64 = 140_737_488_355_327;
+
+    pub const U64_MAX: u64 = ::core::u64::MAX;
+    pub const I64_MAX: u64 = ::core::i64::MAX as u64;
+
+    macro_rules! calc_max {
+        ($max:expr, $bytes:expr) => { calc_max!($max, $bytes, 8) };
+        ($max:expr, $bytes:expr, $maxbytes:expr) => {
+            ($max - 1) >> (8 * ($maxbytes - $bytes))
+        };
+    }
+
+    #[derive(Clone, Debug)]
+    pub struct Wi128<T>(pub T);
+
+    #[cfg(feature = "i128")]
+    impl<T: Clone> Wi128<T> {
+        pub fn clone(&self) -> T {
+            self.0.clone()
+        }
+    }
+
+    impl<T: PartialEq> PartialEq<T> for Wi128<T> {
+        fn eq(&self, other: &T) -> bool {
+            self.0.eq(other)
+        }
+    }
+
+    #[cfg(feature = "i128")]
+    impl Arbitrary for Wi128<u128> {
+        fn arbitrary<G: Gen>(gen: &mut G) -> Wi128<u128> {
+            let max = calc_max!(::core::u128::MAX, gen.size(), 16);
+            let output =
+                (gen.gen::<u64>() as u128) |
+                ((gen.gen::<u64>() as u128) << 64);
+            Wi128(output & (max - 1))
+        }
+    }
+
+    #[cfg(feature = "i128")]
+    impl Arbitrary for Wi128<i128> {
+        fn arbitrary<G: Gen>(gen: &mut G) -> Wi128<i128> {
+            let max = calc_max!(::core::i128::MAX, gen.size(), 16);
+            let output =
+                (gen.gen::<i64>() as i128) |
+                ((gen.gen::<i64>() as i128) << 64);
+            Wi128(output & (max - 1))
+        }
+    }
+
+    pub fn qc_sized<A: Testable>(f: A, size: u64) {
+        QuickCheck::new()
+            .gen(StdGen::new(thread_rng(), size as usize))
+            .tests(1_00)
+            .max_tests(10_000)
+            .quickcheck(f);
+    }
+
+    macro_rules! qc_byte_order {
+        ($name:ident, $ty_int:ty, $max:expr,
+         $bytes:expr, $read:ident, $write:ident) => (
+            mod $name {
+                use {BigEndian, ByteOrder, NativeEndian, LittleEndian};
+                #[allow(unused_imports)] use super::{ qc_sized, Wi128 };
+
+                #[test]
+                fn big_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let mut buf = [0; 16];
+                        BigEndian::$write(&mut buf, n.clone(), $bytes);
+                        n == BigEndian::$read(&mut buf[..$bytes], $bytes)
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max);
+                }
+
+                #[test]
+                fn little_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let mut buf = [0; 16];
+                        LittleEndian::$write(&mut buf, n.clone(), $bytes);
+                        n == LittleEndian::$read(&mut buf[..$bytes], $bytes)
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max);
+                }
+
+                #[test]
+                fn native_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let mut buf = [0; 16];
+                        NativeEndian::$write(&mut buf, n.clone(), $bytes);
+                        n == NativeEndian::$read(&mut buf[..$bytes], $bytes)
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max);
+                }
+            }
+        );
+        ($name:ident, $ty_int:ty, $max:expr,
+         $read:ident, $write:ident) => (
+            mod $name {
+                use core::mem::size_of;
+                use {BigEndian, ByteOrder, NativeEndian, LittleEndian};
+                #[allow(unused_imports)] use super::{ qc_sized, Wi128 };
+
+                #[test]
+                fn big_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let bytes = size_of::<$ty_int>();
+                        let mut buf = [0; 16];
+                        BigEndian::$write(&mut buf[16 - bytes..], n.clone());
+                        n == BigEndian::$read(&mut buf[16 - bytes..])
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max - 1);
+                }
+
+                #[test]
+                fn little_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let bytes = size_of::<$ty_int>();
+                        let mut buf = [0; 16];
+                        LittleEndian::$write(&mut buf[..bytes], n.clone());
+                        n == LittleEndian::$read(&mut buf[..bytes])
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max - 1);
+                }
+
+                #[test]
+                fn native_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let bytes = size_of::<$ty_int>();
+                        let mut buf = [0; 16];
+                        NativeEndian::$write(&mut buf[..bytes], n.clone());
+                        n == NativeEndian::$read(&mut buf[..bytes])
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max - 1);
+                }
+            }
+        );
+    }
+
+    qc_byte_order!(prop_u16, u16, ::core::u16::MAX as u64, read_u16, write_u16);
+    qc_byte_order!(prop_i16, i16, ::core::i16::MAX as u64, read_i16, write_i16);
+    qc_byte_order!(prop_u24, u32, ::test::U24_MAX as u64, read_u24, write_u24);
+    qc_byte_order!(prop_i24, i32, ::test::I24_MAX as u64, read_i24, write_i24);
+    qc_byte_order!(prop_u32, u32, ::core::u32::MAX as u64, read_u32, write_u32);
+    qc_byte_order!(prop_i32, i32, ::core::i32::MAX as u64, read_i32, write_i32);
+    qc_byte_order!(prop_u48, u64, ::test::U48_MAX as u64, read_u48, write_u48);
+    qc_byte_order!(prop_i48, i64, ::test::I48_MAX as u64, read_i48, write_i48);
+    qc_byte_order!(prop_u64, u64, ::core::u64::MAX as u64, read_u64, write_u64);
+    qc_byte_order!(prop_i64, i64, ::core::i64::MAX as u64, read_i64, write_i64);
+    qc_byte_order!(prop_f32, f32, ::core::u64::MAX as u64, read_f32, write_f32);
+    qc_byte_order!(prop_f64, f64, ::core::i64::MAX as u64, read_f64, write_f64);
+
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_u128, Wi128<u128>, 16 + 1, read_u128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_i128, Wi128<i128>, 16 + 1, read_i128, write_i128);
+
+    qc_byte_order!(prop_uint_1,
+        u64, calc_max!(super::U64_MAX, 1), 1, read_uint, write_uint);
+    qc_byte_order!(prop_uint_2,
+        u64, calc_max!(super::U64_MAX, 2), 2, read_uint, write_uint);
+    qc_byte_order!(prop_uint_3,
+        u64, calc_max!(super::U64_MAX, 3), 3, read_uint, write_uint);
+    qc_byte_order!(prop_uint_4,
+        u64, calc_max!(super::U64_MAX, 4), 4, read_uint, write_uint);
+    qc_byte_order!(prop_uint_5,
+        u64, calc_max!(super::U64_MAX, 5), 5, read_uint, write_uint);
+    qc_byte_order!(prop_uint_6,
+        u64, calc_max!(super::U64_MAX, 6), 6, read_uint, write_uint);
+    qc_byte_order!(prop_uint_7,
+        u64, calc_max!(super::U64_MAX, 7), 7, read_uint, write_uint);
+    qc_byte_order!(prop_uint_8,
+        u64, calc_max!(super::U64_MAX, 8), 8, read_uint, write_uint);
+
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_1,
+        Wi128<u128>, 1, 1, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_2,
+        Wi128<u128>, 2, 2, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_3,
+        Wi128<u128>, 3, 3, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_4,
+        Wi128<u128>, 4, 4, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_5,
+        Wi128<u128>, 5, 5, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_6,
+        Wi128<u128>, 6, 6, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_7,
+        Wi128<u128>, 7, 7, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_8,
+        Wi128<u128>, 8, 8, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_9,
+        Wi128<u128>, 9, 9, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_10,
+        Wi128<u128>, 10, 10, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_11,
+        Wi128<u128>, 11, 11, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_12,
+        Wi128<u128>, 12, 12, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_13,
+        Wi128<u128>, 13, 13, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_14,
+        Wi128<u128>, 14, 14, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_15,
+        Wi128<u128>, 15, 15, read_uint128, write_uint128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_uint128_16,
+        Wi128<u128>, 16, 16, read_uint128, write_uint128);
+
+    qc_byte_order!(prop_int_1,
+        i64, calc_max!(super::I64_MAX, 1), 1, read_int, write_int);
+    qc_byte_order!(prop_int_2,
+        i64, calc_max!(super::I64_MAX, 2), 2, read_int, write_int);
+    qc_byte_order!(prop_int_3,
+        i64, calc_max!(super::I64_MAX, 3), 3, read_int, write_int);
+    qc_byte_order!(prop_int_4,
+        i64, calc_max!(super::I64_MAX, 4), 4, read_int, write_int);
+    qc_byte_order!(prop_int_5,
+        i64, calc_max!(super::I64_MAX, 5), 5, read_int, write_int);
+    qc_byte_order!(prop_int_6,
+        i64, calc_max!(super::I64_MAX, 6), 6, read_int, write_int);
+    qc_byte_order!(prop_int_7,
+        i64, calc_max!(super::I64_MAX, 7), 7, read_int, write_int);
+    qc_byte_order!(prop_int_8,
+        i64, calc_max!(super::I64_MAX, 8), 8, read_int, write_int);
+
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_1,
+        Wi128<i128>, 1, 1, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_2,
+        Wi128<i128>, 2, 2, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_3,
+        Wi128<i128>, 3, 3, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_4,
+        Wi128<i128>, 4, 4, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_5,
+        Wi128<i128>, 5, 5, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_6,
+        Wi128<i128>, 6, 6, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_7,
+        Wi128<i128>, 7, 7, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_8,
+        Wi128<i128>, 8, 8, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_9,
+        Wi128<i128>, 9, 9, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_10,
+        Wi128<i128>, 10, 10, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_11,
+        Wi128<i128>, 11, 11, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_12,
+        Wi128<i128>, 12, 12, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_13,
+        Wi128<i128>, 13, 13, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_14,
+        Wi128<i128>, 14, 14, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_15,
+        Wi128<i128>, 15, 15, read_int128, write_int128);
+    #[cfg(feature = "i128")]
+    qc_byte_order!(prop_int128_16,
+        Wi128<i128>, 16, 16, read_int128, write_int128);
+
+
+    // Test that all of the byte conversion functions panic when given a
+    // buffer that is too small.
+    //
+    // These tests are critical to ensure safety, otherwise we might end up
+    // with a buffer overflow.
+    macro_rules! too_small {
+        ($name:ident, $maximally_small:expr, $zero:expr,
+         $read:ident, $write:ident) => (
+            mod $name {
+                use {BigEndian, ByteOrder, NativeEndian, LittleEndian};
+
+                #[test]
+                #[should_panic]
+                fn read_big_endian() {
+                    let buf = [0; $maximally_small];
+                    BigEndian::$read(&buf);
+                }
+
+                #[test]
+                #[should_panic]
+                fn read_little_endian() {
+                    let buf = [0; $maximally_small];
+                    LittleEndian::$read(&buf);
+                }
+
+                #[test]
+                #[should_panic]
+                fn read_native_endian() {
+                    let buf = [0; $maximally_small];
+                    NativeEndian::$read(&buf);
+                }
+
+                #[test]
+                #[should_panic]
+                fn write_big_endian() {
+                    let mut buf = [0; $maximally_small];
+                    BigEndian::$write(&mut buf, $zero);
+                }
+
+                #[test]
+                #[should_panic]
+                fn write_little_endian() {
+                    let mut buf = [0; $maximally_small];
+                    LittleEndian::$write(&mut buf, $zero);
+                }
+
+                #[test]
+                #[should_panic]
+                fn write_native_endian() {
+                    let mut buf = [0; $maximally_small];
+                    NativeEndian::$write(&mut buf, $zero);
+                }
+            }
+        );
+        ($name:ident, $maximally_small:expr, $read:ident) => (
+            mod $name {
+                use {BigEndian, ByteOrder, NativeEndian, LittleEndian};
+
+                #[test]
+                #[should_panic]
+                fn read_big_endian() {
+                    let buf = [0; $maximally_small];
+                    BigEndian::$read(&buf, $maximally_small + 1);
+                }
+
+                #[test]
+                #[should_panic]
+                fn read_little_endian() {
+                    let buf = [0; $maximally_small];
+                    LittleEndian::$read(&buf, $maximally_small + 1);
+                }
+
+                #[test]
+                #[should_panic]
+                fn read_native_endian() {
+                    let buf = [0; $maximally_small];
+                    NativeEndian::$read(&buf, $maximally_small + 1);
+                }
+            }
+        );
+    }
+
+    too_small!(small_u16, 1, 0, read_u16, write_u16);
+    too_small!(small_i16, 1, 0, read_i16, write_i16);
+    too_small!(small_u32, 3, 0, read_u32, write_u32);
+    too_small!(small_i32, 3, 0, read_i32, write_i32);
+    too_small!(small_u64, 7, 0, read_u64, write_u64);
+    too_small!(small_i64, 7, 0, read_i64, write_i64);
+    too_small!(small_f32, 3, 0.0, read_f32, write_f32);
+    too_small!(small_f64, 7, 0.0, read_f64, write_f64);
+    #[cfg(feature = "i128")]
+    too_small!(small_u128, 15, 0, read_u128, write_u128);
+    #[cfg(feature = "i128")]
+    too_small!(small_i128, 15, 0, read_i128, write_i128);
+
+    too_small!(small_uint_1, 1, read_uint);
+    too_small!(small_uint_2, 2, read_uint);
+    too_small!(small_uint_3, 3, read_uint);
+    too_small!(small_uint_4, 4, read_uint);
+    too_small!(small_uint_5, 5, read_uint);
+    too_small!(small_uint_6, 6, read_uint);
+    too_small!(small_uint_7, 7, read_uint);
+
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_1, 1, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_2, 2, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_3, 3, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_4, 4, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_5, 5, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_6, 6, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_7, 7, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_8, 8, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_9, 9, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_10, 10, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_11, 11, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_12, 12, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_13, 13, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_14, 14, read_uint128);
+    #[cfg(feature = "i128")]
+    too_small!(small_uint128_15, 15, read_uint128);
+
+    too_small!(small_int_1, 1, read_int);
+    too_small!(small_int_2, 2, read_int);
+    too_small!(small_int_3, 3, read_int);
+    too_small!(small_int_4, 4, read_int);
+    too_small!(small_int_5, 5, read_int);
+    too_small!(small_int_6, 6, read_int);
+    too_small!(small_int_7, 7, read_int);
+
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_1, 1, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_2, 2, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_3, 3, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_4, 4, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_5, 5, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_6, 6, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_7, 7, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_8, 8, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_9, 9, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_10, 10, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_11, 11, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_12, 12, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_13, 13, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_14, 14, read_int128);
+    #[cfg(feature = "i128")]
+    too_small!(small_int128_15, 15, read_int128);
+
+    // Test that reading/writing slices enforces the correct lengths.
+    macro_rules! slice_lengths {
+        ($name:ident, $read:ident, $write:ident,
+         $num_bytes:expr, $numbers:expr) => {
+            mod $name {
+                use {ByteOrder, BigEndian, NativeEndian, LittleEndian};
+
+                #[test]
+                #[should_panic]
+                fn read_big_endian() {
+                    let bytes = [0; $num_bytes];
+                    let mut numbers = $numbers;
+                    BigEndian::$read(&bytes, &mut numbers);
+                }
+
+                #[test]
+                #[should_panic]
+                fn read_little_endian() {
+                    let bytes = [0; $num_bytes];
+                    let mut numbers = $numbers;
+                    LittleEndian::$read(&bytes, &mut numbers);
+                }
+
+                #[test]
+                #[should_panic]
+                fn read_native_endian() {
+                    let bytes = [0; $num_bytes];
+                    let mut numbers = $numbers;
+                    NativeEndian::$read(&bytes, &mut numbers);
+                }
+
+                #[test]
+                #[should_panic]
+                fn write_big_endian() {
+                    let mut bytes = [0; $num_bytes];
+                    let numbers = $numbers;
+                    BigEndian::$write(&numbers, &mut bytes);
+                }
+
+                #[test]
+                #[should_panic]
+                fn write_little_endian() {
+                    let mut bytes = [0; $num_bytes];
+                    let numbers = $numbers;
+                    LittleEndian::$write(&numbers, &mut bytes);
+                }
+
+                #[test]
+                #[should_panic]
+                fn write_native_endian() {
+                    let mut bytes = [0; $num_bytes];
+                    let numbers = $numbers;
+                    NativeEndian::$write(&numbers, &mut bytes);
+                }
+            }
+        }
+    }
+
+    slice_lengths!(
+        slice_len_too_small_u16, read_u16_into, write_u16_into, 3, [0, 0]);
+    slice_lengths!(
+        slice_len_too_big_u16, read_u16_into, write_u16_into, 5, [0, 0]);
+    slice_lengths!(
+        slice_len_too_small_i16, read_i16_into, write_i16_into, 3, [0, 0]);
+    slice_lengths!(
+        slice_len_too_big_i16, read_i16_into, write_i16_into, 5, [0, 0]);
+
+    slice_lengths!(
+        slice_len_too_small_u32, read_u32_into, write_u32_into, 7, [0, 0]);
+    slice_lengths!(
+        slice_len_too_big_u32, read_u32_into, write_u32_into, 9, [0, 0]);
+    slice_lengths!(
+        slice_len_too_small_i32, read_i32_into, write_i32_into, 7, [0, 0]);
+    slice_lengths!(
+        slice_len_too_big_i32, read_i32_into, write_i32_into, 9, [0, 0]);
+
+    slice_lengths!(
+        slice_len_too_small_u64, read_u64_into, write_u64_into, 15, [0, 0]);
+    slice_lengths!(
+        slice_len_too_big_u64, read_u64_into, write_u64_into, 17, [0, 0]);
+    slice_lengths!(
+        slice_len_too_small_i64, read_i64_into, write_i64_into, 15, [0, 0]);
+    slice_lengths!(
+        slice_len_too_big_i64, read_i64_into, write_i64_into, 17, [0, 0]);
+
+    #[cfg(feature = "i128")]
+    slice_lengths!(
+        slice_len_too_small_u128, read_u128_into, write_u128_into, 31, [0, 0]);
+    #[cfg(feature = "i128")]
+    slice_lengths!(
+        slice_len_too_big_u128, read_u128_into, write_u128_into, 33, [0, 0]);
+    #[cfg(feature = "i128")]
+    slice_lengths!(
+        slice_len_too_small_i128, read_i128_into, write_i128_into, 31, [0, 0]);
+    #[cfg(feature = "i128")]
+    slice_lengths!(
+        slice_len_too_big_i128, read_i128_into, write_i128_into, 33, [0, 0]);
+
+    #[test]
+    fn uint_bigger_buffer() {
+        use {ByteOrder, LittleEndian};
+        let n = LittleEndian::read_uint(&[1, 2, 3, 4, 5, 6, 7, 8], 5);
+        assert_eq!(n, 0x0504030201);
+    }
+}
+
+#[cfg(test)]
+#[cfg(feature = "std")]
+mod stdtests {
+    extern crate quickcheck;
+    extern crate rand;
+
+    use self::quickcheck::{QuickCheck, StdGen, Testable};
+    use self::rand::thread_rng;
+
+    fn qc_unsized<A: Testable>(f: A) {
+
+        QuickCheck::new()
+            .gen(StdGen::new(thread_rng(), 16))
+            .tests(1_00)
+            .max_tests(10_000)
+            .quickcheck(f);
+    }
+
+    macro_rules! calc_max {
+        ($max:expr, $bytes:expr) => { ($max - 1) >> (8 * (8 - $bytes)) };
+    }
+
+    macro_rules! qc_bytes_ext {
+        ($name:ident, $ty_int:ty, $max:expr,
+         $bytes:expr, $read:ident, $write:ident) => (
+            mod $name {
+                use std::io::Cursor;
+                use {
+                    ReadBytesExt, WriteBytesExt,
+                    BigEndian, NativeEndian, LittleEndian,
+                };
+                #[allow(unused_imports)] use test::{qc_sized, Wi128};
+
+                #[test]
+                fn big_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let mut wtr = vec![];
+                        wtr.$write::<BigEndian>(n.clone()).unwrap();
+                        let offset = wtr.len() - $bytes;
+                        let mut rdr = Cursor::new(&mut wtr[offset..]);
+                        n == rdr.$read::<BigEndian>($bytes).unwrap()
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max);
+                }
+
+                #[test]
+                fn little_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let mut wtr = vec![];
+                        wtr.$write::<LittleEndian>(n.clone()).unwrap();
+                        let mut rdr = Cursor::new(wtr);
+                        n == rdr.$read::<LittleEndian>($bytes).unwrap()
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max);
+                }
+
+                #[test]
+                fn native_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let mut wtr = vec![];
+                        wtr.$write::<NativeEndian>(n.clone()).unwrap();
+                        let offset = if cfg!(target_endian = "big") {
+                            wtr.len() - $bytes
+                        } else {
+                            0
+                        };
+                        let mut rdr = Cursor::new(&mut wtr[offset..]);
+                        n == rdr.$read::<NativeEndian>($bytes).unwrap()
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max);
+                }
+            }
+        );
+        ($name:ident, $ty_int:ty, $max:expr, $read:ident, $write:ident) => (
+            mod $name {
+                use std::io::Cursor;
+                use {
+                    ReadBytesExt, WriteBytesExt,
+                    BigEndian, NativeEndian, LittleEndian,
+                };
+                #[allow(unused_imports)] use test::{qc_sized, Wi128};
+
+                #[test]
+                fn big_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let mut wtr = vec![];
+                        wtr.$write::<BigEndian>(n.clone()).unwrap();
+                        let mut rdr = Cursor::new(wtr);
+                        n == rdr.$read::<BigEndian>().unwrap()
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max - 1);
+                }
+
+                #[test]
+                fn little_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let mut wtr = vec![];
+                        wtr.$write::<LittleEndian>(n.clone()).unwrap();
+                        let mut rdr = Cursor::new(wtr);
+                        n == rdr.$read::<LittleEndian>().unwrap()
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max - 1);
+                }
+
+                #[test]
+                fn native_endian() {
+                    fn prop(n: $ty_int) -> bool {
+                        let mut wtr = vec![];
+                        wtr.$write::<NativeEndian>(n.clone()).unwrap();
+                        let mut rdr = Cursor::new(wtr);
+                        n == rdr.$read::<NativeEndian>().unwrap()
+                    }
+                    qc_sized(prop as fn($ty_int) -> bool, $max - 1);
+                }
+            }
+        );
+    }
+
+    qc_bytes_ext!(prop_ext_u16,
+        u16, ::std::u16::MAX as u64, read_u16, write_u16);
+    qc_bytes_ext!(prop_ext_i16,
+        i16, ::std::i16::MAX as u64, read_i16, write_i16);
+    qc_bytes_ext!(prop_ext_u32,
+        u32, ::std::u32::MAX as u64, read_u32, write_u32);
+    qc_bytes_ext!(prop_ext_i32,
+        i32, ::std::i32::MAX as u64, read_i32, write_i32);
+    qc_bytes_ext!(prop_ext_u64,
+        u64, ::std::u64::MAX as u64, read_u64, write_u64);
+    qc_bytes_ext!(prop_ext_i64,
+        i64, ::std::i64::MAX as u64, read_i64, write_i64);
+    qc_bytes_ext!(prop_ext_f32,
+        f32, ::std::u64::MAX as u64, read_f32, write_f32);
+    qc_bytes_ext!(prop_ext_f64,
+        f64, ::std::i64::MAX as u64, read_f64, write_f64);
+
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_u128, Wi128<u128>, 16 + 1, read_u128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_i128, Wi128<i128>, 16 + 1, read_i128, write_i128);
+
+    qc_bytes_ext!(prop_ext_uint_1,
+        u64, calc_max!(::test::U64_MAX, 1), 1, read_uint, write_u64);
+    qc_bytes_ext!(prop_ext_uint_2,
+        u64, calc_max!(::test::U64_MAX, 2), 2, read_uint, write_u64);
+    qc_bytes_ext!(prop_ext_uint_3,
+        u64, calc_max!(::test::U64_MAX, 3), 3, read_uint, write_u64);
+    qc_bytes_ext!(prop_ext_uint_4,
+        u64, calc_max!(::test::U64_MAX, 4), 4, read_uint, write_u64);
+    qc_bytes_ext!(prop_ext_uint_5,
+        u64, calc_max!(::test::U64_MAX, 5), 5, read_uint, write_u64);
+    qc_bytes_ext!(prop_ext_uint_6,
+        u64, calc_max!(::test::U64_MAX, 6), 6, read_uint, write_u64);
+    qc_bytes_ext!(prop_ext_uint_7,
+        u64, calc_max!(::test::U64_MAX, 7), 7, read_uint, write_u64);
+    qc_bytes_ext!(prop_ext_uint_8,
+        u64, calc_max!(::test::U64_MAX, 8), 8, read_uint, write_u64);
+
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_1,
+        Wi128<u128>, 1, 1, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_2,
+        Wi128<u128>, 2, 2, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_3,
+        Wi128<u128>, 3, 3, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_4,
+        Wi128<u128>, 4, 4, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_5,
+        Wi128<u128>, 5, 5, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_6,
+        Wi128<u128>, 6, 6, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_7,
+        Wi128<u128>, 7, 7, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_8,
+        Wi128<u128>, 8, 8, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_9,
+        Wi128<u128>, 9, 9, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_10,
+        Wi128<u128>, 10, 10, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_11,
+        Wi128<u128>, 11, 11, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_12,
+        Wi128<u128>, 12, 12, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_13,
+        Wi128<u128>, 13, 13, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_14,
+        Wi128<u128>, 14, 14, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_15,
+        Wi128<u128>, 15, 15, read_uint128, write_u128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_uint128_16,
+        Wi128<u128>, 16, 16, read_uint128, write_u128);
+
+    qc_bytes_ext!(prop_ext_int_1,
+        i64, calc_max!(::test::I64_MAX, 1), 1, read_int, write_i64);
+    qc_bytes_ext!(prop_ext_int_2,
+        i64, calc_max!(::test::I64_MAX, 2), 2, read_int, write_i64);
+    qc_bytes_ext!(prop_ext_int_3,
+        i64, calc_max!(::test::I64_MAX, 3), 3, read_int, write_i64);
+    qc_bytes_ext!(prop_ext_int_4,
+        i64, calc_max!(::test::I64_MAX, 4), 4, read_int, write_i64);
+    qc_bytes_ext!(prop_ext_int_5,
+        i64, calc_max!(::test::I64_MAX, 5), 5, read_int, write_i64);
+    qc_bytes_ext!(prop_ext_int_6,
+        i64, calc_max!(::test::I64_MAX, 6), 6, read_int, write_i64);
+    qc_bytes_ext!(prop_ext_int_7,
+        i64, calc_max!(::test::I64_MAX, 1), 7, read_int, write_i64);
+    qc_bytes_ext!(prop_ext_int_8,
+        i64, calc_max!(::test::I64_MAX, 8), 8, read_int, write_i64);
+
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_1,
+        Wi128<i128>, 1, 1, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_2,
+        Wi128<i128>, 2, 2, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_3,
+        Wi128<i128>, 3, 3, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_4,
+        Wi128<i128>, 4, 4, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_5,
+        Wi128<i128>, 5, 5, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_6,
+        Wi128<i128>, 6, 6, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_7,
+        Wi128<i128>, 7, 7, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_8,
+        Wi128<i128>, 8, 8, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_9,
+        Wi128<i128>, 9, 9, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_10,
+        Wi128<i128>, 10, 10, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_11,
+        Wi128<i128>, 11, 11, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_12,
+        Wi128<i128>, 12, 12, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_13,
+        Wi128<i128>, 13, 13, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_14,
+        Wi128<i128>, 14, 14, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_15,
+        Wi128<i128>, 15, 15, read_int128, write_i128);
+    #[cfg(feature = "i128")]
+    qc_bytes_ext!(prop_ext_int128_16,
+        Wi128<i128>, 16, 16, read_int128, write_i128);
+
+    // Test slice serialization/deserialization.
+    macro_rules! qc_slice {
+        ($name:ident, $ty_int:ty, $read:ident, $write:ident, $zero:expr) => {
+            mod $name {
+                use core::mem::size_of;
+                use {ByteOrder, BigEndian, NativeEndian, LittleEndian};
+                use super::qc_unsized;
+                #[allow(unused_imports)]
+                use test::Wi128;
+
+                #[test]
+                fn big_endian() {
+                    #[allow(unused_unsafe)]
+                    fn prop(numbers: Vec<$ty_int>) -> bool {
+                        let numbers: Vec<_> = numbers
+                            .into_iter()
+                            .map(|x| x.clone())
+                            .collect();
+                        let num_bytes = size_of::<$ty_int>() * numbers.len();
+                        let mut bytes = vec![0; num_bytes];
+
+                        BigEndian::$write(&numbers, &mut bytes);
+
+                        let mut got = vec![$zero; numbers.len()];
+                        unsafe { BigEndian::$read(&bytes, &mut got); }
+
+                        numbers == got
+                    }
+                    qc_unsized(prop as fn(_) -> bool);
+                }
+
+                #[test]
+                fn little_endian() {
+                    #[allow(unused_unsafe)]
+                    fn prop(numbers: Vec<$ty_int>) -> bool {
+                        let numbers: Vec<_> = numbers
+                            .into_iter()
+                            .map(|x| x.clone())
+                            .collect();
+                        let num_bytes = size_of::<$ty_int>() * numbers.len();
+                        let mut bytes = vec![0; num_bytes];
+
+                        LittleEndian::$write(&numbers, &mut bytes);
+
+                        let mut got = vec![$zero; numbers.len()];
+                        unsafe { LittleEndian::$read(&bytes, &mut got); }
+
+                        numbers == got
+                    }
+                    qc_unsized(prop as fn(_) -> bool);
+                }
+
+                #[test]
+                fn native_endian() {
+                    #[allow(unused_unsafe)]
+                    fn prop(numbers: Vec<$ty_int>) -> bool {
+                        let numbers: Vec<_> = numbers
+                            .into_iter()
+                            .map(|x| x.clone())
+                            .collect();
+                        let num_bytes = size_of::<$ty_int>() * numbers.len();
+                        let mut bytes = vec![0; num_bytes];
+
+                        NativeEndian::$write(&numbers, &mut bytes);
+
+                        let mut got = vec![$zero; numbers.len()];
+                        unsafe { NativeEndian::$read(&bytes, &mut got); }
+
+                        numbers == got
+                    }
+                    qc_unsized(prop as fn(_) -> bool);
+                }
+            }
+        }
+    }
+
+    qc_slice!(prop_slice_u16, u16, read_u16_into, write_u16_into, 0);
+    qc_slice!(prop_slice_i16, i16, read_i16_into, write_i16_into, 0);
+    qc_slice!(prop_slice_u32, u32, read_u32_into, write_u32_into, 0);
+    qc_slice!(prop_slice_i32, i32, read_i32_into, write_i32_into, 0);
+    qc_slice!(prop_slice_u64, u64, read_u64_into, write_u64_into, 0);
+    qc_slice!(prop_slice_i64, i64, read_i64_into, write_i64_into, 0);
+    #[cfg(feature = "i128")]
+    qc_slice!(
+        prop_slice_u128, Wi128<u128>, read_u128_into, write_u128_into, 0);
+    #[cfg(feature = "i128")]
+    qc_slice!(
+        prop_slice_i128, Wi128<i128>, read_i128_into, write_i128_into, 0);
+
+    qc_slice!(
+        prop_slice_f32, f32, read_f32_into_unchecked, write_f32_into, 0.0);
+    qc_slice!(
+        prop_slice_f64, f64, read_f64_into_unchecked, write_f64_into, 0.0);
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/builder/code.rs.html b/src/parity_wasm/builder/code.rs.html new file mode 100644 index 0000000..2fb6c60 --- /dev/null +++ b/src/parity_wasm/builder/code.rs.html @@ -0,0 +1,827 @@ +code.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+
+use std::vec::Vec;
+use elements;
+use super::invoke::{Invoke, Identity};
+use super::misc::{ValueTypeBuilder, ValueTypesBuilder, OptionalValueTypeBuilder};
+
+/// Signature template description
+pub enum Signature {
+	TypeReference(u32),
+	Inline(elements::FunctionType),
+}
+
+/// Signature builder
+pub struct SignatureBuilder<F=Identity> {
+	callback: F,
+	signature: elements::FunctionType,
+}
+
+impl SignatureBuilder {
+	/// New signature builder
+	pub fn new() -> Self {
+		SignatureBuilder::with_callback(Identity)
+	}
+}
+
+impl<F> SignatureBuilder<F> where F: Invoke<elements::FunctionType> {
+	/// New builder with callback function specified
+	pub fn with_callback(callback: F) -> Self {
+		SignatureBuilder {
+			callback: callback,
+			signature: elements::FunctionType::default(),
+		}
+	}
+
+	/// Add argument to signature builder
+	pub fn with_param(mut self, value_type: elements::ValueType) -> Self {
+		self.signature.params_mut().push(value_type);
+		self
+	}
+
+	/// Add multiple arguments to signature builder
+	pub fn with_params(mut self, value_types: Vec<elements::ValueType>) -> Self {
+		self.signature.params_mut().extend(value_types);
+		self
+	}
+
+	/// Override signature return type
+	pub fn with_return_type(mut self, return_type: Option<elements::ValueType>) -> Self {
+		*self.signature.return_type_mut() = return_type;
+		self
+	}
+
+	/// Start build new argument
+	pub fn param(self) -> ValueTypeBuilder<Self> {
+		ValueTypeBuilder::with_callback(self)
+	}
+
+	/// Start build multiple arguments
+	pub fn params(self) -> ValueTypesBuilder<Self> {
+		ValueTypesBuilder::with_callback(self)
+	}
+
+	/// Start building return type
+	pub fn return_type(self) -> OptionalValueTypeBuilder<Self> {
+		OptionalValueTypeBuilder::with_callback(self)
+	}
+
+	/// Finish current builder
+	pub fn build(self) -> F::Result {
+		self.callback.invoke(self.signature)
+	}
+
+	/// Finish current builder returning intermediate `Signature` struct
+	pub fn build_sig(self) -> Signature {
+		Signature::Inline(self.signature)
+	}
+}
+
+impl<F> Invoke<Vec<elements::ValueType>> for SignatureBuilder<F>
+	where F: Invoke<elements::FunctionType>
+{
+	type Result = Self;
+
+	fn invoke(self, args: Vec<elements::ValueType>) -> Self {
+		self.with_params(args)
+	}
+}
+
+impl<F> Invoke<Option<elements::ValueType>> for SignatureBuilder<F>
+	where F: Invoke<elements::FunctionType>
+{
+	type Result = Self;
+
+	fn invoke(self, arg: Option<elements::ValueType>) -> Self {
+		self.with_return_type(arg)
+	}
+}
+
+impl<F> Invoke<elements::ValueType> for SignatureBuilder<F>
+	where F: Invoke<elements::FunctionType>
+{
+	type Result = Self;
+
+	fn invoke(self, arg: elements::ValueType) -> Self {
+		self.with_param(arg)
+	}
+}
+
+/// Type (signature) reference builder (for function/import/indirect call)
+pub struct TypeRefBuilder<F=Identity> {
+	callback: F,
+	type_ref: u32,
+}
+
+impl<F> TypeRefBuilder<F> where F: Invoke<u32> {
+	/// New builder chained with specified callback
+	pub fn with_callback(callback: F) -> Self {
+		TypeRefBuilder {
+			callback: callback,
+			type_ref: 0
+		}
+	}
+
+	/// Set/override of type reference
+	pub fn val(mut self, val: u32) -> Self {
+		self.type_ref = val;
+		self
+	}
+
+	/// Finish current builder
+	pub fn build(self) -> F::Result { self.callback.invoke(self.type_ref) }
+}
+
+/// Multiple signatures builder
+pub struct SignaturesBuilder<F=Identity> {
+	callback: F,
+	section: Vec<Signature>,
+}
+
+impl SignaturesBuilder {
+	/// New empty functions section builder
+	pub fn new() -> Self {
+		SignaturesBuilder::with_callback(Identity)
+	}
+}
+
+impl<F> SignaturesBuilder<F> {
+	/// New builder chained with specified callback
+	pub fn with_callback(callback: F) -> Self {
+		SignaturesBuilder {
+			callback: callback,
+			section: Vec::new(),
+		}
+	}
+
+	/// Push new signature into the builder output
+	pub fn with_signature(mut self, signature: Signature) -> Self {
+		self.section.push(signature);
+		self
+	}
+
+	/// Start building new signature with `TypeRefBuilder`
+	pub fn type_ref(self) -> TypeRefBuilder<Self> {
+		TypeRefBuilder::with_callback(self)
+	}
+}
+
+impl<F> SignaturesBuilder<F> where F: Invoke<SignatureBindings> {
+	/// Start building new signature with dedicated builder
+	pub fn signature(self) -> SignatureBuilder<Self> {
+		SignatureBuilder::with_callback(self)
+	}
+}
+
+impl<F> Invoke<elements::FunctionType> for SignaturesBuilder<F> {
+	type Result = Self;
+
+	fn invoke(self, signature: elements::FunctionType) -> Self {
+		self.with_signature(Signature::Inline(signature))
+	}
+}
+
+impl<F> Invoke<u32> for SignaturesBuilder<F> {
+	type Result = Self;
+
+	fn invoke(self, type_ref: u32) -> Self {
+		self.with_signature(Signature::TypeReference(type_ref))
+	}
+}
+
+impl<F> SignaturesBuilder<F> where F: Invoke<elements::FunctionSection> {
+
+	/// Finalize builder spawning element
+	pub fn build(self) -> F::Result {
+		let mut result = elements::FunctionSection::default();
+		for f in self.section.into_iter() {
+			if let Signature::TypeReference(type_ref) = f {
+				result.entries_mut().push(elements::Func::new(type_ref));
+			} else {
+				unreachable!(); // never possible with current generics impl-s
+			}
+		}
+		self.callback.invoke(result)
+	}
+}
+
+/// Signature bindings
+pub type SignatureBindings = Vec<Signature>;
+
+impl<F> SignaturesBuilder<F> where F: Invoke<SignatureBindings> {
+	/// Bind signature list
+	pub fn bind(self) -> F::Result {
+		self.callback.invoke(self.section)
+	}
+}
+
+/// Function body (code) builder
+pub struct FuncBodyBuilder<F=Identity> {
+	callback: F,
+	body: elements::FuncBody,
+}
+
+impl<F> FuncBodyBuilder<F> {
+	/// New body (code) builder given the chain callback
+	pub fn with_callback(callback: F) -> Self {
+		FuncBodyBuilder {
+			callback: callback,
+			body: elements::FuncBody::new(Vec::new(), elements::Instructions::empty()),
+		}
+	}
+}
+
+impl<F> FuncBodyBuilder<F> where F: Invoke<elements::FuncBody> {
+	/// Set/override entirely with FuncBody struct
+	pub fn with_func(mut self, func: elements::FuncBody) -> Self {
+		self.body = func;
+		self
+	}
+
+	/// Extend function local list with new entries
+	pub fn with_locals(mut self, locals: Vec<elements::Local>) -> Self {
+		self.body.locals_mut().extend(locals);
+		self
+	}
+
+	/// Set code of the function
+	pub fn with_instructions(mut self, instructions: elements::Instructions) -> Self {
+		*self.body.code_mut() = instructions;
+		self
+	}
+
+	/// Finish current builder spawning resulting struct
+	pub fn build(self) -> F::Result {
+		self.callback.invoke(self.body)
+	}
+}
+
+/// Function definition (extended structure to specify function entirely, incl. signature, mainness and code)
+pub struct FunctionDefinition {
+	/// Is this function is start function
+	pub is_main: bool,
+	/// Signature description
+	pub signature: Signature,
+	/// Body (code) of the function
+	pub code: elements::FuncBody,
+}
+
+impl Default for FunctionDefinition {
+	fn default() -> Self {
+		FunctionDefinition {
+			is_main: false,
+			signature: Signature::TypeReference(0),
+			code: elements::FuncBody::empty(),
+		}
+	}
+}
+
+/// Function definition builder
+pub struct FunctionBuilder<F=Identity> {
+	callback: F,
+	func: FunctionDefinition,
+}
+
+impl FunctionBuilder {
+	/// New function builder
+	pub fn new() -> Self {
+		FunctionBuilder::with_callback(Identity)
+	}
+}
+
+impl<F> FunctionBuilder<F> where F: Invoke<FunctionDefinition> {
+	/// New function builder with chained callback
+	pub fn with_callback(callback: F) -> Self {
+		FunctionBuilder {
+			callback: callback,
+			func: Default::default(),
+		}
+	}
+
+	/// Set that this function is main entry point
+	pub fn main(mut self) -> Self {
+		self.func.is_main = true;
+		self
+	}
+
+	/// Start signature builder of the function
+	pub fn signature(self) -> SignatureBuilder<Self> {
+		SignatureBuilder::with_callback(self)
+	}
+
+	/// Override current signature entirely with new one from known struct
+	pub fn with_signature(mut self, signature: Signature) -> Self {
+		self.func.signature = signature;
+		self
+	}
+
+	/// Start code (body) builder
+	pub fn body(self) -> FuncBodyBuilder<Self> {
+		FuncBodyBuilder::with_callback(self)
+	}
+
+	/// Set body (code) for this function
+	pub fn with_body(mut self, body: elements::FuncBody) -> Self {
+		self.func.code = body;
+		self
+	}
+
+	/// Finalize current builder spawning resulting struct in the callback
+	pub fn build(self) -> F::Result {
+		self.callback.invoke(self.func)
+	}
+}
+
+impl<F> Invoke<elements::FunctionType> for FunctionBuilder<F> where F: Invoke<FunctionDefinition> {
+	type Result = Self;
+
+	fn invoke(self, signature: elements::FunctionType) -> Self {
+		self.with_signature(Signature::Inline(signature))
+	}
+}
+
+impl<F> Invoke<u32> for FunctionBuilder<F> where F: Invoke<FunctionDefinition> {
+	type Result = Self;
+
+	fn invoke(self, type_ref: u32) -> Self {
+		self.with_signature(Signature::TypeReference(type_ref))
+	}
+}
+
+impl<F> Invoke<elements::FuncBody> for FunctionBuilder<F> where F: Invoke<FunctionDefinition> {
+	type Result = Self;
+
+	fn invoke(self, body: elements::FuncBody) -> Self::Result {
+		self.with_body(body)
+	}
+}
+
+/// New builder of signature list
+pub fn signatures() -> SignaturesBuilder {
+	SignaturesBuilder::new()
+}
+
+/// New signature builder
+pub fn signature() -> SignatureBuilder {
+	SignatureBuilder::new()
+}
+
+/// New builder of function (signature & body)
+pub fn function() -> FunctionBuilder {
+	FunctionBuilder::new()
+}
+
+#[cfg(test)]
+mod tests {
+
+	use super::{signatures, function};
+	use elements;
+
+	#[test]
+	fn example() {
+		let result = signatures()
+			.type_ref().val(1).build()
+			.build();
+
+		assert_eq!(result.entries().len(), 1);
+
+		let result = signatures()
+			.signature()
+				.param().i32()
+				.param().i32()
+				.return_type().i64()
+				.build()
+			.bind();
+
+		assert_eq!(result.len(), 1);
+	}
+
+	#[test]
+	fn func_example() {
+		let func = function()
+			.signature()
+				.param().i32()
+				.return_type().i32()
+				.build()
+			.body()
+				.with_instructions(elements::Instructions::empty())
+				.build()
+			.build();
+
+		assert_eq!(func.code.locals().len(), 0);
+		assert_eq!(func.code.code().elements().len(), 1);
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/builder/data.rs.html b/src/parity_wasm/builder/data.rs.html new file mode 100644 index 0000000..b986632 --- /dev/null +++ b/src/parity_wasm/builder/data.rs.html @@ -0,0 +1,115 @@ +data.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+
+use std::vec::Vec;
+use super::invoke::{Identity, Invoke};
+use elements;
+
+/// Data segment builder
+pub struct DataSegmentBuilder<F=Identity> {
+	callback: F,
+	// todo: add mapper once multiple memory refs possible
+	mem_index: u32,
+	offset: elements::InitExpr,
+	value: Vec<u8>,
+}
+
+impl DataSegmentBuilder {
+	/// New data segment builder
+	pub fn new() -> Self {
+		DataSegmentBuilder::with_callback(Identity)
+	}
+}
+
+impl<F> DataSegmentBuilder<F> {
+	/// New data segment builder inside the chain context
+	pub fn with_callback(callback: F) -> Self {
+		DataSegmentBuilder {
+			callback: callback,
+			mem_index: 0,
+			offset: elements::InitExpr::empty(),
+			value: Vec::new(),
+		}
+	}
+
+	/// Set offset initialization instruction. `End` instruction will be added automatically.
+	pub fn offset(mut self, instruction: elements::Instruction) -> Self {
+		self.offset = elements::InitExpr::new(vec![instruction, elements::Instruction::End]);
+		self
+	}
+
+	/// Set the bytes value of the segment
+	pub fn value(mut self, value: Vec<u8>) -> Self {
+		self.value = value;
+		self
+	}
+}
+
+impl<F> DataSegmentBuilder<F> where F: Invoke<elements::DataSegment> {
+	/// Finish current builder, spawning resulting struct
+	pub fn build(self) -> F::Result {
+		self.callback.invoke(
+			elements::DataSegment::new(
+				self.mem_index,
+				self.offset,
+				self.value,
+			)
+		)
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/builder/export.rs.html b/src/parity_wasm/builder/export.rs.html new file mode 100644 index 0000000..d026429 --- /dev/null +++ b/src/parity_wasm/builder/export.rs.html @@ -0,0 +1,237 @@ +export.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+
+use std::string::String;
+use std::borrow::ToOwned;
+use super::invoke::{Invoke, Identity};
+use elements;
+
+/// Export entry builder
+pub struct ExportBuilder<F=Identity> {
+	callback: F,
+	field: String,
+	binding: elements::Internal,
+}
+
+impl ExportBuilder {
+	/// New export builder
+	pub fn new() -> Self {
+		ExportBuilder::with_callback(Identity)
+	}
+}
+
+impl<F> ExportBuilder<F> {
+
+	/// New export entry builder in the specified chained context
+	pub fn with_callback(callback: F) -> Self {
+		ExportBuilder {
+			callback: callback,
+			field: String::new(),
+			binding: elements::Internal::Function(0),
+		}
+	}
+
+	/// Set the field name of the export entry
+	pub fn field(mut self, field: &str) -> Self {
+		self.field = field.to_owned();
+		self
+	}
+
+	/// Specify the internal module mapping for this entry
+	pub fn with_internal(mut self, external: elements::Internal) -> Self {
+		self.binding = external;
+		self
+	}
+
+	/// Start the internal builder for this export entry
+	pub fn internal(self) -> ExportInternalBuilder<Self> {
+		ExportInternalBuilder::with_callback(self)
+	}
+}
+
+impl<F> ExportBuilder<F> where F: Invoke<elements::ExportEntry> {
+	/// Finalize export entry builder spawning the resulting struct
+	pub fn build(self) -> F::Result {
+		self.callback.invoke(elements::ExportEntry::new(self.field, self.binding))
+	}
+}
+
+impl<F> Invoke<elements::Internal> for ExportBuilder<F> {
+	type Result = Self;
+	fn invoke(self, val: elements::Internal) -> Self {
+		self.with_internal(val)
+	}
+}
+
+/// Internal mapping builder for export entry
+pub struct ExportInternalBuilder<F=Identity> {
+	callback: F,
+	binding: elements::Internal,
+}
+
+impl<F> ExportInternalBuilder<F> where F: Invoke<elements::Internal> {
+	/// New export entry internal mapping for the chained context
+	pub fn with_callback(callback: F) -> Self {
+		ExportInternalBuilder{
+			callback: callback,
+			binding: elements::Internal::Function(0),
+		}
+	}
+
+	/// Map to function by index
+	pub fn func(mut self, index: u32) -> F::Result {
+		self.binding = elements::Internal::Function(index);
+		self.callback.invoke(self.binding)
+	}
+
+	/// Map to memory
+	pub fn memory(mut self, index: u32) -> F::Result {
+		self.binding = elements::Internal::Memory(index);
+		self.callback.invoke(self.binding)
+	}
+
+	/// Map to table
+	pub fn table(mut self, index: u32) -> F::Result {
+		self.binding = elements::Internal::Table(index);
+		self.callback.invoke(self.binding)
+	}
+
+	/// Map to global
+	pub fn global(mut self, index: u32) -> F::Result {
+		self.binding = elements::Internal::Global(index);
+		self.callback.invoke(self.binding)
+	}
+}
+
+/// New builder for export entry
+pub fn export() -> ExportBuilder {
+	ExportBuilder::new()
+}
+
+#[cfg(test)]
+mod tests {
+	use super::export;
+
+	#[test]
+	fn example() {
+		let entry = export().field("memory").internal().memory(0).build();
+		assert_eq!(entry.field(), "memory");
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/builder/global.rs.html b/src/parity_wasm/builder/global.rs.html new file mode 100644 index 0000000..131b244 --- /dev/null +++ b/src/parity_wasm/builder/global.rs.html @@ -0,0 +1,183 @@ +global.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+
+use super::invoke::{Invoke, Identity};
+use super::misc::ValueTypeBuilder;
+use elements;
+
+/// Global builder
+pub struct GlobalBuilder<F=Identity> {
+	callback: F,
+	value_type: elements::ValueType,
+	is_mutable: bool,
+	init_expr: elements::InitExpr,
+}
+
+impl GlobalBuilder {
+	/// New global builder
+	pub fn new() -> Self {
+		GlobalBuilder::with_callback(Identity)
+	}
+}
+
+impl<F> GlobalBuilder<F> {
+	/// New global builder with callback (in chained context)
+	pub fn with_callback(callback: F) -> Self {
+		GlobalBuilder {
+			callback: callback,
+			value_type: elements::ValueType::I32,
+			init_expr: elements::InitExpr::empty(),
+			is_mutable: false,
+		}
+	}
+
+	/// Set/override resulting global type
+	pub fn with_type(mut self, value_type: elements::ValueType) -> Self {
+		self.value_type = value_type;
+		self
+	}
+
+	/// Set mutabilty to true
+	pub fn mutable(mut self) -> Self {
+		self.is_mutable = true;
+		self
+	}
+
+	/// Set initialization expression instruction for this global (`end` instruction will be added automatically)
+	pub fn init_expr(mut self, instruction: elements::Instruction) -> Self {
+		self.init_expr = elements::InitExpr::new(vec![instruction, elements::Instruction::End]);
+		self
+	}
+
+	/// Start value type builder
+	pub fn value_type(self) -> ValueTypeBuilder<Self> {
+		ValueTypeBuilder::with_callback(self)
+	}
+}
+
+impl<F> GlobalBuilder<F> where F: Invoke<elements::GlobalEntry> {
+	/// Finalize current builder spawning resulting struct
+	pub fn build(self) -> F::Result {
+		self.callback.invoke(
+			elements::GlobalEntry::new(
+				elements::GlobalType::new(self.value_type, self.is_mutable),
+				self.init_expr,
+			)
+		)
+	}
+}
+
+impl<F> Invoke<elements::ValueType> for GlobalBuilder<F> {
+	type Result = Self;
+	fn invoke(self, the_type: elements::ValueType) -> Self {
+		self.with_type(the_type)
+	}
+}
+
+/// New builder for export entry
+pub fn global() -> GlobalBuilder {
+	GlobalBuilder::new()
+}
+
+#[cfg(test)]
+mod tests {
+	use super::global;
+	use elements;
+
+	#[test]
+	fn example() {
+		let entry = global().value_type().i32().build();
+		assert_eq!(entry.global_type().content_type(), elements::ValueType::I32);
+		assert_eq!(entry.global_type().is_mutable(), false);
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/builder/import.rs.html b/src/parity_wasm/builder/import.rs.html new file mode 100644 index 0000000..ff10a46 --- /dev/null +++ b/src/parity_wasm/builder/import.rs.html @@ -0,0 +1,265 @@ +import.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+
+use super::invoke::{Identity, Invoke};
+use elements;
+use std::borrow::ToOwned;
+use std::string::String;
+
+/// Import builder
+pub struct ImportBuilder<F=Identity> {
+	callback: F,
+	module: String,
+	field: String,
+	binding: elements::External,
+}
+
+impl ImportBuilder {
+	/// New import builder
+	pub fn new() -> Self {
+		ImportBuilder::with_callback(Identity)
+	}
+}
+
+impl<F> ImportBuilder<F> {
+	/// New import builder with callback (in chained context)
+	pub fn with_callback(callback: F) -> Self {
+		ImportBuilder {
+			callback: callback,
+			module: String::new(),
+			field: String::new(),
+			binding: elements::External::Function(0),
+		}
+	}
+
+	/// Set/override module name
+	pub fn module(mut self, name: &str) -> Self {
+		self.module = name.to_owned();
+		self
+	}
+
+	/// Set/override field name
+	pub fn field(mut self, name: &str) -> Self {
+		self.field = name.to_owned();
+		self
+	}
+
+	/// Set/override both module name and field name
+	pub fn path(self, module: &str, field: &str) -> Self {
+		self.module(module).field(field)
+	}
+
+	/// Set/override external mapping for this import
+	pub fn with_external(mut self, external: elements::External) -> Self {
+		self.binding = external;
+		self
+	}
+
+	/// Start new external mapping builder
+	pub fn external(self) -> ImportExternalBuilder<Self> {
+		ImportExternalBuilder::with_callback(self)
+	}
+}
+
+impl<F> ImportBuilder<F> where F: Invoke<elements::ImportEntry> {
+	/// Finalize current builder spawning the resulting struct
+	pub fn build(self) -> F::Result {
+		self.callback.invoke(elements::ImportEntry::new(self.module, self.field, self.binding))
+	}
+}
+
+impl<F> Invoke<elements::External> for ImportBuilder<F> {
+	type Result = Self;
+	fn invoke(self, val: elements::External) -> Self {
+		self.with_external(val)
+	}
+}
+
+/// Import to external mapping builder
+pub struct ImportExternalBuilder<F=Identity> {
+	callback: F,
+	binding: elements::External,
+}
+
+impl<F> ImportExternalBuilder<F> where F: Invoke<elements::External> {
+	/// New import to external mapping builder with callback (in chained context)
+	pub fn with_callback(callback: F) -> Self {
+		ImportExternalBuilder{
+			callback: callback,
+			binding: elements::External::Function(0),
+		}
+	}
+
+	/// Function mapping with type reference
+	pub fn func(mut self, index: u32) -> F::Result {
+		self.binding = elements::External::Function(index);
+		self.callback.invoke(self.binding)
+	}
+
+	/// Memory mapping with specified limits
+	pub fn memory(mut self, min: u32, max: Option<u32>) -> F::Result {
+		self.binding = elements::External::Memory(elements::MemoryType::new(min, max));
+		self.callback.invoke(self.binding)
+	}
+
+	/// Table mapping with specified limits
+	pub fn table(mut self, min: u32, max: Option<u32>) -> F::Result {
+		self.binding = elements::External::Table(elements::TableType::new(min, max));
+		self.callback.invoke(self.binding)
+	}
+
+	/// Global mapping with speciifed type and mutability
+	pub fn global(mut self, value_type: elements::ValueType, is_mut: bool) -> F::Result {
+		self.binding = elements::External::Global(elements::GlobalType::new(value_type, is_mut));
+		self.callback.invoke(self.binding)
+	}
+}
+
+/// New builder for import entry
+pub fn import() -> ImportBuilder {
+	ImportBuilder::new()
+}
+
+#[cfg(test)]
+mod tests {
+	use super::import;
+
+	#[test]
+	fn example() {
+		let entry = import().module("env").field("memory").external().memory(256, Some(256)).build();
+
+		assert_eq!(entry.module(), "env");
+		assert_eq!(entry.field(), "memory");
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/builder/invoke.rs.html b/src/parity_wasm/builder/invoke.rs.html new file mode 100644 index 0000000..f08b1ac --- /dev/null +++ b/src/parity_wasm/builder/invoke.rs.html @@ -0,0 +1,36 @@ +invoke.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+
+//! invoke helper
+
+/// Helper trait to allow chaining
+pub trait Invoke<A> {
+	type Result;
+
+	fn invoke(self, arg: A) -> Self::Result;
+}
+
+/// Identity chain element
+pub struct Identity;
+
+impl<A> Invoke<A> for Identity {
+	type Result = A;
+
+	fn invoke(self, arg: A) -> A { arg }
+}
+
\ No newline at end of file diff --git a/src/parity_wasm/builder/memory.rs.html b/src/parity_wasm/builder/memory.rs.html new file mode 100644 index 0000000..68ce0ea --- /dev/null +++ b/src/parity_wasm/builder/memory.rs.html @@ -0,0 +1,173 @@ +memory.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+
+use std::vec::Vec;
+use elements;
+use super::invoke::{Invoke, Identity};
+
+/// Memory definition struct
+#[derive(Debug, PartialEq)]
+pub struct MemoryDefinition {
+	/// Minimum memory size
+	pub min: u32,
+	/// Maximum memory size
+	pub max: Option<u32>,
+	/// Memory data segments (static regions)
+	pub data: Vec<MemoryDataDefinition>,
+}
+
+/// Memory static region entry definition
+#[derive(Debug, PartialEq)]
+pub struct MemoryDataDefinition {
+	/// Segment initialization expression for offset
+	pub offset: elements::InitExpr,
+	/// Raw bytes of static region
+	pub values: Vec<u8>,
+}
+
+/// Memory and static regions builder
+pub struct MemoryBuilder<F=Identity> {
+	callback: F,
+	memory: MemoryDefinition,
+}
+
+impl MemoryBuilder {
+	/// New memory builder
+	pub fn new() -> Self {
+		MemoryBuilder::with_callback(Identity)
+	}
+}
+
+impl<F> MemoryBuilder<F> where F: Invoke<MemoryDefinition> {
+	/// New memory builder with callback (in chained context)
+	pub fn with_callback(callback: F) -> Self {
+		MemoryBuilder {
+			callback: callback,
+			memory: Default::default(),
+		}
+	}
+
+	/// Set/override minimum size
+	pub fn with_min(mut self, min: u32) -> Self {
+		self.memory.min = min;
+		self
+	}
+
+	/// Set/override maximum size
+	pub fn with_max(mut self, max: Option<u32>) -> Self {
+		self.memory.max = max;
+		self
+	}
+
+	/// Push new static region with initialized offset expression and raw bytes
+	pub fn with_data(mut self, index: u32, values: Vec<u8>) -> Self {
+		self.memory.data.push(MemoryDataDefinition {
+			offset: elements::InitExpr::new(vec![
+				elements::Instruction::I32Const(index as i32),
+				elements::Instruction::End,
+			]),
+			values: values,
+		});
+		self
+	}
+
+	/// Finalize current builder, spawning resulting struct
+	pub fn build(self) -> F::Result {
+		self.callback.invoke(self.memory)
+	}
+}
+
+impl Default for MemoryDefinition {
+	fn default() -> Self {
+		MemoryDefinition {
+			min: 1,
+			max: None,
+			data: Vec::new(),
+		}
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/builder/misc.rs.html b/src/parity_wasm/builder/misc.rs.html new file mode 100644 index 0000000..4cdf7a8 --- /dev/null +++ b/src/parity_wasm/builder/misc.rs.html @@ -0,0 +1,189 @@ +misc.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+
+use std::vec::Vec;
+use super::invoke::{Invoke, Identity};
+use elements;
+
+pub struct ValueTypeBuilder<F=Identity> {
+	callback: F,
+}
+
+impl<F> ValueTypeBuilder<F> where F: Invoke<elements::ValueType> {
+	pub fn with_callback(callback: F) -> Self {
+		ValueTypeBuilder { callback: callback }
+	}
+
+	pub fn i32(self) -> F::Result {
+		self.callback.invoke(elements::ValueType::I32)
+	}
+
+	pub fn i64(self) -> F::Result {
+		self.callback.invoke(elements::ValueType::I64)
+	}
+
+	pub fn f32(self) -> F::Result {
+		self.callback.invoke(elements::ValueType::F32)
+	}
+
+	pub fn f64(self) -> F::Result {
+		self.callback.invoke(elements::ValueType::F64)
+	}
+}
+
+pub struct OptionalValueTypeBuilder<F=Identity> {
+	callback: F,
+}
+
+impl<F> OptionalValueTypeBuilder<F> where F: Invoke<Option<elements::ValueType>> {
+	pub fn with_callback(callback: F) -> Self {
+		OptionalValueTypeBuilder { callback: callback }
+	}
+
+	pub fn i32(self) -> F::Result {
+		self.callback.invoke(Some(elements::ValueType::I32))
+	}
+
+	pub fn i64(self) -> F::Result {
+		self.callback.invoke(Some(elements::ValueType::I64))
+	}
+
+	pub fn f32(self) -> F::Result {
+		self.callback.invoke(Some(elements::ValueType::F32))
+	}
+
+	pub fn f64(self) -> F::Result {
+		self.callback.invoke(Some(elements::ValueType::F64))
+	}
+}
+
+pub struct ValueTypesBuilder<F=Identity> {
+	callback: F,
+	value_types: Vec<elements::ValueType>,
+}
+
+impl<F> ValueTypesBuilder<F> where F: Invoke<Vec<elements::ValueType>> {
+	pub fn with_callback(callback: F) -> Self {
+		ValueTypesBuilder {
+			callback: callback,
+			value_types: Vec::new(),
+		}
+	}
+
+	pub fn i32(mut self) -> Self {
+		self.value_types.push(elements::ValueType::I32);
+		self
+	}
+
+	pub fn i64(mut self) -> Self {
+		self.value_types.push(elements::ValueType::I64);
+		self
+	}
+
+	pub fn f32(mut self) -> Self {
+		self.value_types.push(elements::ValueType::F32);
+		self
+	}
+
+	pub fn f64(mut self) -> Self {
+		self.value_types.push(elements::ValueType::F64);
+		self
+	}
+
+	pub fn build(self) -> F::Result {
+		self.callback.invoke(self.value_types)
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/builder/mod.rs.html b/src/parity_wasm/builder/mod.rs.html new file mode 100644 index 0000000..f249b5b --- /dev/null +++ b/src/parity_wasm/builder/mod.rs.html @@ -0,0 +1,53 @@ +mod.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+
+//! Various builders to generate/alter wasm components
+
+mod invoke;
+mod module;
+mod code;
+mod misc;
+mod import;
+mod memory;
+mod table;
+mod export;
+mod global;
+mod data;
+
+pub use self::code::{
+	signatures, signature, function, SignatureBuilder, SignaturesBuilder,
+	FunctionBuilder, TypeRefBuilder, FuncBodyBuilder, FunctionDefinition,
+};
+pub use self::data::DataSegmentBuilder;
+pub use self::export::{export, ExportBuilder, ExportInternalBuilder};
+pub use self::global::{global, GlobalBuilder};
+pub use self::import::{import, ImportBuilder};
+pub use self::invoke::Identity;
+pub use self::memory::MemoryBuilder;
+pub use self::module::{module, from_module, ModuleBuilder};
+pub use self::table::{TableBuilder, TableDefinition, TableEntryDefinition};
+
+
\ No newline at end of file diff --git a/src/parity_wasm/builder/module.rs.html b/src/parity_wasm/builder/module.rs.html new file mode 100644 index 0000000..09406ed --- /dev/null +++ b/src/parity_wasm/builder/module.rs.html @@ -0,0 +1,1187 @@ +module.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+
+use std::vec::Vec;
+use super::invoke::{Invoke, Identity};
+use super::code::{self, SignaturesBuilder, FunctionBuilder};
+use super::memory::{self, MemoryBuilder};
+use super::table::{self, TableBuilder};
+use super::{import, export, global, data};
+use elements;
+
+/// Module builder
+pub struct ModuleBuilder<F=Identity> {
+	callback: F,
+	module: ModuleScaffold,
+}
+
+/// Location of the internal module function
+pub struct CodeLocation {
+	/// Location (index in 'functions' section) of the signature
+	pub signature: u32,
+	/// Location (index in the 'code' section) of the body
+	pub body: u32,
+}
+
+#[derive(Default, PartialEq)]
+struct ModuleScaffold {
+	pub types: elements::TypeSection,
+	pub import: elements::ImportSection,
+	pub functions: elements::FunctionSection,
+	pub table: elements::TableSection,
+	pub memory: elements::MemorySection,
+	pub global: elements::GlobalSection,
+	pub export: elements::ExportSection,
+	pub start: Option<u32>,
+	pub element: elements::ElementSection,
+	pub code: elements::CodeSection,
+	pub data: elements::DataSection,
+	pub other: Vec<elements::Section>,
+}
+
+impl From<elements::Module> for ModuleScaffold {
+	fn from(module: elements::Module) -> Self {
+		let mut types: Option<elements::TypeSection> = None;
+		let mut import: Option<elements::ImportSection> = None;
+		let mut funcs: Option<elements::FunctionSection> = None;
+		let mut table: Option<elements::TableSection> = None;
+		let mut memory: Option<elements::MemorySection> = None;
+		let mut global: Option<elements::GlobalSection> = None;
+		let mut export: Option<elements::ExportSection> = None;
+		let mut start: Option<u32> = None;
+		let mut element: Option<elements::ElementSection> = None;
+		let mut code: Option<elements::CodeSection> = None;
+		let mut data: Option<elements::DataSection> = None;
+
+		let mut sections = module.into_sections();
+		while let Some(section) = sections.pop() {
+			match section {
+				elements::Section::Type(sect) => { types = Some(sect); }
+				elements::Section::Import(sect) => { import = Some(sect); }
+				elements::Section::Function(sect) => { funcs = Some(sect); }
+				elements::Section::Table(sect) => { table = Some(sect); }
+				elements::Section::Memory(sect) => { memory = Some(sect); }
+				elements::Section::Global(sect) => { global = Some(sect); }
+				elements::Section::Export(sect) => { export = Some(sect); }
+				elements::Section::Start(index) => { start = Some(index); }
+				elements::Section::Element(sect) => { element = Some(sect); }
+				elements::Section::Code(sect) => { code = Some(sect); }
+				elements::Section::Data(sect) => { data = Some(sect); }
+				_ => {}
+			}
+		}
+
+		ModuleScaffold {
+			types: types.unwrap_or_default(),
+			import: import.unwrap_or_default(),
+			functions: funcs.unwrap_or_default(),
+			table: table.unwrap_or_default(),
+			memory: memory.unwrap_or_default(),
+			global: global.unwrap_or_default(),
+			export: export.unwrap_or_default(),
+			start: start,
+			element: element.unwrap_or_default(),
+			code: code.unwrap_or_default(),
+			data: data.unwrap_or_default(),
+			other: sections,
+		}
+	}
+}
+
+impl From<ModuleScaffold> for elements::Module {
+	fn from(module: ModuleScaffold) -> Self {
+		let mut sections = Vec::new();
+
+		let types = module.types;
+		if types.types().len() > 0 {
+			sections.push(elements::Section::Type(types));
+		}
+		let import = module.import;
+		if import.entries().len() > 0 {
+			sections.push(elements::Section::Import(import));
+		}
+		let functions = module.functions;
+		if functions.entries().len() > 0 {
+			sections.push(elements::Section::Function(functions));
+		}
+		let table = module.table;
+		if table.entries().len() > 0 {
+			sections.push(elements::Section::Table(table));
+		}
+		let memory = module.memory;
+		if memory.entries().len() > 0 {
+			sections.push(elements::Section::Memory(memory));
+		}
+		let global = module.global;
+		if global.entries().len() > 0 {
+			sections.push(elements::Section::Global(global));
+		}
+		let export = module.export;
+		if export.entries().len() > 0 {
+			sections.push(elements::Section::Export(export));
+		}
+		if let Some(start) = module.start {
+			sections.push(elements::Section::Start(start));
+		}
+		let element = module.element;
+		if element.entries().len() > 0 {
+			sections.push(elements::Section::Element(element));
+		}
+		let code = module.code;
+		if code.bodies().len() > 0 {
+			sections.push(elements::Section::Code(code));
+		}
+		let data = module.data;
+		if data.entries().len() > 0 {
+			sections.push(elements::Section::Data(data));
+		}
+		sections.extend(module.other);
+		elements::Module::new(sections)
+	}
+}
+
+impl ModuleBuilder {
+	/// New empty module builder
+	pub fn new() -> Self {
+		ModuleBuilder::with_callback(Identity)
+	}
+}
+
+impl<F> ModuleBuilder<F> where F: Invoke<elements::Module> {
+	/// New module builder with bound callback
+	pub fn with_callback(callback: F) -> Self {
+		ModuleBuilder {
+			callback: callback,
+			module: Default::default(),
+		}
+	}
+
+	/// Builder from raw module
+	pub fn with_module(mut self, module: elements::Module) -> Self {
+		self.module = module.into();
+		self
+	}
+
+	/// Fill module with sections from iterator
+	pub fn with_sections<I>(mut self, sections: I) -> Self
+		where I: IntoIterator<Item=elements::Section>
+	{
+		self.module.other.extend(sections);
+		self
+	}
+
+	/// Add additional section
+	pub fn with_section(mut self, section: elements::Section) -> Self {
+		self.module.other.push(section);
+		self
+	}
+
+	/// Binds to the type section, creates additional types when required
+	pub fn with_signatures(mut self, bindings: code::SignatureBindings) -> Self {
+		self.push_signatures(bindings);
+		self
+	}
+
+	/// Push stand-alone function definition, creating sections, signature and code blocks
+	/// in corresponding sections.
+	/// `FunctionDefinition` can be build using `builder::function` builder
+	pub fn push_function(&mut self, func: code::FunctionDefinition) -> CodeLocation {
+		let signature = func.signature;
+		let body = func.code;
+
+		let type_ref = self.resolve_type_ref(signature);
+
+		self.module.functions.entries_mut().push(elements::Func::new(type_ref));
+		let signature_index = self.module.functions.entries_mut().len() as u32 - 1;
+		self.module.code.bodies_mut().push(body);
+		let body_index = self.module.code.bodies_mut().len() as u32 - 1;
+
+		if func.is_main {
+			self.module.start = Some(body_index);
+		}
+
+		CodeLocation {
+			signature: signature_index,
+			body: body_index,
+		}
+	}
+
+	/// Push linear memory region
+	pub fn push_memory(&mut self, mut memory: memory::MemoryDefinition) -> u32 {
+		let entries = self.module.memory.entries_mut();
+		entries.push(elements::MemoryType::new(memory.min, memory.max));
+		let memory_index = (entries.len() - 1) as u32;
+		for data in memory.data.drain(..) {
+			self.module.data.entries_mut()
+				.push(elements::DataSegment::new(memory_index, data.offset, data.values))
+		}
+		memory_index
+	}
+
+	/// Push table
+	pub fn push_table(&mut self, mut table: table::TableDefinition) -> u32 {
+		let entries = self.module.table.entries_mut();
+		entries.push(elements::TableType::new(table.min, table.max));
+		let table_index = (entries.len() - 1) as u32;
+		for entry in table.elements.drain(..) {
+			self.module.element.entries_mut()
+				.push(elements::ElementSegment::new(table_index, entry.offset, entry.values))
+		}
+		table_index
+	}
+
+	fn resolve_type_ref(&mut self, signature: code::Signature) -> u32 {
+		match signature {
+			code::Signature::Inline(func_type) => {
+				if let Some(existing_entry) = self.module.types.types().iter().enumerate().find(|(_idx, t)| {
+					let elements::Type::Function(ref existing) = t;
+					*existing == func_type
+				}) {
+					return existing_entry.0 as u32
+				}
+				self.module.types.types_mut().push(elements::Type::Function(func_type));
+				self.module.types.types().len() as u32 - 1
+			}
+			code::Signature::TypeReference(type_ref) => {
+				type_ref
+			}
+		}
+	}
+
+	/// Push one function signature, returning it's calling index.
+	/// Can create corresponding type in type section.
+	pub fn push_signature(&mut self, signature: code::Signature) -> u32 {
+		self.resolve_type_ref(signature)
+	}
+
+	/// Push signatures in the module, returning corresponding indices of pushed signatures
+	pub fn push_signatures(&mut self, signatures: code::SignatureBindings) -> Vec<u32> {
+		signatures.into_iter().map(|binding|
+			self.resolve_type_ref(binding)
+		).collect()
+	}
+
+	/// Push import entry to module. Not that it does not update calling indices in
+	/// function bodies.
+	pub fn push_import(&mut self, import: elements::ImportEntry) -> u32 {
+		self.module.import.entries_mut().push(import);
+		// todo: actually update calling addresses in function bodies
+		// todo: also batch push
+
+		self.module.import.entries_mut().len() as u32 - 1
+	}
+
+	/// Push export entry to module.
+	pub fn push_export(&mut self, export: elements::ExportEntry) -> u32 {
+		self.module.export.entries_mut().push(export);
+		self.module.export.entries_mut().len() as u32 - 1
+	}
+
+	/// Add new function using dedicated builder
+	pub fn function(self) -> FunctionBuilder<Self> {
+		FunctionBuilder::with_callback(self)
+	}
+
+	/// Add new linear memory using dedicated builder
+	pub fn memory(self) -> MemoryBuilder<Self> {
+		MemoryBuilder::with_callback(self)
+	}
+
+	/// Add new table using dedicated builder
+	pub fn table(self) -> TableBuilder<Self> {
+		TableBuilder::with_callback(self)
+	}
+
+	/// Define functions section
+	pub fn functions(self) -> SignaturesBuilder<Self> {
+		SignaturesBuilder::with_callback(self)
+	}
+
+	/// With inserted export entry
+	pub fn with_export(mut self, entry: elements::ExportEntry) -> Self {
+		self.module.export.entries_mut().push(entry);
+		self
+	}
+
+	/// With inserted import entry
+	pub fn with_import(mut self, entry: elements::ImportEntry) -> Self {
+		self.module.import.entries_mut().push(entry);
+		self
+	}
+
+	/// Import entry builder
+	/// # Examples
+	/// ```
+	/// use parity_wasm::builder::module;
+	///
+	/// let module = module()
+	///    .import()
+	///        .module("env")
+	///        .field("memory")
+	///        .external().memory(256, Some(256))
+	///        .build()
+	///    .build();
+	///
+	/// assert_eq!(module.import_section().expect("import section to exist").entries().len(), 1);
+	/// ```
+	pub fn import(self) -> import::ImportBuilder<Self> {
+		import::ImportBuilder::with_callback(self)
+	}
+
+	/// With global variable
+	pub fn with_global(mut self, global: elements::GlobalEntry) -> Self {
+		self.module.global.entries_mut().push(global);
+		self
+	}
+
+	/// With table
+	pub fn with_table(mut self, table: elements::TableType) -> Self {
+		self.module.table.entries_mut().push(table);
+		self
+	}
+
+	/// Export entry builder
+	/// # Examples
+	/// ```
+	/// use parity_wasm::builder::module;
+	/// use parity_wasm::elements::Instruction::*;
+	///
+	/// let module = module()
+	///    .global()
+	///         .value_type().i32()
+	///         .init_expr(I32Const(0))
+	///         .build()
+	///    .export()
+	///        .field("_zero")
+	///        .internal().global(0)
+	///        .build()
+	///    .build();
+	///
+	/// assert_eq!(module.export_section().expect("export section to exist").entries().len(), 1);
+	/// ```
+	pub fn export(self) -> export::ExportBuilder<Self> {
+		export::ExportBuilder::with_callback(self)
+	}
+
+	/// Glboal entry builder
+	/// # Examples
+	/// ```
+	/// use parity_wasm::builder::module;
+	/// use parity_wasm::elements::Instruction::*;
+	///
+	/// let module = module()
+	///    .global()
+	///         .value_type().i32()
+	///         .init_expr(I32Const(0))
+	///         .build()
+	///    .build();
+	///
+	/// assert_eq!(module.global_section().expect("global section to exist").entries().len(), 1);
+	/// ```
+	pub fn global(self) -> global::GlobalBuilder<Self> {
+		global::GlobalBuilder::with_callback(self)
+	}
+
+	/// Add data segment to the builder
+	pub fn with_data_segment(mut self, segment: elements::DataSegment) -> Self {
+		self.module.data.entries_mut().push(segment);
+		self
+	}
+
+	/// Data entry builder
+	pub fn data(self) -> data::DataSegmentBuilder<Self> {
+		data::DataSegmentBuilder::with_callback(self)
+	}
+
+	/// Build module (final step)
+	pub fn build(self) -> F::Result {
+		self.callback.invoke(self.module.into())
+	}
+}
+
+impl<F> Invoke<elements::FunctionSection> for ModuleBuilder<F>
+	where F: Invoke<elements::Module>
+{
+	type Result = Self;
+
+	fn invoke(self, section: elements::FunctionSection) -> Self {
+		self.with_section(elements::Section::Function(section))
+	}
+}
+
+impl<F> Invoke<code::SignatureBindings> for ModuleBuilder<F>
+	where F: Invoke<elements::Module>
+{
+	type Result = Self;
+
+	fn invoke(self, bindings: code::SignatureBindings) -> Self {
+		self.with_signatures(bindings)
+	}
+}
+
+
+impl<F> Invoke<code::FunctionDefinition> for ModuleBuilder<F>
+	where F: Invoke<elements::Module>
+{
+	type Result = Self;
+
+	fn invoke(self, def: code::FunctionDefinition) -> Self {
+		let mut b = self;
+		b.push_function(def);
+		b
+	}
+}
+
+impl<F> Invoke<memory::MemoryDefinition> for ModuleBuilder<F>
+	where F: Invoke<elements::Module>
+{
+	type Result = Self;
+
+	fn invoke(self, def: memory::MemoryDefinition) -> Self {
+		let mut b = self;
+		b.push_memory(def);
+		b
+	}
+}
+
+impl<F> Invoke<table::TableDefinition> for ModuleBuilder<F>
+	where F: Invoke<elements::Module>
+{
+	type Result = Self;
+
+	fn invoke(self, def: table::TableDefinition) -> Self {
+		let mut b = self;
+		b.push_table(def);
+		b
+	}
+}
+
+impl<F> Invoke<elements::ImportEntry> for ModuleBuilder<F>
+	where F: Invoke<elements::Module>
+{
+	type Result = Self;
+
+	fn invoke(self, entry: elements::ImportEntry) -> Self::Result {
+		self.with_import(entry)
+	}
+}
+
+impl<F> Invoke<elements::ExportEntry> for ModuleBuilder<F>
+	where F: Invoke<elements::Module>
+{
+	type Result = Self;
+
+	fn invoke(self, entry: elements::ExportEntry) -> Self::Result {
+		self.with_export(entry)
+	}
+}
+
+impl<F> Invoke<elements::GlobalEntry> for ModuleBuilder<F>
+	where F: Invoke<elements::Module>
+{
+	type Result = Self;
+
+	fn invoke(self, entry: elements::GlobalEntry) -> Self::Result {
+		self.with_global(entry)
+	}
+}
+
+impl<F> Invoke<elements::DataSegment> for ModuleBuilder<F>
+	where F: Invoke<elements::Module>
+{
+	type Result = Self;
+
+	fn invoke(self, segment: elements::DataSegment) -> Self {
+		self.with_data_segment(segment)
+	}
+}
+
+/// Start new module builder
+/// # Examples
+///
+/// ```
+/// use parity_wasm::builder;
+///
+/// let module = builder::module()
+///     .function()
+///         .signature().param().i32().build()
+///         .body().build()
+///         .build()
+///     .build();
+///
+/// assert_eq!(module.type_section().expect("type section to exist").types().len(), 1);
+/// assert_eq!(module.function_section().expect("function section to exist").entries().len(), 1);
+/// assert_eq!(module.code_section().expect("code section to exist").bodies().len(), 1);
+/// ```
+pub fn module() -> ModuleBuilder {
+	ModuleBuilder::new()
+}
+
+/// Start builder to extend existing module
+pub fn from_module(module: elements::Module) -> ModuleBuilder {
+	ModuleBuilder::new().with_module(module)
+}
+
+#[cfg(test)]
+mod tests {
+
+	use super::module;
+
+	#[test]
+	fn smoky() {
+		let module = module().build();
+		assert_eq!(module.sections().len(), 0);
+	}
+
+	#[test]
+	fn functions() {
+		let module = module()
+			.function()
+				.signature().param().i32().build()
+				.body().build()
+				.build()
+			.build();
+
+		assert_eq!(module.type_section().expect("type section to exist").types().len(), 1);
+		assert_eq!(module.function_section().expect("function section to exist").entries().len(), 1);
+		assert_eq!(module.code_section().expect("code section to exist").bodies().len(), 1);
+	}
+
+	#[test]
+	fn export() {
+		let module = module()
+			.export().field("call").internal().func(0).build()
+			.build();
+
+		assert_eq!(module.export_section().expect("export section to exist").entries().len(), 1);
+	}
+
+	#[test]
+	fn global() {
+		let module = module()
+			.global().value_type().i64().mutable().init_expr(::elements::Instruction::I64Const(5)).build()
+			.build();
+
+		assert_eq!(module.global_section().expect("global section to exist").entries().len(), 1);
+	}
+
+	#[test]
+	fn data() {
+		let module = module()
+			.data()
+				.offset(::elements::Instruction::I32Const(16))
+				.value(vec![0u8, 15, 10, 5, 25])
+				.build()
+			.build();
+
+		assert_eq!(module.data_section().expect("data section to exist").entries().len(), 1);
+	}
+
+	#[test]
+	fn reuse_types() {
+		let module = module()
+			.function()
+				.signature().param().i32().build()
+				.body().build()
+				.build()
+			.function()
+				.signature().param().i32().build()
+				.body().build()
+				.build()
+			.build();
+
+		assert_eq!(module.type_section().expect("type section failed").types().len(), 1);
+	}
+ }
+
+
\ No newline at end of file diff --git a/src/parity_wasm/builder/table.rs.html b/src/parity_wasm/builder/table.rs.html new file mode 100644 index 0000000..afa89bd --- /dev/null +++ b/src/parity_wasm/builder/table.rs.html @@ -0,0 +1,173 @@ +table.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+
+use std::vec::Vec;
+use elements;
+use super::invoke::{Invoke, Identity};
+
+/// Table definition
+#[derive(Debug, PartialEq)]
+pub struct TableDefinition {
+	/// Minimum length
+	pub min: u32,
+	/// Maximum length, if any
+	pub max: Option<u32>,
+	/// Element segments, if any
+	pub elements: Vec<TableEntryDefinition>,
+}
+
+/// Table elements entry definition
+#[derive(Debug, PartialEq)]
+pub struct TableEntryDefinition {
+	/// Offset initialization expression
+	pub offset: elements::InitExpr,
+	/// Values of initialization
+	pub values: Vec<u32>,
+}
+
+/// Table builder
+pub struct TableBuilder<F=Identity> {
+	callback: F,
+	table: TableDefinition,
+}
+
+impl TableBuilder {
+	/// New table builder
+	pub fn new() -> Self {
+		TableBuilder::with_callback(Identity)
+	}
+}
+
+impl<F> TableBuilder<F> where F: Invoke<TableDefinition> {
+	/// New table builder with callback in chained context
+	pub fn with_callback(callback: F) -> Self {
+		TableBuilder {
+			callback: callback,
+			table: Default::default(),
+		}
+	}
+
+	/// Set/override minimum length
+	pub fn with_min(mut self, min: u32) -> Self {
+		self.table.min = min;
+		self
+	}
+
+	/// Set/override maximum length
+	pub fn with_max(mut self, max: Option<u32>) -> Self {
+		self.table.max = max;
+		self
+	}
+
+	/// Generate initialization expression and element values on specified index
+	pub fn with_element(mut self, index: u32, values: Vec<u32>) -> Self {
+		self.table.elements.push(TableEntryDefinition {
+			offset: elements::InitExpr::new(vec![
+				elements::Instruction::I32Const(index as i32),
+				elements::Instruction::End,
+			]),
+			values: values,
+		});
+		self
+	}
+
+	/// Finalize current builder spawning resulting struct
+	pub fn build(self) -> F::Result {
+		self.callback.invoke(self.table)
+	}
+}
+
+impl Default for TableDefinition {
+	fn default() -> Self {
+		TableDefinition {
+			min: 0,
+			max: None,
+			elements: Vec::new(),
+		}
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/export_entry.rs.html b/src/parity_wasm/elements/export_entry.rs.html new file mode 100644 index 0000000..244908d --- /dev/null +++ b/src/parity_wasm/elements/export_entry.rs.html @@ -0,0 +1,207 @@ +export_entry.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+
+use std::string::String;
+use super::{Deserialize, Serialize, Error, VarUint7, VarUint32};
+use io;
+
+/// Internal reference of the exported entry.
+#[derive(Debug, Clone, Copy, PartialEq)]
+pub enum Internal {
+	/// Function reference.
+	Function(u32),
+	/// Table reference.
+	Table(u32),
+	/// Memory reference.
+	Memory(u32),
+	/// Global reference.
+	Global(u32),
+}
+
+impl Deserialize for Internal {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let kind = VarUint7::deserialize(reader)?;
+		match kind.into() {
+			0x00 => Ok(Internal::Function(VarUint32::deserialize(reader)?.into())),
+			0x01 => Ok(Internal::Table(VarUint32::deserialize(reader)?.into())),
+			0x02 => Ok(Internal::Memory(VarUint32::deserialize(reader)?.into())),
+			0x03 => Ok(Internal::Global(VarUint32::deserialize(reader)?.into())),
+			_ => Err(Error::UnknownInternalKind(kind.into())),
+		}
+	}
+}
+
+impl Serialize for Internal {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let (bt, arg) = match self {
+			Internal::Function(arg) => (0x00, arg),
+			Internal::Table(arg) => (0x01, arg),
+			Internal::Memory(arg) => (0x02, arg),
+			Internal::Global(arg) => (0x03, arg),
+		};
+
+		VarUint7::from(bt).serialize(writer)?;
+		VarUint32::from(arg).serialize(writer)?;
+
+		Ok(())
+	}
+}
+
+/// Export entry.
+#[derive(Debug, Clone, PartialEq)]
+pub struct ExportEntry {
+	field_str: String,
+	internal: Internal,
+}
+
+impl ExportEntry {
+	/// New export entry
+	pub fn new(field: String, internal: Internal) -> Self {
+		ExportEntry {
+			field_str: field,
+			internal: internal
+		}
+	}
+
+	/// Public name
+	pub fn field(&self) -> &str { &self.field_str }
+
+	/// Public name (mutable)
+	pub fn field_mut(&mut self) -> &mut String { &mut self.field_str }
+
+	/// Internal reference of the export entry.
+	pub fn internal(&self) -> &Internal { &self.internal }
+
+	/// Internal reference of the export entry (mutable).
+	pub fn internal_mut(&mut self) -> &mut Internal { &mut self.internal }
+}
+
+impl Deserialize for ExportEntry {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let field_str = String::deserialize(reader)?;
+		let internal = Internal::deserialize(reader)?;
+
+		Ok(ExportEntry {
+			field_str: field_str,
+			internal: internal,
+		})
+	}
+}
+
+impl Serialize for ExportEntry {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		self.field_str.serialize(writer)?;
+		self.internal.serialize(writer)?;
+		Ok(())
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/func.rs.html b/src/parity_wasm/elements/func.rs.html new file mode 100644 index 0000000..0ca3b88 --- /dev/null +++ b/src/parity_wasm/elements/func.rs.html @@ -0,0 +1,301 @@ +func.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+
+use io;
+use std::vec::Vec;
+use super::{
+	Deserialize, Error, ValueType, VarUint32, CountedList, Instructions,
+	Serialize, CountedWriter, CountedListWriter,
+};
+use elements::section::SectionReader;
+
+/// Function signature (type reference)
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct Func(u32);
+
+impl Func {
+	/// New function signature
+	pub fn new(type_ref: u32) -> Self { Func(type_ref) }
+
+	/// Function signature type reference.
+	pub fn type_ref(&self) -> u32 {
+		self.0
+	}
+
+	/// Function signature type reference (mutable).
+	pub fn type_ref_mut(&mut self) -> &mut u32 {
+		&mut self.0
+	}
+}
+
+impl Serialize for Func {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		VarUint32::from(self.0).serialize(writer)
+	}
+}
+
+impl Deserialize for Func {
+	 type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(Func(VarUint32::deserialize(reader)?.into()))
+	}
+}
+
+/// Local definition inside the function body.
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct Local {
+	count: u32,
+	value_type: ValueType,
+}
+
+impl Local {
+	/// New local with `count` and `value_type`.
+	pub fn new(count: u32, value_type: ValueType) -> Self {
+		Local { count: count, value_type: value_type }
+	}
+
+	/// Number of locals with the shared type.
+	pub fn count(&self) -> u32 { self.count }
+
+	/// Type of the locals.
+	pub fn value_type(&self) -> ValueType { self.value_type }
+}
+
+impl Deserialize for Local {
+	 type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let count = VarUint32::deserialize(reader)?;
+		let value_type = ValueType::deserialize(reader)?;
+		Ok(Local { count: count.into(), value_type: value_type })
+	}
+}
+
+impl Serialize for Local {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		VarUint32::from(self.count).serialize(writer)?;
+		self.value_type.serialize(writer)?;
+		Ok(())
+	}
+}
+
+/// Function body definition.
+#[derive(Debug, Clone, PartialEq)]
+pub struct FuncBody {
+	locals: Vec<Local>,
+	instructions: Instructions,
+}
+
+impl FuncBody {
+	/// New function body with given `locals` and `instructions`
+	pub fn new(locals: Vec<Local>, instructions: Instructions) -> Self {
+		FuncBody { locals: locals, instructions: instructions }
+	}
+
+	/// List of individual instructions
+	pub fn empty() -> Self {
+		FuncBody { locals: Vec::new(), instructions: Instructions::empty() }
+	}
+
+	/// Locals declared in function body.
+	pub fn locals(&self) -> &[Local] { &self.locals }
+
+	/// Instruction list of the function body. Minimal instruction list
+	/// is just `&[Instruction::End]`
+	pub fn code(&self) -> &Instructions { &self.instructions }
+
+	/// Locals declared in function body (mutable).
+	pub fn locals_mut(&mut self) -> &mut Vec<Local> { &mut self.locals }
+
+	/// Instruction list of the function body (mutable).
+	pub fn code_mut(&mut self) -> &mut Instructions { &mut self.instructions }
+}
+
+impl Deserialize for FuncBody {
+	 type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		// todo: maybe use reader.take(section_length)
+		let mut body_reader = SectionReader::new(reader)?;
+		let locals: Vec<Local> = CountedList::<Local>::deserialize(&mut body_reader)?.into_inner();
+		let instructions = Instructions::deserialize(&mut body_reader)?;
+		body_reader.close()?;
+		Ok(FuncBody { locals: locals, instructions: instructions })
+	}
+}
+
+impl Serialize for FuncBody {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut counted_writer = CountedWriter::new(writer);
+
+		let data = self.locals;
+		let counted_list = CountedListWriter::<Local, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(&mut counted_writer)?;
+
+		let code = self.instructions;
+		code.serialize(&mut counted_writer)?;
+
+		counted_writer.done()?;
+
+		Ok(())
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/global_entry.rs.html b/src/parity_wasm/elements/global_entry.rs.html new file mode 100644 index 0000000..6c1b324 --- /dev/null +++ b/src/parity_wasm/elements/global_entry.rs.html @@ -0,0 +1,103 @@ +global_entry.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+
+use io;
+use super::{Deserialize, Serialize, Error, GlobalType, InitExpr};
+
+/// Global entry in the module.
+#[derive(Clone, Debug, PartialEq)]
+pub struct GlobalEntry {
+	global_type: GlobalType,
+	init_expr: InitExpr,
+}
+
+impl GlobalEntry {
+	/// New global entry
+	pub fn new(global_type: GlobalType, init_expr: InitExpr) -> Self {
+		GlobalEntry {
+			global_type: global_type,
+			init_expr: init_expr,
+		}
+	}
+	/// Global type.
+	pub fn global_type(&self) -> &GlobalType { &self.global_type }
+	/// Initialization expression (instructions) for global.
+	pub fn init_expr(&self) -> &InitExpr { &self.init_expr }
+	/// Global type (mutable)
+	pub fn global_type_mut(&mut self) -> &mut GlobalType { &mut self.global_type }
+	/// Initialization expression (instructions) for global (mutable)
+	pub fn init_expr_mut(&mut self) -> &mut InitExpr { &mut self.init_expr }
+}
+
+impl Deserialize for GlobalEntry {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let global_type = GlobalType::deserialize(reader)?;
+		let init_expr = InitExpr::deserialize(reader)?;
+
+		Ok(GlobalEntry {
+			global_type: global_type,
+			init_expr: init_expr,
+		})
+	}
+}
+
+impl Serialize for GlobalEntry {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		self.global_type.serialize(writer)?;
+		self.init_expr.serialize(writer)
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/import_entry.rs.html b/src/parity_wasm/elements/import_entry.rs.html new file mode 100644 index 0000000..84f3e5b --- /dev/null +++ b/src/parity_wasm/elements/import_entry.rs.html @@ -0,0 +1,627 @@ +import_entry.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+
+use io;
+use std::string::String;
+use super::{
+	Deserialize, Serialize, Error, VarUint7, VarInt7, VarUint32, VarUint1, Uint8,
+	ValueType, TableElementType
+};
+
+/// Global definition struct
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct GlobalType {
+	content_type: ValueType,
+	is_mutable: bool,
+}
+
+impl GlobalType {
+	/// New global type
+	pub fn new(content_type: ValueType, is_mutable: bool) -> Self {
+		GlobalType {
+			content_type: content_type,
+			is_mutable: is_mutable,
+		}
+	}
+
+	/// Type of the global entry
+	pub fn content_type(&self) -> ValueType { self.content_type }
+
+	/// Is global entry is declared as mutable
+	pub fn is_mutable(&self) -> bool { self.is_mutable }
+}
+
+impl Deserialize for GlobalType {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let content_type = ValueType::deserialize(reader)?;
+		let is_mutable = VarUint1::deserialize(reader)?;
+		Ok(GlobalType {
+			content_type: content_type,
+			is_mutable: is_mutable.into(),
+		})
+	}
+}
+
+impl Serialize for GlobalType {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		self.content_type.serialize(writer)?;
+		VarUint1::from(self.is_mutable).serialize(writer)?;
+		Ok(())
+	}
+}
+
+/// Table entry
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct TableType {
+	elem_type: TableElementType,
+	limits: ResizableLimits,
+}
+
+impl TableType {
+	/// New table definition
+	pub fn new(min: u32, max: Option<u32>) -> Self {
+		TableType {
+			elem_type: TableElementType::AnyFunc,
+			limits: ResizableLimits::new(min, max),
+		}
+	}
+
+	/// Table memory specification
+	pub fn limits(&self) -> &ResizableLimits { &self.limits }
+
+	/// Table element type
+	pub fn elem_type(&self) -> TableElementType { self.elem_type }
+}
+
+impl Deserialize for TableType {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let elem_type = TableElementType::deserialize(reader)?;
+		let limits = ResizableLimits::deserialize(reader)?;
+		Ok(TableType {
+			elem_type: elem_type,
+			limits: limits,
+		})
+	}
+}
+
+impl Serialize for TableType {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		self.elem_type.serialize(writer)?;
+		self.limits.serialize(writer)
+	}
+}
+
+/// Memory limits
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct ResizableLimits {
+	initial: u32,
+	maximum: Option<u32>,
+	flags: u8,
+}
+
+impl ResizableLimits {
+	/// New memory limits definition
+	pub fn new(min: u32, max: Option<u32>) -> Self {
+		ResizableLimits {
+			initial: min,
+			maximum: max,
+			flags: 0,
+		}
+	}
+	/// Initial size
+	pub fn initial(&self) -> u32 { self.initial }
+	/// Maximum size
+	pub fn maximum(&self) -> Option<u32> { self.maximum }
+	/// Whether or not this is a shared array buffer
+	pub fn shared(&self) -> bool { self.flags & 0x2 != 0 }
+}
+
+impl Deserialize for ResizableLimits {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let flags: u8 = Uint8::deserialize(reader)?.into();
+		let initial = VarUint32::deserialize(reader)?;
+		let maximum = if flags & 0x1 != 0 {
+			Some(VarUint32::deserialize(reader)?.into())
+		} else {
+			None
+		};
+
+		Ok(ResizableLimits {
+			initial: initial.into(),
+			maximum: maximum,
+			flags,
+		})
+	}
+}
+
+impl Serialize for ResizableLimits {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let max = self.maximum;
+		let flags = self.flags & !0x1 | (if max.is_some() { 0x1 } else { 0x0 });
+		Uint8::from(flags).serialize(writer)?;
+		VarUint32::from(self.initial).serialize(writer)?;
+		if let Some(val) = max {
+			VarUint32::from(val).serialize(writer)?;
+		}
+		Ok(())
+	}
+}
+
+/// Memory entry.
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct MemoryType(ResizableLimits);
+
+impl MemoryType {
+	/// New memory definition
+	pub fn new(min: u32, max: Option<u32>) -> Self {
+		MemoryType(ResizableLimits::new(min, max))
+	}
+	/// Limits of the memory entry.
+	pub fn limits(&self) -> &ResizableLimits {
+		&self.0
+	}
+}
+
+impl Deserialize for MemoryType {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(MemoryType(ResizableLimits::deserialize(reader)?))
+	}
+}
+
+impl Serialize for MemoryType {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		self.0.serialize(writer)
+	}
+}
+
+/// External to local binding.
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub enum External {
+	/// Binds to function with index.
+	Function(u32),
+	/// Describes local table definition to be imported as.
+	Table(TableType),
+	/// Describes local memory definition to be imported as.
+	Memory(MemoryType),
+	/// Describes local global entry to be imported as.
+	Global(GlobalType),
+}
+
+impl Deserialize for External {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let kind = VarUint7::deserialize(reader)?;
+		match kind.into() {
+			0x00 => Ok(External::Function(VarUint32::deserialize(reader)?.into())),
+			0x01 => Ok(External::Table(TableType::deserialize(reader)?)),
+			0x02 => Ok(External::Memory(MemoryType::deserialize(reader)?)),
+			0x03 => Ok(External::Global(GlobalType::deserialize(reader)?)),
+			_ => Err(Error::UnknownExternalKind(kind.into())),
+		}
+	}
+}
+
+impl Serialize for External {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		use self::External::*;
+
+		match self {
+			Function(index) => {
+				VarUint7::from(0x00).serialize(writer)?;
+				VarUint32::from(index).serialize(writer)?;
+			},
+			Table(tt) => {
+				VarInt7::from(0x01).serialize(writer)?;
+				tt.serialize(writer)?;
+			},
+			Memory(mt) => {
+				VarInt7::from(0x02).serialize(writer)?;
+				mt.serialize(writer)?;
+			},
+			Global(gt) => {
+				VarInt7::from(0x03).serialize(writer)?;
+				gt.serialize(writer)?;
+			},
+		}
+
+		Ok(())
+	}
+}
+
+/// Import entry.
+#[derive(Debug, Clone, PartialEq)]
+pub struct ImportEntry {
+	module_str: String,
+	field_str: String,
+	external: External,
+}
+
+impl ImportEntry {
+	/// New import entry.
+	pub fn new(module_str: String, field_str: String, external: External) -> Self {
+		ImportEntry {
+			module_str: module_str,
+			field_str: field_str,
+			external: external,
+		}
+	}
+
+	/// Module reference of the import entry.
+	pub fn module(&self) -> &str { &self.module_str }
+
+	/// Module reference of the import entry (mutable).
+	pub fn module_mut(&mut self) -> &mut String {
+		&mut self.module_str
+	}
+
+	/// Field reference of the import entry.
+	pub fn field(&self) -> &str { &self.field_str }
+
+	/// Field reference of the import entry (mutable)
+	pub fn field_mut(&mut self) -> &mut String {
+		&mut self.field_str
+	}
+
+	/// Local binidng of the import entry.
+	pub fn external(&self) -> &External { &self.external }
+
+	/// Local binidng of the import entry (mutable)
+	pub fn external_mut(&mut self) -> &mut External { &mut self.external }
+}
+
+impl Deserialize for ImportEntry {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let module_str = String::deserialize(reader)?;
+		let field_str = String::deserialize(reader)?;
+		let external = External::deserialize(reader)?;
+
+		Ok(ImportEntry {
+			module_str: module_str,
+			field_str: field_str,
+			external: external,
+		})
+	}
+}
+
+impl Serialize for ImportEntry {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		self.module_str.serialize(writer)?;
+		self.field_str.serialize(writer)?;
+		self.external.serialize(writer)
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/index_map.rs.html b/src/parity_wasm/elements/index_map.rs.html new file mode 100644 index 0000000..0d1ee25 --- /dev/null +++ b/src/parity_wasm/elements/index_map.rs.html @@ -0,0 +1,1189 @@ +index_map.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+
+use std::cmp::min;
+use std::iter::{FromIterator, IntoIterator};
+use std::mem;
+use std::slice;
+use std::vec;
+use std::vec::Vec;
+use io;
+
+use super::{Deserialize, Error, Serialize, VarUint32};
+
+/// A map from non-contiguous `u32` keys to values of type `T`, which is
+/// serialized and deserialized ascending order of the keys. Normally used for
+/// relative dense maps with occasional "holes", and stored as an array.
+///
+/// **SECURITY WARNING:** This code is currently subject to a denial of service
+/// attack if you create a map containing the key `u32::MAX`, which should never
+/// happen in normal data. It would be pretty easy to provide a safe
+/// deserializing mechanism which addressed this problem.
+#[derive(Debug, Default)]
+pub struct IndexMap<T> {
+	/// The number of non-`None` entries in this map.
+	len: usize,
+
+	/// A vector of entries. Missing entries are represented as `None`.
+	entries: Vec<Option<T>>,
+}
+
+impl<T> IndexMap<T> {
+	/// Create an empty `IndexMap`, preallocating enough space to store
+	/// `capacity` entries without needing to reallocate the underlying memory.
+	pub fn with_capacity(capacity: usize) -> IndexMap<T> {
+		IndexMap {
+			len: 0,
+			entries: Vec::with_capacity(capacity),
+		}
+	}
+
+	/// Clear the map.
+	pub fn clear(&mut self) {
+		self.entries.clear();
+		self.len = 0;
+	}
+
+	/// Return the name for the specified index, if it exists.
+	pub fn get(&self, idx: u32) -> Option<&T> {
+		match self.entries.get(idx as usize) {
+			Some(&Some(ref value)) => Some(value),
+			Some(&None) | None => None,
+		}
+	}
+
+	/// Does the map contain an entry for the specified index?
+	pub fn contains_key(&self, idx: u32) -> bool {
+		match self.entries.get(idx as usize) {
+			Some(&Some(_)) => true,
+			Some(&None) | None => false,
+		}
+	}
+
+	/// Insert a name into our map, returning the existing value if present.
+	///
+	/// Note: This API is designed for reasonably dense indices based on valid
+	/// data. Inserting a huge `idx` will use up a lot of RAM, and this function
+	/// will not try to protect you against that.
+	pub fn insert(&mut self, idx: u32, value: T) -> Option<T> {
+		let idx = idx as usize;
+		let result = if idx >= self.entries.len() {
+			// We need to grow the array, and add the new element at the end.
+			for _ in 0..(idx - self.entries.len()) {
+				// We can't use `extend(repeat(None)).take(n)`, because that
+				// would require `T` to implement `Clone`.
+				self.entries.push(None);
+			}
+			self.entries.push(Some(value));
+			debug_assert_eq!(idx + 1, self.entries.len());
+			self.len += 1;
+			None
+		} else {
+			// We're either replacing an existing element, or filling in a
+			// missing one.
+			let existing = self.entries[idx].take();
+			if existing.is_none() {
+				self.len += 1;
+			}
+			self.entries[idx] = Some(value);
+			existing
+		};
+		if mem::size_of::<usize>() > 4 {
+			debug_assert!(self.entries.len() <= (::std::u32::MAX as usize) + 1);
+		}
+		#[cfg(slow_assertions)]
+		debug_assert_eq!(self.len, self.slow_len());
+		result
+	}
+
+	/// Remove an item if present and return it.
+	pub fn remove(&mut self, idx: u32) -> Option<T> {
+		let result = match self.entries.get_mut(idx as usize) {
+			Some(value @ &mut Some(_)) => {
+				self.len -= 1;
+				value.take()
+			}
+			Some(&mut None) | None => None,
+		};
+		#[cfg(slow_assertions)]
+		debug_assert_eq!(self.len, self.slow_len());
+		result
+	}
+
+	/// The number of items in this map.
+	pub fn len(&self) -> usize {
+		#[cfg(slow_assertions)]
+		debug_assert_eq!(self.len, self.slow_len());
+		self.len
+	}
+
+	/// Is this map empty?
+	pub fn is_empty(&self) -> bool {
+		self.len == 0
+	}
+
+	/// This function is only compiled when `--cfg slow_assertions` is enabled.
+	/// It computes the `len` value using a slow algorithm.
+	///
+	/// WARNING: This turns a bunch of O(n) operations into O(n^2) operations.
+	/// We may want to remove it once the code is tested, or to put it behind
+	/// a feature flag named `slow_debug_checks`, or something like that.
+	#[cfg(slow_assertions)]
+	fn slow_len(&self) -> usize {
+		self.entries.iter().filter(|entry| entry.is_some()).count()
+	}
+
+	/// Create a non-consuming iterator over this `IndexMap`'s keys and values.
+	pub fn iter(&self) -> Iter<T> {
+		// Note that this does the right thing because we use `&self`.
+		self.into_iter()
+	}
+
+	/// Custom deserialization routine.
+	///
+	/// We will allocate an underlying array no larger than `max_entry_space` to
+	/// hold the data, so the maximum index must be less than `max_entry_space`.
+	/// This prevents mallicious *.wasm files from having a single entry with
+	/// the index `u32::MAX`, which would consume far too much memory.
+	///
+	/// The `deserialize_value` function will be passed the index of the value
+	/// being deserialized, and must deserialize the value.
+	pub fn deserialize_with<R, F>(
+		max_entry_space: usize,
+		deserialize_value: &F,
+		rdr: &mut R,
+	) -> Result<IndexMap<T>, Error>
+	where
+		R: io::Read,
+		F: Fn(u32, &mut R) -> Result<T, Error>,
+	{
+		let len: u32 = VarUint32::deserialize(rdr)?.into();
+		let mut map = IndexMap::with_capacity(len as usize);
+		let mut prev_idx = None;
+		for _ in 0..len {
+			let idx: u32 = VarUint32::deserialize(rdr)?.into();
+			if idx as usize >= max_entry_space {
+				return Err(Error::Other("index is larger than expected"));
+			}
+			match prev_idx {
+				Some(prev) if prev >= idx => {
+					// Supposedly these names must be "sorted by index", so
+					// let's try enforcing that and seeing what happens.
+					return Err(Error::Other("indices are out of order"));
+				}
+				_ => {
+					prev_idx = Some(idx);
+				}
+			}
+			let val = deserialize_value(idx, rdr)?;
+			map.insert(idx, val);
+		}
+		Ok(map)
+	}
+
+}
+
+impl<T: Clone> Clone for IndexMap<T> {
+	fn clone(&self) -> IndexMap<T> {
+		IndexMap {
+			len: self.len,
+			entries: self.entries.clone(),
+		}
+	}
+}
+
+impl<T: PartialEq> PartialEq<IndexMap<T>> for IndexMap<T> {
+	fn eq(&self, other: &IndexMap<T>) -> bool {
+		if self.len() != other.len() {
+			// If the number of non-`None` entries is different, we can't match.
+			false
+		} else {
+			// This is tricky, because one `Vec` might have a bunch of empty
+			// entries at the end which we want to ignore.
+			let smallest_len = min(self.entries.len(), other.entries.len());
+			self.entries[0..smallest_len].eq(&other.entries[0..smallest_len])
+		}
+	}
+}
+
+impl<T: Eq> Eq for IndexMap<T> {}
+
+impl<T> FromIterator<(u32, T)> for IndexMap<T> {
+	/// Create an `IndexMap` from an iterator.
+	///
+	/// Note: This API is designed for reasonably dense indices based on valid
+	/// data. Inserting a huge `idx` will use up a lot of RAM, and this function
+	/// will not try to protect you against that.
+	fn from_iter<I>(iter: I) -> Self
+	where
+		I: IntoIterator<Item = (u32, T)>,
+	{
+		let iter = iter.into_iter();
+		let (lower, upper_opt) = iter.size_hint();
+		let mut map = IndexMap::with_capacity(upper_opt.unwrap_or(lower));
+		for (idx, value) in iter {
+			map.insert(idx, value);
+		}
+		map
+	}
+}
+
+/// An iterator over an `IndexMap` which takes ownership of it.
+pub struct IntoIter<T> {
+	next_idx: u32,
+	remaining_len: usize,
+	iter: vec::IntoIter<Option<T>>,
+}
+
+impl<T> Iterator for IntoIter<T> {
+	type Item = (u32, T);
+
+	fn size_hint(&self) -> (usize, Option<usize>) {
+		(self.remaining_len, Some(self.remaining_len))
+	}
+
+	fn next(&mut self) -> Option<Self::Item> {
+		// Bail early if we know there are no more items. This also keeps us
+		// from repeatedly calling `self.iter.next()` once it has been
+		// exhausted, which is not guaranteed to keep returning `None`.
+		if self.remaining_len == 0 {
+			return None;
+		}
+		while let Some(value_opt) = self.iter.next() {
+			let idx = self.next_idx;
+			self.next_idx += 1;
+			if let Some(value) = value_opt {
+				self.remaining_len -= 1;
+				return Some((idx, value));
+			}
+		}
+		debug_assert_eq!(self.remaining_len, 0);
+		None
+	}
+}
+
+impl<T> IntoIterator for IndexMap<T> {
+	type Item = (u32, T);
+	type IntoIter = IntoIter<T>;
+
+	fn into_iter(self) -> IntoIter<T> {
+		IntoIter {
+			next_idx: 0,
+			remaining_len: self.len,
+			iter: self.entries.into_iter(),
+		}
+	}
+}
+
+/// An iterator over a borrowed `IndexMap`.
+pub struct Iter<'a, T: 'static> {
+	next_idx: u32,
+	remaining_len: usize,
+	iter: slice::Iter<'a, Option<T>>,
+}
+
+impl<'a, T: 'static> Iterator for Iter<'a, T> {
+	type Item = (u32, &'a T);
+
+	fn size_hint(&self) -> (usize, Option<usize>) {
+		(self.remaining_len, Some(self.remaining_len))
+	}
+
+	fn next(&mut self) -> Option<Self::Item> {
+		// Bail early if we know there are no more items. This also keeps us
+		// from repeatedly calling `self.iter.next()` once it has been
+		// exhausted, which is not guaranteed to keep returning `None`.
+		if self.remaining_len == 0 {
+			return None;
+		}
+		while let Some(value_opt) = self.iter.next() {
+			let idx = self.next_idx;
+			self.next_idx += 1;
+			if let &Some(ref value) = value_opt {
+				self.remaining_len -= 1;
+				return Some((idx, value));
+			}
+		}
+		debug_assert_eq!(self.remaining_len, 0);
+		None
+	}
+}
+
+impl<'a, T: 'static> IntoIterator for &'a IndexMap<T> {
+	type Item = (u32, &'a T);
+	type IntoIter = Iter<'a, T>;
+
+	fn into_iter(self) -> Iter<'a, T> {
+		Iter {
+			next_idx: 0,
+			remaining_len: self.len,
+			iter: self.entries.iter(),
+		}
+	}
+}
+
+impl<T> Serialize for IndexMap<T>
+where
+	T: Serialize,
+	Error: From<<T as Serialize>::Error>,
+{
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, wtr: &mut W) -> Result<(), Self::Error> {
+		VarUint32::from(self.len()).serialize(wtr)?;
+		for (idx, value) in self {
+			VarUint32::from(idx).serialize(wtr)?;
+			value.serialize(wtr)?;
+		}
+		Ok(())
+	}
+}
+
+impl<T: Deserialize> IndexMap<T>
+where
+	T: Deserialize,
+	Error: From<<T as Deserialize>::Error>,
+{
+	/// Deserialize a map containing simple values that support `Deserialize`.
+	/// We will allocate an underlying array no larger than `max_entry_space` to
+	/// hold the data, so the maximum index must be less than `max_entry_space`.
+	pub fn deserialize<R: io::Read>(
+		max_entry_space: usize,
+		rdr: &mut R,
+	) -> Result<Self, Error> {
+		let deserialize_value: fn(u32, &mut R) -> Result<T, Error> = |_idx, rdr| {
+			T::deserialize(rdr).map_err(Error::from)
+		};
+		Self::deserialize_with(max_entry_space, &deserialize_value, rdr)
+	}
+}
+
+#[cfg(test)]
+mod tests {
+	use io;
+	use super::*;
+
+	#[test]
+	fn default_is_empty_no_matter_how_we_look_at_it() {
+		let map = IndexMap::<String>::default();
+		assert_eq!(map.len(), 0);
+		assert!(map.is_empty());
+		assert_eq!(map.iter().collect::<Vec<_>>().len(), 0);
+		assert_eq!(map.into_iter().collect::<Vec<_>>().len(), 0);
+	}
+
+	#[test]
+	fn with_capacity_creates_empty_map() {
+		let map = IndexMap::<String>::with_capacity(10);
+		assert!(map.is_empty());
+	}
+
+	#[test]
+	fn clear_removes_all_values() {
+		let mut map = IndexMap::<String>::default();
+		map.insert(0, "sample value".to_string());
+		assert_eq!(map.len(), 1);
+		map.clear();
+		assert_eq!(map.len(), 0);
+	}
+
+	#[test]
+	fn get_returns_elements_that_are_there_but_nothing_else() {
+		let mut map = IndexMap::<String>::default();
+		map.insert(1, "sample value".to_string());
+		assert_eq!(map.len(), 1);
+		assert_eq!(map.get(0), None);
+		assert_eq!(map.get(1), Some(&"sample value".to_string()));
+		assert_eq!(map.get(2), None);
+	}
+
+	#[test]
+	fn contains_key_returns_true_when_a_key_is_present() {
+		let mut map = IndexMap::<String>::default();
+		map.insert(1, "sample value".to_string());
+		assert!(!map.contains_key(0));
+		assert!(map.contains_key(1));
+		assert!(!map.contains_key(2));
+	}
+
+	#[test]
+	fn insert_behaves_like_other_maps() {
+		let mut map = IndexMap::<String>::default();
+
+		// Insert a key which requires extending our storage.
+		assert_eq!(map.insert(1, "val 1".to_string()), None);
+		assert_eq!(map.len(), 1);
+		assert!(map.contains_key(1));
+
+		// Insert a key which requires filling in a hole.
+		assert_eq!(map.insert(0, "val 0".to_string()), None);
+		assert_eq!(map.len(), 2);
+		assert!(map.contains_key(0));
+
+		// Insert a key which replaces an existing key.
+		assert_eq!(
+			map.insert(1, "val 1.1".to_string()),
+			Some("val 1".to_string())
+		);
+		assert_eq!(map.len(), 2);
+		assert!(map.contains_key(1));
+		assert_eq!(map.get(1), Some(&"val 1.1".to_string()));
+	}
+
+	#[test]
+	fn remove_behaves_like_other_maps() {
+		let mut map = IndexMap::<String>::default();
+		assert_eq!(map.insert(1, "val 1".to_string()), None);
+
+		// Remove an out-of-bounds element.
+		assert_eq!(map.remove(2), None);
+		assert_eq!(map.len(), 1);
+
+		// Remove an in-bounds but missing element.
+		assert_eq!(map.remove(0), None);
+		assert_eq!(map.len(), 1);
+
+		// Remove an existing element.
+		assert_eq!(map.remove(1), Some("val 1".to_string()));
+		assert_eq!(map.len(), 0);
+	}
+
+	#[test]
+	fn partial_eq_works_as_expected_in_simple_cases() {
+		let mut map1 = IndexMap::<String>::default();
+		let mut map2 = IndexMap::<String>::default();
+		assert_eq!(map1, map2);
+
+		map1.insert(1, "a".to_string());
+		map2.insert(1, "a".to_string());
+		assert_eq!(map1, map2);
+
+		map1.insert(0, "b".to_string());
+		assert_ne!(map1, map2);
+		map1.remove(0);
+		assert_eq!(map1, map2);
+
+		map1.insert(1, "not a".to_string());
+		assert_ne!(map1, map2);
+	}
+
+	#[test]
+	fn partial_eq_is_smart_about_none_values_at_the_end() {
+		let mut map1 = IndexMap::<String>::default();
+		let mut map2 = IndexMap::<String>::default();
+
+		map1.insert(1, "a".to_string());
+		map2.insert(1, "a".to_string());
+
+		// Both maps have the same (idx, value) pairs, but map2 has extra space.
+		map2.insert(10, "b".to_string());
+		map2.remove(10);
+		assert_eq!(map1, map2);
+
+		// Both maps have the same (idx, value) pairs, but map1 has extra space.
+		map1.insert(100, "b".to_string());
+		map1.remove(100);
+		assert_eq!(map1, map2);
+
+		// Let's be paranoid.
+		map2.insert(1, "b".to_string());
+		assert_ne!(map1, map2);
+	}
+
+	#[test]
+	fn from_iterator_builds_a_map() {
+		let data = &[
+			// We support out-of-order values here!
+			(3, "val 3"),
+			(2, "val 2"),
+			(5, "val 5"),
+		];
+		let iter = data.iter().map(|&(idx, val)| (idx, val.to_string()));
+		let map = IndexMap::from_iter(iter);
+		assert_eq!(map.len(), 3);
+		assert_eq!(map.get(2), Some(&"val 2".to_string()));
+		assert_eq!(map.get(3), Some(&"val 3".to_string()));
+		assert_eq!(map.get(5), Some(&"val 5".to_string()));
+	}
+
+	#[test]
+	fn iterators_are_well_behaved() {
+		// Create a map with reasonably complex internal structure, making
+		// sure that we have both internal missing elements, and a bunch of
+		// missing elements at the end.
+		let data = &[(3, "val 3"), (2, "val 2"), (5, "val 5")];
+		let src_iter = data.iter().map(|&(idx, val)| (idx, val.to_string()));
+		let mut map = IndexMap::from_iter(src_iter);
+		map.remove(5);
+
+		// Make sure `size_hint` and `next` behave as we expect at each step.
+		{
+			let mut iter1 = map.iter();
+			assert_eq!(iter1.size_hint(), (2, Some(2)));
+			assert_eq!(iter1.next(), Some((2, &"val 2".to_string())));
+			assert_eq!(iter1.size_hint(), (1, Some(1)));
+			assert_eq!(iter1.next(), Some((3, &"val 3".to_string())));
+			assert_eq!(iter1.size_hint(), (0, Some(0)));
+			assert_eq!(iter1.next(), None);
+			assert_eq!(iter1.size_hint(), (0, Some(0)));
+			assert_eq!(iter1.next(), None);
+			assert_eq!(iter1.size_hint(), (0, Some(0)));
+		}
+
+		// Now do the same for a consuming iterator.
+		let mut iter2 = map.into_iter();
+		assert_eq!(iter2.size_hint(), (2, Some(2)));
+		assert_eq!(iter2.next(), Some((2, "val 2".to_string())));
+		assert_eq!(iter2.size_hint(), (1, Some(1)));
+		assert_eq!(iter2.next(), Some((3, "val 3".to_string())));
+		assert_eq!(iter2.size_hint(), (0, Some(0)));
+		assert_eq!(iter2.next(), None);
+		assert_eq!(iter2.size_hint(), (0, Some(0)));
+		assert_eq!(iter2.next(), None);
+		assert_eq!(iter2.size_hint(), (0, Some(0)));
+	}
+
+	#[test]
+	fn serialize_and_deserialize() {
+		let mut map = IndexMap::<String>::default();
+		map.insert(1, "val 1".to_string());
+
+		let mut output = vec![];
+		map.clone()
+			.serialize(&mut output)
+			.expect("serialize failed");
+
+		let mut input = io::Cursor::new(&output);
+		let deserialized = IndexMap::deserialize(2, &mut input).expect("deserialize failed");
+
+		assert_eq!(deserialized, map);
+	}
+
+	#[test]
+	fn deserialize_requires_elements_to_be_in_order() {
+		// Build a in-order example by hand.
+		let mut valid = vec![];
+		VarUint32::from(2u32).serialize(&mut valid).unwrap();
+		VarUint32::from(0u32).serialize(&mut valid).unwrap();
+		"val 0".to_string().serialize(&mut valid).unwrap();
+		VarUint32::from(1u32).serialize(&mut valid).unwrap();
+		"val 1".to_string().serialize(&mut valid).unwrap();
+		let map = IndexMap::<String>::deserialize(2, &mut io::Cursor::new(valid))
+			.expect("unexpected error deserializing");
+		assert_eq!(map.len(), 2);
+
+		// Build an out-of-order example by hand.
+		let mut invalid = vec![];
+		VarUint32::from(2u32).serialize(&mut invalid).unwrap();
+		VarUint32::from(1u32).serialize(&mut invalid).unwrap();
+		"val 1".to_string().serialize(&mut invalid).unwrap();
+		VarUint32::from(0u32).serialize(&mut invalid).unwrap();
+		"val 0".to_string().serialize(&mut invalid).unwrap();
+		let res = IndexMap::<String>::deserialize(2, &mut io::Cursor::new(invalid));
+		assert!(res.is_err());
+	}
+
+	#[test]
+	fn deserialize_enforces_max_idx() {
+		// Build an example with an out-of-bounds index by hand.
+		let mut invalid = vec![];
+		VarUint32::from(1u32).serialize(&mut invalid).unwrap();
+		VarUint32::from(5u32).serialize(&mut invalid).unwrap();
+		"val 5".to_string().serialize(&mut invalid).unwrap();
+		let res = IndexMap::<String>::deserialize(1, &mut io::Cursor::new(invalid));
+		assert!(res.is_err());
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/mod.rs.html b/src/parity_wasm/elements/mod.rs.html new file mode 100644 index 0000000..3ba96ec --- /dev/null +++ b/src/parity_wasm/elements/mod.rs.html @@ -0,0 +1,565 @@ +mod.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+
+//! Elements of the WebAssembly binary format.
+
+use std::fmt;
+use io;
+use std::vec::Vec;
+use std::string::String;
+
+macro_rules! buffered_read {
+	($buffer_size: expr, $length: expr, $reader: expr) => {
+		{
+			let mut vec_buf = Vec::new();
+			let mut total_read = 0;
+			let mut buf = [0u8; $buffer_size];
+			while total_read < $length {
+				let next_to_read = if $length - total_read > $buffer_size { $buffer_size } else { $length - total_read };
+				$reader.read(&mut buf[0..next_to_read])?;
+				vec_buf.extend_from_slice(&buf[0..next_to_read]);
+				total_read += next_to_read;
+			}
+			vec_buf
+		}
+	}
+}
+
+mod primitives;
+mod module;
+mod section;
+mod types;
+mod import_entry;
+mod export_entry;
+mod global_entry;
+mod ops;
+mod func;
+mod segment;
+mod index_map;
+mod name_section;
+mod reloc_section;
+
+pub use self::module::{Module, peek_size, ImportCountType};
+pub use self::section::{
+	Section, FunctionSection, CodeSection, MemorySection, DataSection,
+	ImportSection, ExportSection, GlobalSection, TypeSection, ElementSection,
+	TableSection, CustomSection,
+};
+pub use self::import_entry::{ImportEntry, ResizableLimits, MemoryType, TableType, GlobalType, External};
+pub use self::export_entry::{ExportEntry, Internal};
+pub use self::global_entry::GlobalEntry;
+pub use self::primitives::{
+	VarUint32, VarUint7, Uint8, VarUint1, VarInt7, Uint32, VarInt32, VarInt64,
+	Uint64, VarUint64, CountedList, CountedWriter, CountedListWriter,
+};
+pub use self::types::{Type, ValueType, BlockType, FunctionType, TableElementType};
+pub use self::ops::{Instruction, Instructions, InitExpr, opcodes};
+pub use self::func::{Func, FuncBody, Local};
+pub use self::segment::{ElementSegment, DataSegment};
+pub use self::index_map::IndexMap;
+pub use self::name_section::{
+	NameMap, NameSection, ModuleNameSection, FunctionNameSection,
+	LocalNameSection,
+};
+pub use self::reloc_section::{
+	RelocSection, RelocationEntry,
+};
+
+/// Deserialization from serial i/o
+pub trait Deserialize : Sized {
+	/// Serialization error produced by deserialization routine.
+	type Error: From<io::Error>;
+	/// Deserialize type from serial i/o
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error>;
+}
+
+/// Serialization to serial i/o. Takes self by value to consume less memory
+/// (parity-wasm IR is being partially freed by filling the result buffer).
+pub trait Serialize {
+	/// Serialization error produced by serialization routine.
+	type Error: From<io::Error>;
+	/// Serialize type to serial i/o
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error>;
+}
+
+/// Deserialization/serialization error
+#[derive(Debug, Clone)]
+pub enum Error {
+	/// Unexpected end of input
+	UnexpectedEof,
+	/// Invalid magic
+	InvalidMagic,
+	/// Unsupported version
+	UnsupportedVersion(u32),
+	/// Inconsistence between declared and actual length
+	InconsistentLength {
+		/// Expected length of the definition
+		expected: usize,
+		/// Actual length of the definition
+		actual: usize
+	},
+	/// Other static error
+	Other(&'static str),
+	/// Other allocated error
+	HeapOther(String),
+	/// Invalid/unknown value type declaration
+	UnknownValueType(i8),
+	/// Invalid/unknown table element type declaration
+	UnknownTableElementType(i8),
+	/// Non-utf8 string
+	NonUtf8String,
+	/// Unknown external kind code
+	UnknownExternalKind(u8),
+	/// Unknown internal kind code
+	UnknownInternalKind(u8),
+	/// Unknown opcode encountered
+	UnknownOpcode(u8),
+	/// Unknown SIMD opcode encountered
+	UnknownSimdOpcode(u32),
+	/// Invalid VarUint1 value
+	InvalidVarUint1(u8),
+	/// Invalid VarInt32 value
+	InvalidVarInt32,
+	/// Invalid VarInt64 value
+	InvalidVarInt64,
+	/// Invalid VarUint32 value
+	InvalidVarUint32,
+	/// Invalid VarUint64 value
+	InvalidVarUint64,
+	/// Inconsistent metadata
+	InconsistentMetadata,
+	/// Invalid section id
+	InvalidSectionId(u8),
+	/// Sections are out of order
+	SectionsOutOfOrder,
+	/// Duplicated sections
+	DuplicatedSections(u8),
+	/// Invalid memory reference (should be 0)
+	InvalidMemoryReference(u8),
+	/// Invalid table reference (should be 0)
+	InvalidTableReference(u8),
+	/// Unknown function form (should be 0x60)
+	UnknownFunctionForm(u8),
+	/// Invalid varint7 (should be in -64..63 range)
+	InvalidVarInt7(u8),
+	/// Number of function body entries and signatures does not match
+	InconsistentCode,
+}
+
+impl fmt::Display for Error {
+	fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+		match *self {
+			Error::UnexpectedEof => write!(f, "Unexpected end of input"),
+			Error::InvalidMagic => write!(f, "Invalid magic number at start of file"),
+			Error::UnsupportedVersion(v) => write!(f, "Unsupported wasm version {}", v),
+			Error::InconsistentLength { expected, actual } => {
+				write!(f, "Expected length {}, found {}", expected, actual)
+			}
+			Error::Other(msg) => write!(f, "{}", msg),
+			Error::HeapOther(ref msg) => write!(f, "{}", msg),
+			Error::UnknownValueType(ty) => write!(f, "Invalid or unknown value type {}", ty),
+			Error::UnknownTableElementType(ty) => write!(f, "Unknown table element type {}", ty),
+			Error::NonUtf8String => write!(f, "Non-UTF-8 string"),
+			Error::UnknownExternalKind(kind) => write!(f, "Unknown external kind {}", kind),
+			Error::UnknownInternalKind(kind) => write!(f, "Unknown internal kind {}", kind),
+			Error::UnknownOpcode(opcode) => write!(f, "Unknown opcode {}", opcode),
+			Error::UnknownSimdOpcode(opcode) => write!(f, "Unknown SIMD opcode {}", opcode),
+			Error::InvalidVarUint1(val) => write!(f, "Not an unsigned 1-bit integer: {}", val),
+			Error::InvalidVarInt7(val) => write!(f, "Not a signed 7-bit integer: {}", val),
+			Error::InvalidVarInt32 => write!(f, "Not a signed 32-bit integer"),
+			Error::InvalidVarUint32 => write!(f, "Not an unsigned 32-bit integer"),
+			Error::InvalidVarInt64 => write!(f, "Not a signed 64-bit integer"),
+			Error::InvalidVarUint64 => write!(f, "Not an unsigned 64-bit integer"),
+			Error::InconsistentMetadata =>  write!(f, "Inconsistent metadata"),
+			Error::InvalidSectionId(ref id) =>  write!(f, "Invalid section id: {}", id),
+			Error::SectionsOutOfOrder =>  write!(f, "Sections out of order"),
+			Error::DuplicatedSections(ref id) =>  write!(f, "Dupliated sections ({})", id),
+			Error::InvalidMemoryReference(ref mem_ref) =>  write!(f, "Invalid memory reference ({})", mem_ref),
+			Error::InvalidTableReference(ref table_ref) =>  write!(f, "Invalid table reference ({})", table_ref),
+			Error::UnknownFunctionForm(ref form) =>  write!(f, "Unknown function form ({})", form),
+			Error::InconsistentCode =>  write!(f, "Number of function body entries and signatures does not match"),
+		}
+	}
+}
+
+#[cfg(feature = "std")]
+impl ::std::error::Error for Error {
+	fn description(&self) -> &str {
+		match *self {
+			Error::UnexpectedEof => "Unexpected end of input",
+			Error::InvalidMagic => "Invalid magic number at start of file",
+			Error::UnsupportedVersion(_) => "Unsupported wasm version",
+			Error::InconsistentLength { .. } => "Inconsistent length",
+			Error::Other(msg) => msg,
+			Error::HeapOther(ref msg) => &msg[..],
+			Error::UnknownValueType(_) => "Invalid or unknown value type",
+			Error::UnknownTableElementType(_) => "Unknown table element type",
+			Error::NonUtf8String => "Non-UTF-8 string",
+			Error::UnknownExternalKind(_) => "Unknown external kind",
+			Error::UnknownInternalKind(_) => "Unknown internal kind",
+			Error::UnknownOpcode(_) => "Unknown opcode",
+			Error::UnknownSimdOpcode(_) => "Unknown SIMD opcode",
+			Error::InvalidVarUint1(_) => "Not an unsigned 1-bit integer",
+			Error::InvalidVarInt32 => "Not a signed 32-bit integer",
+			Error::InvalidVarInt7(_) => "Not a signed 7-bit integer",
+			Error::InvalidVarUint32 => "Not an unsigned 32-bit integer",
+			Error::InvalidVarInt64 => "Not a signed 64-bit integer",
+			Error::InvalidVarUint64 => "Not an unsigned 64-bit integer",
+			Error::InconsistentMetadata => "Inconsistent metadata",
+			Error::InvalidSectionId(_) =>  "Invalid section id",
+			Error::SectionsOutOfOrder =>  "Sections out of order",
+			Error::DuplicatedSections(_) =>  "Duplicated section",
+			Error::InvalidMemoryReference(_) =>  "Invalid memory reference",
+			Error::InvalidTableReference(_) =>  "Invalid table reference",
+			Error::UnknownFunctionForm(_) =>  "Unknown function form",
+			Error::InconsistentCode =>  "Number of function body entries and signatures does not match",
+		}
+	}
+}
+
+impl From<io::Error> for Error {
+	fn from(err: io::Error) -> Self {
+		Error::HeapOther(format!("I/O Error: {:?}", err))
+	}
+}
+
+/// Unparsed part of the module/section
+pub struct Unparsed(pub Vec<u8>);
+
+impl Deserialize for Unparsed {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let len = VarUint32::deserialize(reader)?.into();
+		let mut vec = vec![0u8; len];
+		reader.read(&mut vec[..])?;
+		Ok(Unparsed(vec))
+	}
+}
+
+impl From<Unparsed> for Vec<u8> {
+	fn from(u: Unparsed) -> Vec<u8> {
+		u.0
+	}
+}
+
+/// Deserialize deserializable type from buffer.
+pub fn deserialize_buffer<T: Deserialize>(contents: &[u8]) -> Result<T, T::Error> {
+	let mut reader = io::Cursor::new(contents);
+	let result = T::deserialize(&mut reader)?;
+	if reader.position() != contents.len() {
+		// It's a TrailingData, since if there is not enough data then
+		// UnexpectedEof must have been returned earlier in T::deserialize.
+		return Err(io::Error::TrailingData.into())
+	}
+	Ok(result)
+}
+
+/// Create buffer with serialized value.
+pub fn serialize<T: Serialize>(val: T) -> Result<Vec<u8>, T::Error> {
+	let mut buf = Vec::new();
+	val.serialize(&mut buf)?;
+	Ok(buf)
+}
+
+/// Deserialize module from the file.
+#[cfg(feature = "std")]
+pub fn deserialize_file<P: AsRef<::std::path::Path>>(p: P) -> Result<Module, Error> {
+	let mut f = ::std::fs::File::open(p)
+		.map_err(|e| Error::HeapOther(format!("Can't read from the file: {:?}", e)))?;
+
+	Module::deserialize(&mut f)
+}
+
+/// Serialize module to the file
+#[cfg(feature = "std")]
+pub fn serialize_to_file<P: AsRef<::std::path::Path>>(p: P, module: Module) -> Result<(), Error> {
+	let mut io = ::std::fs::File::create(p)
+		.map_err(|e|
+			Error::HeapOther(format!("Can't create the file: {:?}", e))
+		)?;
+
+	module.serialize(&mut io)?;
+	Ok(())
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/module.rs.html b/src/parity_wasm/elements/module.rs.html new file mode 100644 index 0000000..e612f5d --- /dev/null +++ b/src/parity_wasm/elements/module.rs.html @@ -0,0 +1,1435 @@ +module.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+
+use io;
+use std::vec::Vec;
+use std::borrow::ToOwned;
+use byteorder::{LittleEndian, ByteOrder};
+
+use super::{Deserialize, Serialize, Error, Uint32, External};
+use super::section::{
+	Section, CodeSection, TypeSection, ImportSection, ExportSection, FunctionSection,
+	GlobalSection, TableSection, ElementSection, DataSection, MemorySection
+};
+use super::name_section::NameSection;
+use super::reloc_section::RelocSection;
+
+const WASM_MAGIC_NUMBER: [u8; 4] = [0x00, 0x61, 0x73, 0x6d];
+
+/// WebAssembly module
+#[derive(Debug, Clone, PartialEq)]
+pub struct Module {
+	magic: u32,
+	version: u32,
+	sections: Vec<Section>,
+}
+
+#[derive(Debug, Clone, Copy, PartialEq)]
+/// Type of the import entry to count
+pub enum ImportCountType {
+	/// Count functions
+	Function,
+	/// Count globals
+	Global,
+	/// Count tables
+	Table,
+	/// Count memories
+	Memory,
+}
+
+impl Default for Module {
+	fn default() -> Self {
+		Module {
+			magic: LittleEndian::read_u32(&WASM_MAGIC_NUMBER),
+			version: 1,
+			sections: Vec::with_capacity(16),
+		}
+	}
+}
+
+impl Module {
+	/// New module with sections
+	pub fn new(sections: Vec<Section>) -> Self {
+		Module {
+			sections: sections, ..Default::default()
+		}
+	}
+
+	/// Destructure the module, yielding sections
+	pub fn into_sections(self) -> Vec<Section> {
+		self.sections
+	}
+
+	/// Version of module.
+	pub fn version(&self) -> u32 { self.version }
+
+	/// Sections list.
+	/// Each known section is optional and may appear at most once.
+	pub fn sections(&self) -> &[Section] {
+		&self.sections
+	}
+
+	/// Sections list (mutable)
+	/// Each known section is optional and may appear at most once.
+	pub fn sections_mut(&mut self) -> &mut Vec<Section> {
+		&mut self.sections
+	}
+
+	/// Code section reference, if any.
+	pub fn code_section(&self) -> Option<&CodeSection> {
+		for section in self.sections() {
+			if let &Section::Code(ref code_section) = section { return Some(code_section); }
+		}
+		None
+	}
+
+	/// Code section mutable reference, if any.
+	pub fn code_section_mut(&mut self) -> Option<&mut CodeSection> {
+		for section in self.sections_mut() {
+			if let Section::Code(ref mut code_section) = *section { return Some(code_section); }
+		}
+		None
+	}
+
+	/// Types section reference, if any.
+	pub fn type_section(&self) -> Option<&TypeSection> {
+		for section in self.sections() {
+			if let &Section::Type(ref type_section) = section { return Some(type_section); }
+		}
+		None
+	}
+
+	/// Types section mutable reference, if any.
+	pub fn type_section_mut(&mut self) -> Option<&mut TypeSection> {
+		for section in self.sections_mut() {
+			if let Section::Type(ref mut type_section) = *section { return Some(type_section); }
+		}
+		None
+	}
+
+	/// Imports section reference, if any.
+	pub fn import_section(&self) -> Option<&ImportSection> {
+		for section in self.sections() {
+			if let &Section::Import(ref import_section) = section { return Some(import_section); }
+		}
+		None
+	}
+
+	/// Imports section mutable reference, if any.
+	pub fn import_section_mut(&mut self) -> Option<&mut ImportSection> {
+		for section in self.sections_mut() {
+			if let Section::Import(ref mut import_section) = *section { return Some(import_section); }
+		}
+		None
+	}
+
+	/// Globals section reference, if any.
+	pub fn global_section(&self) -> Option<&GlobalSection> {
+		for section in self.sections() {
+			if let &Section::Global(ref section) = section { return Some(section); }
+		}
+		None
+	}
+
+		/// Globals section mutable reference, if any.
+	pub fn global_section_mut(&mut self) -> Option<&mut GlobalSection> {
+		for section in self.sections_mut() {
+			if let Section::Global(ref mut section) = *section { return Some(section); }
+		}
+		None
+	}
+
+
+	/// Exports section reference, if any.
+	pub fn export_section(&self) -> Option<&ExportSection> {
+		for section in self.sections() {
+			if let &Section::Export(ref export_section) = section { return Some(export_section); }
+		}
+		None
+	}
+
+	/// Exports section mutable reference, if any.
+	pub fn export_section_mut(&mut self) -> Option<&mut ExportSection> {
+		for section in self.sections_mut() {
+			if let Section::Export(ref mut export_section) = *section { return Some(export_section); }
+		}
+		None
+	}
+
+	/// Table section reference, if any.
+	pub fn table_section(&self) -> Option<&TableSection> {
+		for section in self.sections() {
+			if let &Section::Table(ref section) = section { return Some(section); }
+		}
+		None
+	}
+
+	/// Table section mutable reference, if any.
+	pub fn table_section_mut(&mut self) -> Option<&mut TableSection> {
+		for section in self.sections_mut() {
+			if let Section::Table(ref mut section) = *section { return Some(section); }
+		}
+		None
+	}
+
+	/// Data section reference, if any.
+	pub fn data_section(&self) -> Option<&DataSection> {
+		for section in self.sections() {
+			if let &Section::Data(ref section) = section { return Some(section); }
+		}
+		None
+	}
+
+	/// Data section mutable reference, if any.
+	pub fn data_section_mut(&mut self) -> Option<&mut DataSection> {
+		for section in self.sections_mut() {
+			if let Section::Data(ref mut section) = *section { return Some(section); }
+		}
+		None
+	}
+
+	/// Element section reference, if any.
+	pub fn elements_section(&self) -> Option<&ElementSection> {
+		for section in self.sections() {
+			if let &Section::Element(ref section) = section { return Some(section); }
+		}
+		None
+	}
+
+	/// Element section mutable reference, if any.
+	pub fn elements_section_mut(&mut self) -> Option<&mut ElementSection> {
+		for section in self.sections_mut() {
+			if let Section::Element(ref mut section) = *section { return Some(section); }
+		}
+		None
+	}
+
+	/// Memory section reference, if any.
+	pub fn memory_section(&self) -> Option<&MemorySection> {
+		for section in self.sections() {
+			if let &Section::Memory(ref section) = section { return Some(section); }
+		}
+		None
+	}
+
+	/// Memory section mutable reference, if any.
+	pub fn memory_section_mut(&mut self) -> Option<&mut MemorySection> {
+		for section in self.sections_mut() {
+			if let Section::Memory(ref mut section) = *section { return Some(section); }
+		}
+		None
+	}
+
+	/// Functions signatures section reference, if any.
+	pub fn function_section(&self) -> Option<&FunctionSection> {
+		for section in self.sections() {
+			if let &Section::Function(ref sect) = section { return Some(sect); }
+		}
+		None
+	}
+
+	/// Functions signatures section mutable reference, if any.
+	pub fn function_section_mut(&mut self) -> Option<&mut FunctionSection> {
+		for section in self.sections_mut() {
+			if let Section::Function(ref mut sect) = *section { return Some(sect); }
+		}
+		None
+	}
+
+	/// Start section, if any.
+	pub fn start_section(&self) -> Option<u32> {
+		for section in self.sections() {
+			if let &Section::Start(sect) = section { return Some(sect); }
+		}
+		None
+	}
+
+	/// Functions signatures section reference, if any.
+	/// NOTE: name section is not parsed by default so `names_section` could return None even if name section exists.
+	/// Call `parse_names` to parse name section
+	pub fn names_section(&self) -> Option<&NameSection> {
+		for section in self.sections() {
+			if let Section::Name(ref sect) = *section { return Some(sect); }
+		}
+		None
+	}
+
+	/// Functions signatures section mutable reference, if any.
+	/// NOTE: name section is not parsed by default so `names_section` could return None even if name section exists.
+	/// Call `parse_names` to parse name section
+	pub fn names_section_mut(&mut self) -> Option<&mut NameSection> {
+		for section in self.sections_mut() {
+			if let Section::Name(ref mut sect) = *section { return Some(sect); }
+		}
+		None
+	}
+
+	/// Try to parse name section in place
+	/// Corresponding custom section with proper header will convert to name sections
+	/// If some of them will fail to be decoded, Err variant is returned with the list of
+	/// (index, Error) tuples of failed sections.
+	pub fn parse_names(mut self) -> Result<Self, (Vec<(usize, Error)>, Self)> {
+		let mut parse_errors = Vec::new();
+
+		for i in 0..self.sections.len() {
+			if let Some(name_section) = {
+				let section = self.sections.get(i).expect("cannot fail because i in range 0..len; qed");
+				if let Section::Custom(ref custom) = *section {
+					if custom.name() == "name" {
+						let mut rdr = io::Cursor::new(custom.payload());
+						let name_section = match NameSection::deserialize(&self, &mut rdr) {
+							Ok(ns) => ns,
+							Err(e) => { parse_errors.push((i, e)); continue; }
+						};
+						Some(name_section)
+					} else {
+						None
+					}
+				} else { None }
+			} {
+				*self.sections.get_mut(i).expect("cannot fail because i in range 0..len; qed") = Section::Name(name_section);
+			}
+		}
+
+		if parse_errors.len() > 0 {
+			Err((parse_errors, self))
+		} else {
+			Ok(self)
+		}
+	}
+
+	/// Try to parse reloc section in place
+	/// Corresponding custom section with proper header will convert to reloc sections
+	/// If some of them will fail to be decoded, Err variant is returned with the list of
+	/// (index, Error) tuples of failed sections.
+	pub fn parse_reloc(mut self) -> Result<Self, (Vec<(usize, Error)>, Self)> {
+		let mut parse_errors = Vec::new();
+
+		for (i, section) in self.sections.iter_mut().enumerate() {
+			if let Some(relocation_section) = {
+				if let Section::Custom(ref custom) = *section {
+					if custom.name().starts_with("reloc.") {
+						let mut rdr = io::Cursor::new(custom.payload());
+						let reloc_section = match RelocSection::deserialize(custom.name().to_owned(), &mut rdr) {
+							Ok(reloc_section) => reloc_section,
+							Err(e) => { parse_errors.push((i, e)); continue; }
+						};
+						if rdr.position() != custom.payload().len() {
+							parse_errors.push((i, io::Error::InvalidData.into()));
+							continue;
+						}
+						Some(Section::Reloc(reloc_section))
+					}
+					else {
+						None
+					}
+				}
+				else {
+					None
+				}
+			} {
+				*section = relocation_section;
+			}
+		}
+
+		if parse_errors.len() > 0 {
+			Err((parse_errors, self))
+		} else {
+			Ok(self)
+		}
+	}
+
+	/// Count imports by provided type
+	pub fn import_count(&self, count_type: ImportCountType) -> usize {
+		self.import_section()
+			.map(|is|
+				is.entries().iter().filter(|import| match (count_type, *import.external()) {
+					(ImportCountType::Function, External::Function(_)) => true,
+					(ImportCountType::Global, External::Global(_)) => true,
+					(ImportCountType::Table, External::Table(_)) => true,
+					(ImportCountType::Memory, External::Memory(_)) => true,
+					_ => false
+				}).count())
+			.unwrap_or(0)
+	}
+
+	/// Query functions space
+	pub fn functions_space(&self) -> usize {
+		self.import_count(ImportCountType::Function) +
+			self.function_section().map(|fs| fs.entries().len()).unwrap_or(0)
+	}
+
+	/// Query globals space
+	pub fn globals_space(&self) -> usize {
+		self.import_count(ImportCountType::Global) +
+			self.global_section().map(|gs| gs.entries().len()).unwrap_or(0)
+	}
+
+	/// Query table space
+	pub fn table_space(&self) -> usize {
+		self.import_count(ImportCountType::Table) +
+			self.table_section().map(|ts| ts.entries().len()).unwrap_or(0)
+	}
+
+	/// Query memory space
+	pub fn memory_space(&self) -> usize {
+		self.import_count(ImportCountType::Memory) +
+			self.memory_section().map(|ms| ms.entries().len()).unwrap_or(0)
+	}
+}
+
+impl Deserialize for Module {
+	type Error = super::Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut sections = Vec::new();
+
+		let mut magic = [0u8; 4];
+		reader.read(&mut magic)?;
+		if magic != WASM_MAGIC_NUMBER {
+			return Err(Error::InvalidMagic);
+		}
+
+		let version: u32 = Uint32::deserialize(reader)?.into();
+
+		if version != 1 {
+			return Err(Error::UnsupportedVersion(version));
+		}
+
+		let mut last_section_id = 0;
+
+		loop {
+			match Section::deserialize(reader) {
+				Err(Error::UnexpectedEof) => { break; },
+				Err(e) => { return Err(e) },
+				Ok(section) => {
+					if section.id() != 0 {
+						if last_section_id > section.id() {
+							return Err(Error::SectionsOutOfOrder);
+						} else if last_section_id == section.id() {
+							return Err(Error::DuplicatedSections(last_section_id));
+						}
+						last_section_id = section.id();
+					}
+					sections.push(section);
+				}
+			}
+		}
+
+		let module = Module {
+			magic: LittleEndian::read_u32(&magic),
+			version: version,
+			sections: sections,
+		};
+
+		if module.code_section().map(|cs| cs.bodies().len()).unwrap_or(0) !=
+			module.function_section().map(|fs| fs.entries().len()).unwrap_or(0)
+		{
+			return Err(Error::InconsistentCode);
+		}
+
+		Ok(module)
+	}
+}
+
+impl Serialize for Module {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, w: &mut W) -> Result<(), Self::Error> {
+		Uint32::from(self.magic).serialize(w)?;
+		Uint32::from(self.version).serialize(w)?;
+		for section in self.sections.into_iter() {
+			section.serialize(w)?;
+		}
+		Ok(())
+	}
+}
+
+#[derive(Debug, Copy, Clone, PartialEq)]
+struct PeekSection<'a> {
+	cursor: usize,
+	region: &'a [u8],
+}
+
+impl<'a> io::Read for PeekSection<'a> {
+	fn read(&mut self, buf: &mut [u8]) -> io::Result<()> {
+		let available = ::std::cmp::min(buf.len(), self.region.len() - self.cursor);
+		if available < buf.len() {
+			return Err(io::Error::UnexpectedEof);
+		}
+
+		let range = self.cursor..self.cursor + buf.len();
+		buf.copy_from_slice(&self.region[range]);
+
+		self.cursor += available;
+		Ok(())
+	}
+}
+
+/// Returns size of the module in the provided stream
+pub fn peek_size(source: &[u8]) -> usize {
+	if source.len() < 9 {
+		return 0;
+	}
+
+	let mut cursor = 8;
+	loop {
+		let (new_cursor, section_id, section_len) = {
+			let mut peek_section = PeekSection { cursor: 0, region: &source[cursor..] };
+			let section_id: u8 = match super::VarUint7::deserialize(&mut peek_section) {
+				Ok(res) => res.into(),
+				Err(_) => { break; },
+			};
+			let section_len: u32 = match super::VarUint32::deserialize(&mut peek_section) {
+				Ok(res) => res.into(),
+				Err(_) => { break; },
+			};
+
+			(peek_section.cursor, section_id, section_len)
+		};
+
+		if section_id <= 11 && section_len > 0 {
+			let next_cursor = cursor + new_cursor + section_len as usize;
+			if next_cursor > source.len() {
+				break;
+			} else if next_cursor == source.len() {
+				cursor = next_cursor;
+				break;
+			}
+			cursor = next_cursor;
+		} else {
+			break;
+		}
+	}
+
+	cursor
+}
+
+#[cfg(test)]
+mod integration_tests {
+
+	use super::super::{deserialize_file, serialize, deserialize_buffer, Section};
+	use super::Module;
+
+	#[test]
+	fn hello() {
+		let module = deserialize_file("./res/cases/v1/hello.wasm").expect("Should be deserialized");
+
+		assert_eq!(module.version(), 1);
+		assert_eq!(module.sections().len(), 8);
+	}
+
+	#[test]
+	fn serde() {
+		let module = deserialize_file("./res/cases/v1/test5.wasm").expect("Should be deserialized");
+		let buf = serialize(module).expect("serialization to succeed");
+
+		let module_new: Module = deserialize_buffer(&buf).expect("deserialization to succeed");
+		let module_old = deserialize_file("./res/cases/v1/test5.wasm").expect("Should be deserialized");
+
+		assert_eq!(module_old.sections().len(), module_new.sections().len());
+	}
+
+	#[test]
+	fn serde_type() {
+		let mut module = deserialize_file("./res/cases/v1/test5.wasm").expect("Should be deserialized");
+		module.sections_mut().retain(|x| {
+			if let &Section::Type(_) = x { true } else { false }
+		});
+
+		let buf = serialize(module).expect("serialization to succeed");
+
+		let module_new: Module = deserialize_buffer(&buf).expect("deserialization to succeed");
+		let module_old = deserialize_file("./res/cases/v1/test5.wasm").expect("Should be deserialized");
+		assert_eq!(
+			module_old.type_section().expect("type section exists").types().len(),
+			module_new.type_section().expect("type section exists").types().len(),
+			"There should be equal amount of types before and after serialization"
+		);
+	}
+
+	#[test]
+	fn serde_import() {
+		let mut module = deserialize_file("./res/cases/v1/test5.wasm").expect("Should be deserialized");
+		module.sections_mut().retain(|x| {
+			if let &Section::Import(_) = x { true } else { false }
+		});
+
+		let buf = serialize(module).expect("serialization to succeed");
+
+		let module_new: Module = deserialize_buffer(&buf).expect("deserialization to succeed");
+		let module_old = deserialize_file("./res/cases/v1/test5.wasm").expect("Should be deserialized");
+		assert_eq!(
+			module_old.import_section().expect("import section exists").entries().len(),
+			module_new.import_section().expect("import section exists").entries().len(),
+			"There should be equal amount of import entries before and after serialization"
+		);
+	}
+
+	#[test]
+	fn serde_code() {
+		let mut module = deserialize_file("./res/cases/v1/test5.wasm").expect("Should be deserialized");
+		module.sections_mut().retain(|x| {
+			if let &Section::Code(_) = x { return true }
+			if let &Section::Function(_) = x { true } else { false }
+		});
+
+		let buf = serialize(module).expect("serialization to succeed");
+
+		let module_new: Module = deserialize_buffer(&buf).expect("deserialization to succeed");
+		let module_old = deserialize_file("./res/cases/v1/test5.wasm").expect("Should be deserialized");
+		assert_eq!(
+			module_old.code_section().expect("code section exists").bodies().len(),
+			module_new.code_section().expect("code section exists").bodies().len(),
+			"There should be equal amount of function bodies before and after serialization"
+		);
+	}
+
+	#[test]
+	fn const_() {
+		use super::super::Instruction::*;
+
+		let module = deserialize_file("./res/cases/v1/const.wasm").expect("Should be deserialized");
+		let func = &module.code_section().expect("Code section to exist").bodies()[0];
+		assert_eq!(func.code().elements().len(), 20);
+
+		assert_eq!(I64Const(9223372036854775807), func.code().elements()[0]);
+		assert_eq!(I64Const(-9223372036854775808), func.code().elements()[1]);
+		assert_eq!(I64Const(-1152894205662152753), func.code().elements()[2]);
+		assert_eq!(I64Const(-8192), func.code().elements()[3]);
+		assert_eq!(I32Const(1024), func.code().elements()[4]);
+		assert_eq!(I32Const(2048), func.code().elements()[5]);
+		assert_eq!(I32Const(4096), func.code().elements()[6]);
+		assert_eq!(I32Const(8192), func.code().elements()[7]);
+		assert_eq!(I32Const(16384), func.code().elements()[8]);
+		assert_eq!(I32Const(32767), func.code().elements()[9]);
+		assert_eq!(I32Const(-1024), func.code().elements()[10]);
+		assert_eq!(I32Const(-2048), func.code().elements()[11]);
+		assert_eq!(I32Const(-4096), func.code().elements()[12]);
+		assert_eq!(I32Const(-8192), func.code().elements()[13]);
+		assert_eq!(I32Const(-16384), func.code().elements()[14]);
+		assert_eq!(I32Const(-32768), func.code().elements()[15]);
+		assert_eq!(I32Const(-2147483648), func.code().elements()[16]);
+		assert_eq!(I32Const(2147483647), func.code().elements()[17]);
+	}
+
+	#[test]
+	fn store() {
+		use super::super::Instruction::*;
+
+		let module = deserialize_file("./res/cases/v1/offset.wasm").expect("Should be deserialized");
+		let func = &module.code_section().expect("Code section to exist").bodies()[0];
+
+		assert_eq!(func.code().elements().len(), 5);
+		assert_eq!(I64Store(0, 32), func.code().elements()[2]);
+	}
+
+	#[test]
+	fn peek() {
+		use super::peek_size;
+
+		let module = deserialize_file("./res/cases/v1/test5.wasm").expect("Should be deserialized");
+		let mut buf = serialize(module).expect("serialization to succeed");
+
+		buf.extend_from_slice(&[1, 5, 12, 17]);
+
+		assert_eq!(peek_size(&buf), buf.len() - 4);
+	}
+
+
+	#[test]
+	fn peek_2() {
+		use super::peek_size;
+
+		let module = deserialize_file("./res/cases/v1/offset.wasm").expect("Should be deserialized");
+		let mut buf = serialize(module).expect("serialization to succeed");
+
+		buf.extend_from_slice(&[0, 0, 0, 0, 0, 1, 5, 12, 17]);
+
+		assert_eq!(peek_size(&buf), buf.len() - 9);
+	}
+
+	#[test]
+	fn peek_3() {
+		use super::peek_size;
+
+		let module = deserialize_file("./res/cases/v1/peek_sample.wasm").expect("Should be deserialized");
+		let buf = serialize(module).expect("serialization to succeed");
+
+		assert_eq!(peek_size(&buf), buf.len());
+	}
+
+	#[test]
+	fn module_default_round_trip() {
+		let module1 = Module::default();
+		let buf = serialize(module1).expect("Serialization should succeed");
+
+		let module2: Module = deserialize_buffer(&buf).expect("Deserialization should succeed");
+		assert_eq!(Module::default().magic, module2.magic);
+	}
+
+	#[test]
+	fn names() {
+		use super::super::name_section::NameSection;
+
+		let module = deserialize_file("./res/cases/v1/with_names.wasm")
+			.expect("Should be deserialized")
+			.parse_names()
+			.expect("Names to be parsed");
+
+		let mut found_section = false;
+		for section in module.sections() {
+			match *section {
+				Section::Name(ref name_section) => {
+					match *name_section {
+						NameSection::Function(ref function_name_section) => {
+							assert_eq!(
+								function_name_section.names().get(0).expect("Should be entry #0"),
+								"elog"
+							);
+							assert_eq!(
+								function_name_section.names().get(11).expect("Should be entry #0"),
+								"_ZN48_$LT$pwasm_token_contract..Endpoint$LT$T$GT$$GT$3new17hc3ace6dea0978cd9E"
+							);
+
+							found_section = true;
+						},
+						_ => {},
+					}
+				},
+				_ => {},
+			}
+		}
+
+		assert!(found_section, "Name section should be present in dedicated example");
+	}
+
+	#[test]
+	fn varuint1_case() {
+		let _module = deserialize_file("./res/cases/v1/varuint1_1.wasm")
+			.expect("Maybe shouldn't be deserialized");
+	}
+
+
+	#[test]
+	fn memory_space() {
+		let module = deserialize_file("./res/cases/v1/two-mems.wasm").expect("failed to deserialize");
+		assert_eq!(module.memory_space(), 2);
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/name_section.rs.html b/src/parity_wasm/elements/name_section.rs.html new file mode 100644 index 0000000..22e94d8 --- /dev/null +++ b/src/parity_wasm/elements/name_section.rs.html @@ -0,0 +1,559 @@ +name_section.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+
+use io;
+use std::vec::Vec;
+use std::string::String;
+
+use super::{Deserialize, Error, Module, Serialize, VarUint32, VarUint7, Type};
+use super::index_map::IndexMap;
+
+const NAME_TYPE_MODULE: u8 = 0;
+const NAME_TYPE_FUNCTION: u8 = 1;
+const NAME_TYPE_LOCAL: u8 = 2;
+
+/// Debug name information.
+#[derive(Clone, Debug, PartialEq)]
+pub enum NameSection {
+	/// Module name section.
+	Module(ModuleNameSection),
+
+	/// Function name section.
+	Function(FunctionNameSection),
+
+	/// Local name section.
+	Local(LocalNameSection),
+
+	/// Name section is unparsed.
+	Unparsed {
+		/// The numeric identifier for this name section type.
+		name_type: u8,
+		/// The contents of this name section, unparsed.
+		name_payload: Vec<u8>,
+	},
+}
+
+impl NameSection {
+	/// Deserialize a name section.
+	pub fn deserialize<R: io::Read>(
+		module: &Module,
+		rdr: &mut R,
+	) -> Result<NameSection, Error> {
+		let name_type: u8 = VarUint7::deserialize(rdr)?.into();
+		let name_payload_len: u32 = VarUint32::deserialize(rdr)?.into();
+		let name_section = match name_type {
+			NAME_TYPE_MODULE => NameSection::Module(ModuleNameSection::deserialize(rdr)?),
+			NAME_TYPE_FUNCTION => NameSection::Function(FunctionNameSection::deserialize(module, rdr)?),
+			NAME_TYPE_LOCAL => NameSection::Local(LocalNameSection::deserialize(module, rdr)?),
+			_ => {
+				let mut name_payload = vec![0u8; name_payload_len as usize];
+				rdr.read(&mut name_payload)?;
+				NameSection::Unparsed {
+					name_type,
+					name_payload,
+				}
+			}
+		};
+		Ok(name_section)
+	}
+}
+
+impl Serialize for NameSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, wtr: &mut W) -> Result<(), Error> {
+		let (name_type, name_payload) = match self {
+			NameSection::Module(mod_name) => {
+				let mut buffer = vec![];
+				mod_name.serialize(&mut buffer)?;
+				(NAME_TYPE_MODULE, buffer)
+			}
+			NameSection::Function(fn_names) => {
+				let mut buffer = vec![];
+				fn_names.serialize(&mut buffer)?;
+				(NAME_TYPE_FUNCTION, buffer)
+			}
+			NameSection::Local(local_names) => {
+				let mut buffer = vec![];
+				local_names.serialize(&mut buffer)?;
+				(NAME_TYPE_LOCAL, buffer)
+			}
+			NameSection::Unparsed {
+				name_type,
+				name_payload,
+			} => (name_type, name_payload),
+		};
+		VarUint7::from(name_type).serialize(wtr)?;
+		VarUint32::from(name_payload.len()).serialize(wtr)?;
+		wtr.write(&name_payload)?;
+		Ok(())
+	}
+}
+
+/// The name of this module.
+#[derive(Clone, Debug, PartialEq)]
+pub struct ModuleNameSection {
+	name: String,
+}
+
+impl ModuleNameSection {
+	/// Create a new module name section with the specified name.
+	pub fn new<S: Into<String>>(name: S) -> ModuleNameSection {
+		ModuleNameSection { name: name.into() }
+	}
+
+	/// The name of this module.
+	pub fn name(&self) -> &str {
+		&self.name
+	}
+
+	/// The name of this module (mutable).
+	pub fn name_mut(&mut self) -> &mut String {
+		&mut self.name
+	}
+}
+
+impl Serialize for ModuleNameSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, wtr: &mut W) -> Result<(), Error> {
+		self.name.serialize(wtr)
+	}
+}
+
+impl Deserialize for ModuleNameSection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(rdr: &mut R) -> Result<ModuleNameSection, Error> {
+		let name = String::deserialize(rdr)?;
+		Ok(ModuleNameSection { name })
+	}
+}
+
+/// The names of the functions in this module.
+#[derive(Clone, Debug, Default, PartialEq)]
+pub struct FunctionNameSection {
+	names: NameMap,
+}
+
+impl FunctionNameSection {
+	/// A map from function indices to names.
+	pub fn names(&self) -> &NameMap {
+		&self.names
+	}
+
+	/// A map from function indices to names (mutable).
+	pub fn names_mut(&mut self) -> &mut NameMap {
+		&mut self.names
+	}
+
+	/// Deserialize names, making sure that all names correspond to functions.
+	pub fn deserialize<R: io::Read>(
+		module: &Module,
+		rdr: &mut R,
+	) -> Result<FunctionNameSection, Error> {
+		let names = IndexMap::deserialize(module.functions_space(), rdr)?;
+		Ok(FunctionNameSection { names })
+	}
+}
+
+impl Serialize for FunctionNameSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, wtr: &mut W) -> Result<(), Error> {
+		self.names.serialize(wtr)
+	}
+}
+
+/// The names of the local variables in this module's functions.
+#[derive(Clone, Debug, Default, PartialEq)]
+pub struct LocalNameSection {
+	local_names: IndexMap<NameMap>,
+}
+
+impl LocalNameSection {
+	/// A map from function indices to a map from variables indices to names.
+	pub fn local_names(&self) -> &IndexMap<NameMap> {
+		&self.local_names
+	}
+
+	/// A map from function indices to a map from variables indices to names
+	/// (mutable).
+	pub fn local_names_mut(&mut self) -> &mut IndexMap<NameMap> {
+		&mut self.local_names
+	}
+
+	/// Deserialize names, making sure that all names correspond to local
+	/// variables.
+	pub fn deserialize<R: io::Read>(
+		module: &Module,
+		rdr: &mut R,
+	) -> Result<LocalNameSection, Error> {
+		let funcs = module.function_section().ok_or_else(|| {
+			Error::Other("cannot deserialize local names without a function section")
+		})?;
+		let max_entry_space = funcs.entries().len();
+
+		let max_signature_args = module
+			.type_section()
+			.map(|ts|
+				ts.types()
+					.iter()
+					.map(|x| { let Type::Function(ref func) = *x; func.params().len() })
+					.max()
+					.unwrap_or(0))
+			.unwrap_or(0);
+
+		let max_locals = module
+			.code_section()
+			.map(|cs| cs.bodies().iter().map(|f| f.locals().len()).max().unwrap_or(0))
+			.unwrap_or(0);
+
+		let max_space = max_signature_args + max_locals;
+
+		let deserialize_locals = |_: u32, rdr: &mut R| IndexMap::deserialize(max_space, rdr);
+
+		let local_names = IndexMap::deserialize_with(
+			max_entry_space,
+			&deserialize_locals,
+			rdr,
+		)?;
+		Ok(LocalNameSection { local_names })
+	}}
+
+impl Serialize for LocalNameSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, wtr: &mut W) -> Result<(), Error> {
+		self.local_names.serialize(wtr)
+	}
+}
+
+/// A map from indices to names.
+pub type NameMap = IndexMap<String>;
+
+#[cfg(test)]
+mod tests {
+	use super::*;
+
+	// A helper funtion for the tests. Serialize a section, deserialize it,
+	// and make sure it matches the original.
+	fn serialize_test(original: NameSection) -> Vec<u8> {
+		let mut buffer = vec![];
+		original
+			.serialize(&mut buffer)
+			.expect("serialize error");
+		buffer
+	}
+
+	#[test]
+	fn serialize_module_name() {
+		let original = NameSection::Module(ModuleNameSection::new("my_mod"));
+		serialize_test(original.clone());
+	}
+
+	#[test]
+	fn serialize_function_names() {
+		let mut sect = FunctionNameSection::default();
+		sect.names_mut().insert(0, "hello_world".to_string());
+		serialize_test(NameSection::Function(sect));
+	}
+
+	#[test]
+	fn serialize_local_names() {
+		let mut sect = LocalNameSection::default();
+		let mut locals = NameMap::default();
+		locals.insert(0, "msg".to_string());
+		sect.local_names_mut().insert(0, locals);
+		serialize_test(NameSection::Local(sect));
+	}
+
+	#[test]
+	fn serialize_and_deserialize_unparsed() {
+		let original = NameSection::Unparsed {
+			// A made-up name section type which is unlikely to be allocated
+			// soon, in order to allow us to test `Unparsed`.
+			name_type: 120,
+			name_payload: vec![0u8, 1, 2],
+		};
+		serialize_test(original.clone());
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/ops.rs.html b/src/parity_wasm/elements/ops.rs.html new file mode 100644 index 0000000..f7d33c3 --- /dev/null +++ b/src/parity_wasm/elements/ops.rs.html @@ -0,0 +1,5355 @@ +ops.rs.html -- source
   1
+   2
+   3
+   4
+   5
+   6
+   7
+   8
+   9
+  10
+  11
+  12
+  13
+  14
+  15
+  16
+  17
+  18
+  19
+  20
+  21
+  22
+  23
+  24
+  25
+  26
+  27
+  28
+  29
+  30
+  31
+  32
+  33
+  34
+  35
+  36
+  37
+  38
+  39
+  40
+  41
+  42
+  43
+  44
+  45
+  46
+  47
+  48
+  49
+  50
+  51
+  52
+  53
+  54
+  55
+  56
+  57
+  58
+  59
+  60
+  61
+  62
+  63
+  64
+  65
+  66
+  67
+  68
+  69
+  70
+  71
+  72
+  73
+  74
+  75
+  76
+  77
+  78
+  79
+  80
+  81
+  82
+  83
+  84
+  85
+  86
+  87
+  88
+  89
+  90
+  91
+  92
+  93
+  94
+  95
+  96
+  97
+  98
+  99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+
+use std::fmt;
+use std::vec::Vec;
+use std::boxed::Box;
+use io;
+use super::{
+	Serialize, Deserialize, Error,
+	Uint8, VarUint32, CountedList, BlockType,
+	Uint32, Uint64, CountedListWriter,
+	VarInt32, VarInt64,
+};
+
+/// List of instructions (usually inside a block section).
+#[derive(Debug, Clone, PartialEq)]
+pub struct Instructions(Vec<Instruction>);
+
+impl Instructions {
+	/// New list of instructions from vector of instructions.
+	pub fn new(elements: Vec<Instruction>) -> Self {
+		Instructions(elements)
+	}
+
+	/// Empty expression with only `Instruction::End` instruction.
+	pub fn empty() -> Self {
+		Instructions(vec![Instruction::End])
+	}
+
+	/// List of individual instructions.
+	pub fn elements(&self) -> &[Instruction] { &self.0 }
+
+	/// Individual instructions, mutable.
+	pub fn elements_mut(&mut self) -> &mut Vec<Instruction> { &mut self.0 }
+}
+
+impl Deserialize for Instructions {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut instructions = Vec::new();
+		let mut block_count = 1usize;
+
+		loop {
+			let instruction = Instruction::deserialize(reader)?;
+			if instruction.is_terminal() {
+				block_count -= 1;
+			} else if instruction.is_block() {
+				block_count = block_count.checked_add(1).ok_or(Error::Other("too many instructions"))?;
+			}
+
+			instructions.push(instruction);
+			if block_count == 0 {
+				break;
+			}
+		}
+
+		Ok(Instructions(instructions))
+	}
+}
+
+/// Initialization expression.
+#[derive(Debug, Clone, PartialEq)]
+pub struct InitExpr(Vec<Instruction>);
+
+impl InitExpr {
+	/// New initialization expression from instruction list.
+	///   `code` must end with the `Instruction::End` instruction!
+	pub fn new(code: Vec<Instruction>) -> Self {
+		InitExpr(code)
+	}
+
+	/// Empty expression with only `Instruction::End` instruction
+	pub fn empty() -> Self {
+		InitExpr(vec![Instruction::End])
+	}
+
+	/// List of instructions used in the expression.
+	pub fn code(&self) -> &[Instruction] {
+		&self.0
+	}
+
+	/// List of instructions used in the expression.
+	pub fn code_mut(&mut self) -> &mut Vec<Instruction> {
+		&mut self.0
+	}
+}
+
+impl Deserialize for InitExpr {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut instructions = Vec::new();
+
+		loop {
+			let instruction = Instruction::deserialize(reader)?;
+			let is_terminal = instruction.is_terminal();
+			instructions.push(instruction);
+			if is_terminal {
+				break;
+			}
+		}
+
+		Ok(InitExpr(instructions))
+	}
+}
+
+/// Instruction
+#[derive(Clone, Debug, PartialEq)]
+#[allow(missing_docs)]
+pub enum Instruction {
+	Unreachable,
+	Nop,
+	Block(BlockType),
+	Loop(BlockType),
+	If(BlockType),
+	Else,
+	End,
+	Br(u32),
+	BrIf(u32),
+	BrTable(Box<BrTableData>),
+	Return,
+
+	Call(u32),
+	CallIndirect(u32, u8),
+
+	Drop,
+	Select,
+
+	GetLocal(u32),
+	SetLocal(u32),
+	TeeLocal(u32),
+	GetGlobal(u32),
+	SetGlobal(u32),
+
+	// All store/load instructions operate with 'memory immediates'
+	// which represented here as (flag, offset) tuple
+	I32Load(u32, u32),
+	I64Load(u32, u32),
+	F32Load(u32, u32),
+	F64Load(u32, u32),
+	I32Load8S(u32, u32),
+	I32Load8U(u32, u32),
+	I32Load16S(u32, u32),
+	I32Load16U(u32, u32),
+	I64Load8S(u32, u32),
+	I64Load8U(u32, u32),
+	I64Load16S(u32, u32),
+	I64Load16U(u32, u32),
+	I64Load32S(u32, u32),
+	I64Load32U(u32, u32),
+	I32Store(u32, u32),
+	I64Store(u32, u32),
+	F32Store(u32, u32),
+	F64Store(u32, u32),
+	I32Store8(u32, u32),
+	I32Store16(u32, u32),
+	I64Store8(u32, u32),
+	I64Store16(u32, u32),
+	I64Store32(u32, u32),
+
+	CurrentMemory(u8),
+	GrowMemory(u8),
+
+	I32Const(i32),
+	I64Const(i64),
+	F32Const(u32),
+	F64Const(u64),
+
+	I32Eqz,
+	I32Eq,
+	I32Ne,
+	I32LtS,
+	I32LtU,
+	I32GtS,
+	I32GtU,
+	I32LeS,
+	I32LeU,
+	I32GeS,
+	I32GeU,
+
+	I64Eqz,
+	I64Eq,
+	I64Ne,
+	I64LtS,
+	I64LtU,
+	I64GtS,
+	I64GtU,
+	I64LeS,
+	I64LeU,
+	I64GeS,
+	I64GeU,
+
+	F32Eq,
+	F32Ne,
+	F32Lt,
+	F32Gt,
+	F32Le,
+	F32Ge,
+
+	F64Eq,
+	F64Ne,
+	F64Lt,
+	F64Gt,
+	F64Le,
+	F64Ge,
+
+	I32Clz,
+	I32Ctz,
+	I32Popcnt,
+	I32Add,
+	I32Sub,
+	I32Mul,
+	I32DivS,
+	I32DivU,
+	I32RemS,
+	I32RemU,
+	I32And,
+	I32Or,
+	I32Xor,
+	I32Shl,
+	I32ShrS,
+	I32ShrU,
+	I32Rotl,
+	I32Rotr,
+
+	I64Clz,
+	I64Ctz,
+	I64Popcnt,
+	I64Add,
+	I64Sub,
+	I64Mul,
+	I64DivS,
+	I64DivU,
+	I64RemS,
+	I64RemU,
+	I64And,
+	I64Or,
+	I64Xor,
+	I64Shl,
+	I64ShrS,
+	I64ShrU,
+	I64Rotl,
+	I64Rotr,
+	F32Abs,
+	F32Neg,
+	F32Ceil,
+	F32Floor,
+	F32Trunc,
+	F32Nearest,
+	F32Sqrt,
+	F32Add,
+	F32Sub,
+	F32Mul,
+	F32Div,
+	F32Min,
+	F32Max,
+	F32Copysign,
+	F64Abs,
+	F64Neg,
+	F64Ceil,
+	F64Floor,
+	F64Trunc,
+	F64Nearest,
+	F64Sqrt,
+	F64Add,
+	F64Sub,
+	F64Mul,
+	F64Div,
+	F64Min,
+	F64Max,
+	F64Copysign,
+
+	I32WrapI64,
+	I32TruncSF32,
+	I32TruncUF32,
+	I32TruncSF64,
+	I32TruncUF64,
+	I64ExtendSI32,
+	I64ExtendUI32,
+	I64TruncSF32,
+	I64TruncUF32,
+	I64TruncSF64,
+	I64TruncUF64,
+	F32ConvertSI32,
+	F32ConvertUI32,
+	F32ConvertSI64,
+	F32ConvertUI64,
+	F32DemoteF64,
+	F64ConvertSI32,
+	F64ConvertUI32,
+	F64ConvertSI64,
+	F64ConvertUI64,
+	F64PromoteF32,
+
+	I32ReinterpretF32,
+	I64ReinterpretF64,
+	F32ReinterpretI32,
+	F64ReinterpretI64,
+
+	I32Extend8S,
+	I32Extend16S,
+	I64Extend8S,
+	I64Extend16S,
+	I64Extend32S,
+
+	AtomicWake(MemArg),
+	I32AtomicWait(MemArg),
+	I64AtomicWait(MemArg),
+
+	I32AtomicLoad(MemArg),
+	I64AtomicLoad(MemArg),
+	I32AtomicLoad8u(MemArg),
+	I32AtomicLoad16u(MemArg),
+	I64AtomicLoad8u(MemArg),
+	I64AtomicLoad16u(MemArg),
+	I64AtomicLoad32u(MemArg),
+	I32AtomicStore(MemArg),
+	I64AtomicStore(MemArg),
+	I32AtomicStore8u(MemArg),
+	I32AtomicStore16u(MemArg),
+	I64AtomicStore8u(MemArg),
+	I64AtomicStore16u(MemArg),
+	I64AtomicStore32u(MemArg),
+
+	I32AtomicRmwAdd(MemArg),
+	I64AtomicRmwAdd(MemArg),
+	I32AtomicRmwAdd8u(MemArg),
+	I32AtomicRmwAdd16u(MemArg),
+	I64AtomicRmwAdd8u(MemArg),
+	I64AtomicRmwAdd16u(MemArg),
+	I64AtomicRmwAdd32u(MemArg),
+
+	I32AtomicRmwSub(MemArg),
+	I64AtomicRmwSub(MemArg),
+	I32AtomicRmwSub8u(MemArg),
+	I32AtomicRmwSub16u(MemArg),
+	I64AtomicRmwSub8u(MemArg),
+	I64AtomicRmwSub16u(MemArg),
+	I64AtomicRmwSub32u(MemArg),
+
+	I32AtomicRmwAnd(MemArg),
+	I64AtomicRmwAnd(MemArg),
+	I32AtomicRmwAnd8u(MemArg),
+	I32AtomicRmwAnd16u(MemArg),
+	I64AtomicRmwAnd8u(MemArg),
+	I64AtomicRmwAnd16u(MemArg),
+	I64AtomicRmwAnd32u(MemArg),
+
+	I32AtomicRmwOr(MemArg),
+	I64AtomicRmwOr(MemArg),
+	I32AtomicRmwOr8u(MemArg),
+	I32AtomicRmwOr16u(MemArg),
+	I64AtomicRmwOr8u(MemArg),
+	I64AtomicRmwOr16u(MemArg),
+	I64AtomicRmwOr32u(MemArg),
+
+	I32AtomicRmwXor(MemArg),
+	I64AtomicRmwXor(MemArg),
+	I32AtomicRmwXor8u(MemArg),
+	I32AtomicRmwXor16u(MemArg),
+	I64AtomicRmwXor8u(MemArg),
+	I64AtomicRmwXor16u(MemArg),
+	I64AtomicRmwXor32u(MemArg),
+
+	I32AtomicRmwXchg(MemArg),
+	I64AtomicRmwXchg(MemArg),
+	I32AtomicRmwXchg8u(MemArg),
+	I32AtomicRmwXchg16u(MemArg),
+	I64AtomicRmwXchg8u(MemArg),
+	I64AtomicRmwXchg16u(MemArg),
+	I64AtomicRmwXchg32u(MemArg),
+
+	I32AtomicRmwCmpxchg(MemArg),
+	I64AtomicRmwCmpxchg(MemArg),
+	I32AtomicRmwCmpxchg8u(MemArg),
+	I32AtomicRmwCmpxchg16u(MemArg),
+	I64AtomicRmwCmpxchg8u(MemArg),
+	I64AtomicRmwCmpxchg16u(MemArg),
+	I64AtomicRmwCmpxchg32u(MemArg),
+
+	V128Const(Box<[u8; 16]>),
+	V128Load(MemArg),
+	V128Store(MemArg),
+	I8x16Splat,
+	I16x8Splat,
+	I32x4Splat,
+	I64x2Splat,
+	F32x4Splat,
+	F64x2Splat,
+	I8x16ExtractLaneS(u8),
+	I8x16ExtractLaneU(u8),
+	I16x8ExtractLaneS(u8),
+	I16x8ExtractLaneU(u8),
+	I32x4ExtractLane(u8),
+	I64x2ExtractLane(u8),
+	F32x4ExtractLane(u8),
+	F64x2ExtractLane(u8),
+	I8x16ReplaceLane(u8),
+	I16x8ReplaceLane(u8),
+	I32x4ReplaceLane(u8),
+	I64x2ReplaceLane(u8),
+	F32x4ReplaceLane(u8),
+	F64x2ReplaceLane(u8),
+	V8x16Shuffle(Box<[u8; 16]>),
+	I8x16Add,
+	I16x8Add,
+	I32x4Add,
+	I64x2Add,
+	I8x16Sub,
+	I16x8Sub,
+	I32x4Sub,
+	I64x2Sub,
+	I8x16Mul,
+	I16x8Mul,
+	I32x4Mul,
+	// I64x2Mul,
+	I8x16Neg,
+	I16x8Neg,
+	I32x4Neg,
+	I64x2Neg,
+	I8x16AddSaturateS,
+	I8x16AddSaturateU,
+	I16x8AddSaturateS,
+	I16x8AddSaturateU,
+	I8x16SubSaturateS,
+	I8x16SubSaturateU,
+	I16x8SubSaturateS,
+	I16x8SubSaturateU,
+	I8x16Shl,
+	I16x8Shl,
+	I32x4Shl,
+	I64x2Shl,
+	I8x16ShrS,
+	I8x16ShrU,
+	I16x8ShrS,
+	I16x8ShrU,
+	I32x4ShrS,
+	I32x4ShrU,
+	I64x2ShrS,
+	I64x2ShrU,
+	V128And,
+	V128Or,
+	V128Xor,
+	V128Not,
+	V128Bitselect,
+	I8x16AnyTrue,
+	I16x8AnyTrue,
+	I32x4AnyTrue,
+	I64x2AnyTrue,
+	I8x16AllTrue,
+	I16x8AllTrue,
+	I32x4AllTrue,
+	I64x2AllTrue,
+	I8x16Eq,
+	I16x8Eq,
+	I32x4Eq,
+	// I64x2Eq,
+	F32x4Eq,
+	F64x2Eq,
+	I8x16Ne,
+	I16x8Ne,
+	I32x4Ne,
+	// I64x2Ne,
+	F32x4Ne,
+	F64x2Ne,
+	I8x16LtS,
+	I8x16LtU,
+	I16x8LtS,
+	I16x8LtU,
+	I32x4LtS,
+	I32x4LtU,
+	// I64x2LtS,
+	// I64x2LtU,
+	F32x4Lt,
+	F64x2Lt,
+	I8x16LeS,
+	I8x16LeU,
+	I16x8LeS,
+	I16x8LeU,
+	I32x4LeS,
+	I32x4LeU,
+	// I64x2LeS,
+	// I64x2LeU,
+	F32x4Le,
+	F64x2Le,
+	I8x16GtS,
+	I8x16GtU,
+	I16x8GtS,
+	I16x8GtU,
+	I32x4GtS,
+	I32x4GtU,
+	// I64x2GtS,
+	// I64x2GtU,
+	F32x4Gt,
+	F64x2Gt,
+	I8x16GeS,
+	I8x16GeU,
+	I16x8GeS,
+	I16x8GeU,
+	I32x4GeS,
+	I32x4GeU,
+	// I64x2GeS,
+	// I64x2GeU,
+	F32x4Ge,
+	F64x2Ge,
+	F32x4Neg,
+	F64x2Neg,
+	F32x4Abs,
+	F64x2Abs,
+	F32x4Min,
+	F64x2Min,
+	F32x4Max,
+	F64x2Max,
+	F32x4Add,
+	F64x2Add,
+	F32x4Sub,
+	F64x2Sub,
+	F32x4Div,
+	F64x2Div,
+	F32x4Mul,
+	F64x2Mul,
+	F32x4Sqrt,
+	F64x2Sqrt,
+	F32x4ConvertSI32x4,
+	F32x4ConvertUI32x4,
+	F64x2ConvertSI64x2,
+	F64x2ConvertUI64x2,
+	I32x4TruncSF32x4Sat,
+	I32x4TruncUF32x4Sat,
+	I64x2TruncSF64x2Sat,
+	I64x2TruncUF64x2Sat,
+}
+
+#[derive(Clone, Debug, PartialEq)]
+#[allow(missing_docs)]
+pub struct MemArg {
+	pub align: u8,
+	pub offset: u32,
+}
+
+#[derive(Clone, Debug, PartialEq)]
+#[allow(missing_docs)]
+pub struct BrTableData {
+	pub table: Box<[u32]>,
+	pub default: u32,
+}
+
+impl Instruction {
+	/// Is this instruction starts the new block (which should end with terminal instruction).
+	pub fn is_block(&self) -> bool {
+		match self {
+			&Instruction::Block(_) | &Instruction::Loop(_) | &Instruction::If(_) => true,
+			_ => false,
+		}
+	}
+
+	/// Is this instruction determines the termination of instruction sequence
+	/// `true` for `Instruction::End`
+	pub fn is_terminal(&self) -> bool {
+		match self {
+			&Instruction::End => true,
+			_ => false,
+		}
+	}
+}
+
+#[allow(missing_docs)]
+pub mod opcodes {
+	pub const UNREACHABLE: u8 = 0x00;
+	pub const NOP: u8 = 0x01;
+	pub const BLOCK: u8 = 0x02;
+	pub const LOOP: u8 = 0x03;
+	pub const IF: u8 = 0x04;
+	pub const ELSE: u8 = 0x05;
+	pub const END: u8 = 0x0b;
+	pub const BR: u8 = 0x0c;
+	pub const BRIF: u8 = 0x0d;
+	pub const BRTABLE: u8 = 0x0e;
+	pub const RETURN: u8 = 0x0f;
+	pub const CALL: u8 = 0x10;
+	pub const CALLINDIRECT: u8 = 0x11;
+	pub const DROP: u8 = 0x1a;
+	pub const SELECT: u8 = 0x1b;
+	pub const GETLOCAL: u8 = 0x20;
+	pub const SETLOCAL: u8 = 0x21;
+	pub const TEELOCAL: u8 = 0x22;
+	pub const GETGLOBAL: u8 = 0x23;
+	pub const SETGLOBAL: u8 = 0x24;
+	pub const I32LOAD: u8 = 0x28;
+	pub const I64LOAD: u8 = 0x29;
+	pub const F32LOAD: u8 = 0x2a;
+	pub const F64LOAD: u8 = 0x2b;
+	pub const I32LOAD8S: u8 = 0x2c;
+	pub const I32LOAD8U: u8 = 0x2d;
+	pub const I32LOAD16S: u8 = 0x2e;
+	pub const I32LOAD16U: u8 = 0x2f;
+	pub const I64LOAD8S: u8 = 0x30;
+	pub const I64LOAD8U: u8 = 0x31;
+	pub const I64LOAD16S: u8 = 0x32;
+	pub const I64LOAD16U: u8 = 0x33;
+	pub const I64LOAD32S: u8 = 0x34;
+	pub const I64LOAD32U: u8 = 0x35;
+	pub const I32STORE: u8 = 0x36;
+	pub const I64STORE: u8 = 0x37;
+	pub const F32STORE: u8 = 0x38;
+	pub const F64STORE: u8 = 0x39;
+	pub const I32STORE8: u8 = 0x3a;
+	pub const I32STORE16: u8 = 0x3b;
+	pub const I64STORE8: u8 = 0x3c;
+	pub const I64STORE16: u8 = 0x3d;
+	pub const I64STORE32: u8 = 0x3e;
+	pub const CURRENTMEMORY: u8 = 0x3f;
+	pub const GROWMEMORY: u8 = 0x40;
+	pub const I32CONST: u8 = 0x41;
+	pub const I64CONST: u8 = 0x42;
+	pub const F32CONST: u8 = 0x43;
+	pub const F64CONST: u8 = 0x44;
+	pub const I32EQZ: u8 = 0x45;
+	pub const I32EQ: u8 = 0x46;
+	pub const I32NE: u8 = 0x47;
+	pub const I32LTS: u8 = 0x48;
+	pub const I32LTU: u8 = 0x49;
+	pub const I32GTS: u8 = 0x4a;
+	pub const I32GTU: u8 = 0x4b;
+	pub const I32LES: u8 = 0x4c;
+	pub const I32LEU: u8 = 0x4d;
+	pub const I32GES: u8 = 0x4e;
+	pub const I32GEU: u8 = 0x4f;
+	pub const I64EQZ: u8 = 0x50;
+	pub const I64EQ: u8 = 0x51;
+	pub const I64NE: u8 = 0x52;
+	pub const I64LTS: u8 = 0x53;
+	pub const I64LTU: u8 = 0x54;
+	pub const I64GTS: u8 = 0x55;
+	pub const I64GTU: u8 = 0x56;
+	pub const I64LES: u8 = 0x57;
+	pub const I64LEU: u8 = 0x58;
+	pub const I64GES: u8 = 0x59;
+	pub const I64GEU: u8 = 0x5a;
+
+	pub const F32EQ: u8 = 0x5b;
+	pub const F32NE: u8 = 0x5c;
+	pub const F32LT: u8 = 0x5d;
+	pub const F32GT: u8 = 0x5e;
+	pub const F32LE: u8 = 0x5f;
+	pub const F32GE: u8 = 0x60;
+
+	pub const F64EQ: u8 = 0x61;
+	pub const F64NE: u8 = 0x62;
+	pub const F64LT: u8 = 0x63;
+	pub const F64GT: u8 = 0x64;
+	pub const F64LE: u8 = 0x65;
+	pub const F64GE: u8 = 0x66;
+
+	pub const I32CLZ: u8 = 0x67;
+	pub const I32CTZ: u8 = 0x68;
+	pub const I32POPCNT: u8 = 0x69;
+	pub const I32ADD: u8 = 0x6a;
+	pub const I32SUB: u8 = 0x6b;
+	pub const I32MUL: u8 = 0x6c;
+	pub const I32DIVS: u8 = 0x6d;
+	pub const I32DIVU: u8 = 0x6e;
+	pub const I32REMS: u8 = 0x6f;
+	pub const I32REMU: u8 = 0x70;
+	pub const I32AND: u8 = 0x71;
+	pub const I32OR: u8 = 0x72;
+	pub const I32XOR: u8 = 0x73;
+	pub const I32SHL: u8 = 0x74;
+	pub const I32SHRS: u8 = 0x75;
+	pub const I32SHRU: u8 = 0x76;
+	pub const I32ROTL: u8 = 0x77;
+	pub const I32ROTR: u8 = 0x78;
+
+	pub const I64CLZ: u8 = 0x79;
+	pub const I64CTZ: u8 = 0x7a;
+	pub const I64POPCNT: u8 = 0x7b;
+	pub const I64ADD: u8 = 0x7c;
+	pub const I64SUB: u8 = 0x7d;
+	pub const I64MUL: u8 = 0x7e;
+	pub const I64DIVS: u8 = 0x7f;
+	pub const I64DIVU: u8 = 0x80;
+	pub const I64REMS: u8 = 0x81;
+	pub const I64REMU: u8 = 0x82;
+	pub const I64AND: u8 = 0x83;
+	pub const I64OR: u8 = 0x84;
+	pub const I64XOR: u8 = 0x85;
+	pub const I64SHL: u8 = 0x86;
+	pub const I64SHRS: u8 = 0x87;
+	pub const I64SHRU: u8 = 0x88;
+	pub const I64ROTL: u8 = 0x89;
+	pub const I64ROTR: u8 = 0x8a;
+	pub const F32ABS: u8 = 0x8b;
+	pub const F32NEG: u8 = 0x8c;
+	pub const F32CEIL: u8 = 0x8d;
+	pub const F32FLOOR: u8 = 0x8e;
+	pub const F32TRUNC: u8 = 0x8f;
+	pub const F32NEAREST: u8 = 0x90;
+	pub const F32SQRT: u8 = 0x91;
+	pub const F32ADD: u8 = 0x92;
+	pub const F32SUB: u8 = 0x93;
+	pub const F32MUL: u8 = 0x94;
+	pub const F32DIV: u8 = 0x95;
+	pub const F32MIN: u8 = 0x96;
+	pub const F32MAX: u8 = 0x97;
+	pub const F32COPYSIGN: u8 = 0x98;
+	pub const F64ABS: u8 = 0x99;
+	pub const F64NEG: u8 = 0x9a;
+	pub const F64CEIL: u8 = 0x9b;
+	pub const F64FLOOR: u8 = 0x9c;
+	pub const F64TRUNC: u8 = 0x9d;
+	pub const F64NEAREST: u8 = 0x9e;
+	pub const F64SQRT: u8 = 0x9f;
+	pub const F64ADD: u8 = 0xa0;
+	pub const F64SUB: u8 = 0xa1;
+	pub const F64MUL: u8 = 0xa2;
+	pub const F64DIV: u8 = 0xa3;
+	pub const F64MIN: u8 = 0xa4;
+	pub const F64MAX: u8 = 0xa5;
+	pub const F64COPYSIGN: u8 = 0xa6;
+
+	pub const I32WRAPI64: u8 = 0xa7;
+	pub const I32TRUNCSF32: u8 = 0xa8;
+	pub const I32TRUNCUF32: u8 = 0xa9;
+	pub const I32TRUNCSF64: u8 = 0xaa;
+	pub const I32TRUNCUF64: u8 = 0xab;
+	pub const I64EXTENDSI32: u8 = 0xac;
+	pub const I64EXTENDUI32: u8 = 0xad;
+	pub const I64TRUNCSF32: u8 = 0xae;
+	pub const I64TRUNCUF32: u8 = 0xaf;
+	pub const I64TRUNCSF64: u8 = 0xb0;
+	pub const I64TRUNCUF64: u8 = 0xb1;
+	pub const F32CONVERTSI32: u8 = 0xb2;
+	pub const F32CONVERTUI32: u8 = 0xb3;
+	pub const F32CONVERTSI64: u8 = 0xb4;
+	pub const F32CONVERTUI64: u8 = 0xb5;
+	pub const F32DEMOTEF64: u8 = 0xb6;
+	pub const F64CONVERTSI32: u8 = 0xb7;
+	pub const F64CONVERTUI32: u8 = 0xb8;
+	pub const F64CONVERTSI64: u8 = 0xb9;
+	pub const F64CONVERTUI64: u8 = 0xba;
+	pub const F64PROMOTEF32: u8 = 0xbb;
+
+	pub const I32REINTERPRETF32: u8 = 0xbc;
+	pub const I64REINTERPRETF64: u8 = 0xbd;
+	pub const F32REINTERPRETI32: u8 = 0xbe;
+	pub const F64REINTERPRETI64: u8 = 0xbf;
+
+	pub const I32_EXTEND8_S: u8 = 0xc0;
+	pub const I32_EXTEND16_S: u8 = 0xc1;
+	pub const I64_EXTEND8_S: u8 = 0xc2;
+	pub const I64_EXTEND16_S: u8 = 0xc3;
+	pub const I64_EXTEND32_S: u8 = 0xc4;
+
+	pub const ATOMIC_PREFIX: u8 = 0xfe;
+	pub const ATOMIC_WAKE: u8 = 0x00;
+	pub const I32_ATOMIC_WAIT: u8 = 0x01;
+	pub const I64_ATOMIC_WAIT: u8 = 0x02;
+
+	pub const I32_ATOMIC_LOAD: u8 = 0x10;
+	pub const I64_ATOMIC_LOAD: u8 = 0x11;
+	pub const I32_ATOMIC_LOAD8U: u8 = 0x12;
+	pub const I32_ATOMIC_LOAD16U: u8 = 0x13;
+	pub const I64_ATOMIC_LOAD8U: u8 = 0x14;
+	pub const I64_ATOMIC_LOAD16U: u8 = 0x15;
+	pub const I64_ATOMIC_LOAD32U: u8 = 0x16;
+	pub const I32_ATOMIC_STORE: u8 = 0x17;
+	pub const I64_ATOMIC_STORE: u8 = 0x18;
+	pub const I32_ATOMIC_STORE8U: u8 = 0x19;
+	pub const I32_ATOMIC_STORE16U: u8 = 0x1a;
+	pub const I64_ATOMIC_STORE8U: u8 = 0x1b;
+	pub const I64_ATOMIC_STORE16U: u8 = 0x1c;
+	pub const I64_ATOMIC_STORE32U: u8 = 0x1d;
+
+	pub const I32_ATOMIC_RMW_ADD: u8 = 0x1e;
+	pub const I64_ATOMIC_RMW_ADD: u8 = 0x1f;
+	pub const I32_ATOMIC_RMW_ADD8U: u8 = 0x20;
+	pub const I32_ATOMIC_RMW_ADD16U: u8 = 0x21;
+	pub const I64_ATOMIC_RMW_ADD8U: u8 = 0x22;
+	pub const I64_ATOMIC_RMW_ADD16U: u8 = 0x23;
+	pub const I64_ATOMIC_RMW_ADD32U: u8 = 0x24;
+
+	pub const I32_ATOMIC_RMW_SUB: u8 = 0x25;
+	pub const I64_ATOMIC_RMW_SUB: u8 = 0x26;
+	pub const I32_ATOMIC_RMW_SUB8U: u8 = 0x27;
+	pub const I32_ATOMIC_RMW_SUB16U: u8 = 0x28;
+	pub const I64_ATOMIC_RMW_SUB8U: u8 = 0x29;
+	pub const I64_ATOMIC_RMW_SUB16U: u8 = 0x2a;
+	pub const I64_ATOMIC_RMW_SUB32U: u8 = 0x2b;
+
+	pub const I32_ATOMIC_RMW_AND: u8 = 0x2c;
+	pub const I64_ATOMIC_RMW_AND: u8 = 0x2d;
+	pub const I32_ATOMIC_RMW_AND8U: u8 = 0x2e;
+	pub const I32_ATOMIC_RMW_AND16U: u8 = 0x2f;
+	pub const I64_ATOMIC_RMW_AND8U: u8 = 0x30;
+	pub const I64_ATOMIC_RMW_AND16U: u8 = 0x31;
+	pub const I64_ATOMIC_RMW_AND32U: u8 = 0x32;
+
+	pub const I32_ATOMIC_RMW_OR: u8 = 0x33;
+	pub const I64_ATOMIC_RMW_OR: u8 = 0x34;
+	pub const I32_ATOMIC_RMW_OR8U: u8 = 0x35;
+	pub const I32_ATOMIC_RMW_OR16U: u8 = 0x36;
+	pub const I64_ATOMIC_RMW_OR8U: u8 = 0x37;
+	pub const I64_ATOMIC_RMW_OR16U: u8 = 0x38;
+	pub const I64_ATOMIC_RMW_OR32U: u8 = 0x39;
+
+	pub const I32_ATOMIC_RMW_XOR: u8 = 0x3a;
+	pub const I64_ATOMIC_RMW_XOR: u8 = 0x3b;
+	pub const I32_ATOMIC_RMW_XOR8U: u8 = 0x3c;
+	pub const I32_ATOMIC_RMW_XOR16U: u8 = 0x3d;
+	pub const I64_ATOMIC_RMW_XOR8U: u8 = 0x3e;
+	pub const I64_ATOMIC_RMW_XOR16U: u8 = 0x3f;
+	pub const I64_ATOMIC_RMW_XOR32U: u8 = 0x40;
+
+	pub const I32_ATOMIC_RMW_XCHG: u8 = 0x41;
+	pub const I64_ATOMIC_RMW_XCHG: u8 = 0x42;
+	pub const I32_ATOMIC_RMW_XCHG8U: u8 = 0x43;
+	pub const I32_ATOMIC_RMW_XCHG16U: u8 = 0x44;
+	pub const I64_ATOMIC_RMW_XCHG8U: u8 = 0x45;
+	pub const I64_ATOMIC_RMW_XCHG16U: u8 = 0x46;
+	pub const I64_ATOMIC_RMW_XCHG32U: u8 = 0x47;
+
+	pub const I32_ATOMIC_RMW_CMPXCHG: u8 = 0x48;
+	pub const I64_ATOMIC_RMW_CMPXCHG: u8 = 0x49;
+	pub const I32_ATOMIC_RMW_CMPXCHG8U: u8 = 0x4a;
+	pub const I32_ATOMIC_RMW_CMPXCHG16U: u8 = 0x4b;
+	pub const I64_ATOMIC_RMW_CMPXCHG8U: u8 = 0x4c;
+	pub const I64_ATOMIC_RMW_CMPXCHG16U: u8 = 0x4d;
+	pub const I64_ATOMIC_RMW_CMPXCHG32U: u8 = 0x4e;
+
+	// https://github.com/WebAssembly/simd/blob/master/proposals/simd/BinarySIMD.md
+	pub const SIMD_PREFIX: u8 = 0xfd;
+
+	pub const V128_CONST: u32 = 0;
+	pub const V128_LOAD: u32 = 1;
+	pub const V128_STORE: u32 = 2;
+	pub const I8X16_SPLAT: u32 = 3;
+	pub const I16X8_SPLAT: u32 = 4;
+	pub const I32X4_SPLAT: u32 = 5;
+	pub const I64X2_SPLAT: u32 = 6;
+	pub const F32X4_SPLAT: u32 = 7;
+	pub const F64X2_SPLAT: u32 = 8;
+	pub const I8X16_EXTRACT_LANE_S: u32 = 9;
+	pub const I8X16_EXTRACT_LANE_U: u32 = 10;
+	pub const I16X8_EXTRACT_LANE_S: u32 = 11;
+	pub const I16X8_EXTRACT_LANE_U: u32 = 12;
+	pub const I32X4_EXTRACT_LANE: u32 = 13;
+	pub const I64X2_EXTRACT_LANE: u32 = 14;
+	pub const F32X4_EXTRACT_LANE: u32 = 15;
+	pub const F64X2_EXTRACT_LANE: u32 = 16;
+	pub const I8X16_REPLACE_LANE: u32 = 17;
+	pub const I16X8_REPLACE_LANE: u32 = 18;
+	pub const I32X4_REPLACE_LANE: u32 = 19;
+	pub const I64X2_REPLACE_LANE: u32 = 20;
+	pub const F32X4_REPLACE_LANE: u32 = 21;
+	pub const F64X2_REPLACE_LANE: u32 = 22;
+	pub const V8X16_SHUFFLE: u32 = 23;
+	pub const I8X16_ADD: u32 = 24;
+	pub const I16X8_ADD: u32 = 25;
+	pub const I32X4_ADD: u32 = 26;
+	pub const I64X2_ADD: u32 = 27;
+	pub const I8X16_SUB: u32 = 28;
+	pub const I16X8_SUB: u32 = 29;
+	pub const I32X4_SUB: u32 = 30;
+	pub const I64X2_SUB: u32 = 31;
+	pub const I8X16_MUL: u32 = 32;
+	pub const I16X8_MUL: u32 = 33;
+	pub const I32X4_MUL: u32 = 34;
+	// pub const I64X2_MUL: u32 = 35;
+	pub const I8X16_NEG: u32 = 36;
+	pub const I16X8_NEG: u32 = 37;
+	pub const I32X4_NEG: u32 = 38;
+	pub const I64X2_NEG: u32 = 39;
+
+	pub const I8X16_ADD_SATURATE_S: u32 = 40;
+	pub const I8X16_ADD_SATURATE_U: u32 = 41;
+	pub const I16X8_ADD_SATURATE_S: u32 = 42;
+	pub const I16X8_ADD_SATURATE_U: u32 = 43;
+	pub const I8X16_SUB_SATURATE_S: u32 = 44;
+	pub const I8X16_SUB_SATURATE_U: u32 = 45;
+	pub const I16X8_SUB_SATURATE_S: u32 = 46;
+	pub const I16X8_SUB_SATURATE_U: u32 = 47;
+	pub const I8X16_SHL: u32 = 48;
+	pub const I16X8_SHL: u32 = 49;
+	pub const I32X4_SHL: u32 = 50;
+	pub const I64X2_SHL: u32 = 51;
+	pub const I8X16_SHR_S: u32 = 52;
+	pub const I8X16_SHR_U: u32 = 53;
+	pub const I16X8_SHR_S: u32 = 54;
+	pub const I16X8_SHR_U: u32 = 55;
+	pub const I32X4_SHR_S: u32 = 56;
+	pub const I32X4_SHR_U: u32 = 57;
+	pub const I64X2_SHR_S: u32 = 58;
+	pub const I64X2_SHR_U: u32 = 59;
+	pub const V128_AND: u32 = 60;
+	pub const V128_OR: u32 = 61;
+	pub const V128_XOR: u32 = 62;
+	pub const V128_NOT: u32 = 63;
+	pub const V128_BITSELECT: u32 = 64;
+	pub const I8X16_ANY_TRUE: u32 = 65;
+	pub const I16X8_ANY_TRUE: u32 = 66;
+	pub const I32X4_ANY_TRUE: u32 = 67;
+	pub const I64X2_ANY_TRUE: u32 = 68;
+	pub const I8X16_ALL_TRUE: u32 = 69;
+	pub const I16X8_ALL_TRUE: u32 = 70;
+	pub const I32X4_ALL_TRUE: u32 = 71;
+	pub const I64X2_ALL_TRUE: u32 = 72;
+	pub const I8X16_EQ: u32 = 73;
+	pub const I16X8_EQ: u32 = 74;
+	pub const I32X4_EQ: u32 = 75;
+	// pub const I64X2_EQ: u32 = 76;
+	pub const F32X4_EQ: u32 = 77;
+	pub const F64X2_EQ: u32 = 78;
+	pub const I8X16_NE: u32 = 79;
+	pub const I16X8_NE: u32 = 80;
+	pub const I32X4_NE: u32 = 81;
+	// pub const I64X2_NE: u32 = 82;
+	pub const F32X4_NE: u32 = 83;
+	pub const F64X2_NE: u32 = 84;
+	pub const I8X16_LT_S: u32 = 85;
+	pub const I8X16_LT_U: u32 = 86;
+	pub const I16X8_LT_S: u32 = 87;
+	pub const I16X8_LT_U: u32 = 88;
+	pub const I32X4_LT_S: u32 = 89;
+	pub const I32X4_LT_U: u32 = 90;
+	pub const I64X2_LT_S: u32 = 91;
+	pub const I64X2_LT_U: u32 = 92;
+	pub const F32X4_LT: u32 = 93;
+	pub const F64X2_LT: u32 = 94;
+	pub const I8X16_LE_S: u32 = 95;
+	pub const I8X16_LE_U: u32 = 96;
+	pub const I16X8_LE_S: u32 = 97;
+	pub const I16X8_LE_U: u32 = 98;
+	pub const I32X4_LE_S: u32 = 99;
+	pub const I32X4_LE_U: u32 = 100;
+	pub const I64X2_LE_S: u32 = 101;
+	pub const I64X2_LE_U: u32 = 102;
+	pub const F32X4_LE: u32 = 103;
+	pub const F64X2_LE: u32 = 104;
+	pub const I8X16_GT_S: u32 = 105;
+	pub const I8X16_GT_U: u32 = 106;
+	pub const I16X8_GT_S: u32 = 107;
+	pub const I16X8_GT_U: u32 = 108;
+	pub const I32X4_GT_S: u32 = 109;
+	pub const I32X4_GT_U: u32 = 110;
+	pub const I64X2_GT_S: u32 = 111;
+	pub const I64X2_GT_U: u32 = 112;
+	pub const F32X4_GT: u32 = 113;
+	pub const F64X2_GT: u32 = 114;
+	pub const I8X16_GE_S: u32 = 115;
+	pub const I8X16_GE_U: u32 = 116;
+	pub const I16X8_GE_S: u32 = 117;
+	pub const I16X8_GE_U: u32 = 118;
+	pub const I32X4_GE_S: u32 = 119;
+	pub const I32X4_GE_U: u32 = 120;
+	pub const I64X2_GE_S: u32 = 121;
+	pub const I64X2_GE_U: u32 = 122;
+	pub const F32X4_GE: u32 = 123;
+	pub const F64X2_GE: u32 = 124;
+	pub const F32X4_NEG: u32 = 125;
+	pub const F64X2_NEG: u32 = 126;
+	pub const F32X4_ABS: u32 = 127;
+	pub const F64X2_ABS: u32 = 128;
+	pub const F32X4_MIN: u32 = 129;
+	pub const F64X2_MIN: u32 = 130;
+	pub const F32X4_MAX: u32 = 131;
+	pub const F64X2_MAX: u32 = 132;
+	pub const F32X4_ADD: u32 = 133;
+	pub const F64X2_ADD: u32 = 134;
+	pub const F32X4_SUB: u32 = 135;
+	pub const F64X2_SUB: u32 = 136;
+	pub const F32X4_DIV: u32 = 137;
+	pub const F64X2_DIV: u32 = 138;
+	pub const F32X4_MUL: u32 = 139;
+	pub const F64X2_MUL: u32 = 140;
+	pub const F32X4_SQRT: u32 = 141;
+	pub const F64X2_SQRT: u32 = 142;
+	pub const F32X4_CONVERT_S_I32X4: u32 = 143;
+	pub const F32X4_CONVERT_U_I32X4: u32 = 144;
+	pub const F64X2_CONVERT_S_I64X2: u32 = 145;
+	pub const F64X2_CONVERT_U_I64X2: u32 = 146;
+	pub const I32X4_TRUNC_S_F32X4_SAT: u32 = 147;
+	pub const I32X4_TRUNC_U_F32X4_SAT: u32 = 148;
+	pub const I64X2_TRUNC_S_F64X2_SAT: u32 = 149;
+	pub const I64X2_TRUNC_U_F64X2_SAT: u32 = 150;
+}
+
+impl Deserialize for Instruction {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		use self::Instruction::*;
+		use self::opcodes::*;
+
+		let val: u8 = Uint8::deserialize(reader)?.into();
+
+		Ok(
+			match val {
+				UNREACHABLE => Unreachable,
+				NOP => Nop,
+				BLOCK => Block(BlockType::deserialize(reader)?),
+				LOOP => Loop(BlockType::deserialize(reader)?),
+				IF => If(BlockType::deserialize(reader)?),
+				ELSE => Else,
+				END => End,
+
+				BR => Br(VarUint32::deserialize(reader)?.into()),
+				BRIF => BrIf(VarUint32::deserialize(reader)?.into()),
+				BRTABLE => {
+					let t1: Vec<u32> = CountedList::<VarUint32>::deserialize(reader)?
+						.into_inner()
+						.into_iter()
+						.map(Into::into)
+						.collect();
+
+					BrTable(Box::new(BrTableData {
+						table: t1.into_boxed_slice(),
+						default: VarUint32::deserialize(reader)?.into(),
+					}))
+				},
+				RETURN => Return,
+				CALL => Call(VarUint32::deserialize(reader)?.into()),
+				CALLINDIRECT => {
+					let signature: u32 = VarUint32::deserialize(reader)?.into();
+					let table_ref: u8 = Uint8::deserialize(reader)?.into();
+					if table_ref != 0 { return Err(Error::InvalidTableReference(table_ref)); }
+
+					CallIndirect(
+						signature,
+						table_ref,
+					)
+				},
+				DROP => Drop,
+				SELECT => Select,
+
+				GETLOCAL => GetLocal(VarUint32::deserialize(reader)?.into()),
+				SETLOCAL => SetLocal(VarUint32::deserialize(reader)?.into()),
+				TEELOCAL => TeeLocal(VarUint32::deserialize(reader)?.into()),
+				GETGLOBAL => GetGlobal(VarUint32::deserialize(reader)?.into()),
+				SETGLOBAL => SetGlobal(VarUint32::deserialize(reader)?.into()),
+
+				I32LOAD => I32Load(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I64LOAD => I64Load(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				F32LOAD => F32Load(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				F64LOAD => F64Load(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I32LOAD8S => I32Load8S(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I32LOAD8U => I32Load8U(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I32LOAD16S => I32Load16S(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I32LOAD16U => I32Load16U(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I64LOAD8S => I64Load8S(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I64LOAD8U => I64Load8U(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I64LOAD16S => I64Load16S(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I64LOAD16U => I64Load16U(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I64LOAD32S => I64Load32S(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I64LOAD32U => I64Load32U(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I32STORE => I32Store(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I64STORE => I64Store(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				F32STORE => F32Store(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				F64STORE => F64Store(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I32STORE8 => I32Store8(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I32STORE16 => I32Store16(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I64STORE8 => I64Store8(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I64STORE16 => I64Store16(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+				I64STORE32 => I64Store32(
+					VarUint32::deserialize(reader)?.into(),
+					VarUint32::deserialize(reader)?.into()),
+
+
+				CURRENTMEMORY => {
+					let mem_ref: u8 = Uint8::deserialize(reader)?.into();
+					if mem_ref != 0 { return Err(Error::InvalidMemoryReference(mem_ref)); }
+					CurrentMemory(mem_ref)
+				},
+				GROWMEMORY => {
+					let mem_ref: u8 = Uint8::deserialize(reader)?.into();
+					if mem_ref != 0 { return Err(Error::InvalidMemoryReference(mem_ref)); }
+					GrowMemory(mem_ref)
+				}
+
+				I32CONST => I32Const(VarInt32::deserialize(reader)?.into()),
+				I64CONST => I64Const(VarInt64::deserialize(reader)?.into()),
+				F32CONST => F32Const(Uint32::deserialize(reader)?.into()),
+				F64CONST => F64Const(Uint64::deserialize(reader)?.into()),
+				I32EQZ => I32Eqz,
+				I32EQ => I32Eq,
+				I32NE => I32Ne,
+				I32LTS => I32LtS,
+				I32LTU => I32LtU,
+				I32GTS => I32GtS,
+				I32GTU => I32GtU,
+				I32LES => I32LeS,
+				I32LEU => I32LeU,
+				I32GES => I32GeS,
+				I32GEU => I32GeU,
+
+				I64EQZ => I64Eqz,
+				I64EQ => I64Eq,
+				I64NE => I64Ne,
+				I64LTS => I64LtS,
+				I64LTU => I64LtU,
+				I64GTS => I64GtS,
+				I64GTU => I64GtU,
+				I64LES => I64LeS,
+				I64LEU => I64LeU,
+				I64GES => I64GeS,
+				I64GEU => I64GeU,
+
+				F32EQ => F32Eq,
+				F32NE => F32Ne,
+				F32LT => F32Lt,
+				F32GT => F32Gt,
+				F32LE => F32Le,
+				F32GE => F32Ge,
+
+				F64EQ => F64Eq,
+				F64NE => F64Ne,
+				F64LT => F64Lt,
+				F64GT => F64Gt,
+				F64LE => F64Le,
+				F64GE => F64Ge,
+
+				I32CLZ => I32Clz,
+				I32CTZ => I32Ctz,
+				I32POPCNT => I32Popcnt,
+				I32ADD => I32Add,
+				I32SUB => I32Sub,
+				I32MUL => I32Mul,
+				I32DIVS => I32DivS,
+				I32DIVU => I32DivU,
+				I32REMS => I32RemS,
+				I32REMU => I32RemU,
+				I32AND => I32And,
+				I32OR => I32Or,
+				I32XOR => I32Xor,
+				I32SHL => I32Shl,
+				I32SHRS => I32ShrS,
+				I32SHRU => I32ShrU,
+				I32ROTL => I32Rotl,
+				I32ROTR => I32Rotr,
+
+				I64CLZ => I64Clz,
+				I64CTZ => I64Ctz,
+				I64POPCNT => I64Popcnt,
+				I64ADD => I64Add,
+				I64SUB => I64Sub,
+				I64MUL => I64Mul,
+				I64DIVS => I64DivS,
+				I64DIVU => I64DivU,
+				I64REMS => I64RemS,
+				I64REMU => I64RemU,
+				I64AND => I64And,
+				I64OR => I64Or,
+				I64XOR => I64Xor,
+				I64SHL => I64Shl,
+				I64SHRS => I64ShrS,
+				I64SHRU => I64ShrU,
+				I64ROTL => I64Rotl,
+				I64ROTR => I64Rotr,
+				F32ABS => F32Abs,
+				F32NEG => F32Neg,
+				F32CEIL => F32Ceil,
+				F32FLOOR => F32Floor,
+				F32TRUNC => F32Trunc,
+				F32NEAREST => F32Nearest,
+				F32SQRT => F32Sqrt,
+				F32ADD => F32Add,
+				F32SUB => F32Sub,
+				F32MUL => F32Mul,
+				F32DIV => F32Div,
+				F32MIN => F32Min,
+				F32MAX => F32Max,
+				F32COPYSIGN => F32Copysign,
+				F64ABS => F64Abs,
+				F64NEG => F64Neg,
+				F64CEIL => F64Ceil,
+				F64FLOOR => F64Floor,
+				F64TRUNC => F64Trunc,
+				F64NEAREST => F64Nearest,
+				F64SQRT => F64Sqrt,
+				F64ADD => F64Add,
+				F64SUB => F64Sub,
+				F64MUL => F64Mul,
+				F64DIV => F64Div,
+				F64MIN => F64Min,
+				F64MAX => F64Max,
+				F64COPYSIGN => F64Copysign,
+
+				I32WRAPI64 => I32WrapI64,
+				I32TRUNCSF32 => I32TruncSF32,
+				I32TRUNCUF32 => I32TruncUF32,
+				I32TRUNCSF64 => I32TruncSF64,
+				I32TRUNCUF64 => I32TruncUF64,
+				I64EXTENDSI32 => I64ExtendSI32,
+				I64EXTENDUI32 => I64ExtendUI32,
+				I64TRUNCSF32 => I64TruncSF32,
+				I64TRUNCUF32 => I64TruncUF32,
+				I64TRUNCSF64 => I64TruncSF64,
+				I64TRUNCUF64 => I64TruncUF64,
+				F32CONVERTSI32 => F32ConvertSI32,
+				F32CONVERTUI32 => F32ConvertUI32,
+				F32CONVERTSI64 => F32ConvertSI64,
+				F32CONVERTUI64 => F32ConvertUI64,
+				F32DEMOTEF64 => F32DemoteF64,
+				F64CONVERTSI32 => F64ConvertSI32,
+				F64CONVERTUI32 => F64ConvertUI32,
+				F64CONVERTSI64 => F64ConvertSI64,
+				F64CONVERTUI64 => F64ConvertUI64,
+				F64PROMOTEF32 => F64PromoteF32,
+
+				I32REINTERPRETF32 => I32ReinterpretF32,
+				I64REINTERPRETF64 => I64ReinterpretF64,
+				F32REINTERPRETI32 => F32ReinterpretI32,
+				F64REINTERPRETI64 => F64ReinterpretI64,
+				I32_EXTEND8_S => I32Extend8S,
+				I32_EXTEND16_S => I32Extend16S,
+				I64_EXTEND8_S => I64Extend8S,
+				I64_EXTEND16_S => I64Extend16S,
+				I64_EXTEND32_S => I64Extend32S,
+
+				ATOMIC_PREFIX => return deserialize_atomic(reader),
+				SIMD_PREFIX => return deserialize_simd(reader),
+
+				_ => { return Err(Error::UnknownOpcode(val)); }
+			}
+		)
+	}
+}
+fn deserialize_atomic<R: io::Read>(reader: &mut R) -> Result<Instruction, Error> {
+	use self::Instruction::*;
+	use self::opcodes::*;
+
+	let val: u8 = Uint8::deserialize(reader)?.into();
+	let mem = MemArg::deserialize(reader)?;
+	Ok(match val {
+		ATOMIC_WAKE => AtomicWake(mem),
+		I32_ATOMIC_WAIT => I32AtomicWait(mem),
+		I64_ATOMIC_WAIT => I64AtomicWait(mem),
+
+		I32_ATOMIC_LOAD => I32AtomicLoad(mem),
+		I64_ATOMIC_LOAD => I64AtomicLoad(mem),
+		I32_ATOMIC_LOAD8U => I32AtomicLoad8u(mem),
+		I32_ATOMIC_LOAD16U => I32AtomicLoad16u(mem),
+		I64_ATOMIC_LOAD8U => I64AtomicLoad8u(mem),
+		I64_ATOMIC_LOAD16U => I64AtomicLoad16u(mem),
+		I64_ATOMIC_LOAD32U => I64AtomicLoad32u(mem),
+		I32_ATOMIC_STORE => I32AtomicStore(mem),
+		I64_ATOMIC_STORE => I64AtomicStore(mem),
+		I32_ATOMIC_STORE8U => I32AtomicStore8u(mem),
+		I32_ATOMIC_STORE16U => I32AtomicStore16u(mem),
+		I64_ATOMIC_STORE8U => I64AtomicStore8u(mem),
+		I64_ATOMIC_STORE16U => I64AtomicStore16u(mem),
+		I64_ATOMIC_STORE32U => I64AtomicStore32u(mem),
+
+		I32_ATOMIC_RMW_ADD => I32AtomicRmwAdd(mem),
+		I64_ATOMIC_RMW_ADD => I64AtomicRmwAdd(mem),
+		I32_ATOMIC_RMW_ADD8U => I32AtomicRmwAdd8u(mem),
+		I32_ATOMIC_RMW_ADD16U => I32AtomicRmwAdd16u(mem),
+		I64_ATOMIC_RMW_ADD8U => I64AtomicRmwAdd8u(mem),
+		I64_ATOMIC_RMW_ADD16U => I64AtomicRmwAdd16u(mem),
+		I64_ATOMIC_RMW_ADD32U => I64AtomicRmwAdd32u(mem),
+
+		I32_ATOMIC_RMW_SUB => I32AtomicRmwSub(mem),
+		I64_ATOMIC_RMW_SUB => I64AtomicRmwSub(mem),
+		I32_ATOMIC_RMW_SUB8U => I32AtomicRmwSub8u(mem),
+		I32_ATOMIC_RMW_SUB16U => I32AtomicRmwSub16u(mem),
+		I64_ATOMIC_RMW_SUB8U => I64AtomicRmwSub8u(mem),
+		I64_ATOMIC_RMW_SUB16U => I64AtomicRmwSub16u(mem),
+		I64_ATOMIC_RMW_SUB32U => I64AtomicRmwSub32u(mem),
+
+		I32_ATOMIC_RMW_OR => I32AtomicRmwOr(mem),
+		I64_ATOMIC_RMW_OR => I64AtomicRmwOr(mem),
+		I32_ATOMIC_RMW_OR8U => I32AtomicRmwOr8u(mem),
+		I32_ATOMIC_RMW_OR16U => I32AtomicRmwOr16u(mem),
+		I64_ATOMIC_RMW_OR8U => I64AtomicRmwOr8u(mem),
+		I64_ATOMIC_RMW_OR16U => I64AtomicRmwOr16u(mem),
+		I64_ATOMIC_RMW_OR32U => I64AtomicRmwOr32u(mem),
+
+		I32_ATOMIC_RMW_XOR => I32AtomicRmwXor(mem),
+		I64_ATOMIC_RMW_XOR => I64AtomicRmwXor(mem),
+		I32_ATOMIC_RMW_XOR8U => I32AtomicRmwXor8u(mem),
+		I32_ATOMIC_RMW_XOR16U => I32AtomicRmwXor16u(mem),
+		I64_ATOMIC_RMW_XOR8U => I64AtomicRmwXor8u(mem),
+		I64_ATOMIC_RMW_XOR16U => I64AtomicRmwXor16u(mem),
+		I64_ATOMIC_RMW_XOR32U => I64AtomicRmwXor32u(mem),
+
+		I32_ATOMIC_RMW_XCHG => I32AtomicRmwXchg(mem),
+		I64_ATOMIC_RMW_XCHG => I64AtomicRmwXchg(mem),
+		I32_ATOMIC_RMW_XCHG8U => I32AtomicRmwXchg8u(mem),
+		I32_ATOMIC_RMW_XCHG16U => I32AtomicRmwXchg16u(mem),
+		I64_ATOMIC_RMW_XCHG8U => I64AtomicRmwXchg8u(mem),
+		I64_ATOMIC_RMW_XCHG16U => I64AtomicRmwXchg16u(mem),
+		I64_ATOMIC_RMW_XCHG32U => I64AtomicRmwXchg32u(mem),
+
+		I32_ATOMIC_RMW_CMPXCHG => I32AtomicRmwCmpxchg(mem),
+		I64_ATOMIC_RMW_CMPXCHG => I64AtomicRmwCmpxchg(mem),
+		I32_ATOMIC_RMW_CMPXCHG8U => I32AtomicRmwCmpxchg8u(mem),
+		I32_ATOMIC_RMW_CMPXCHG16U => I32AtomicRmwCmpxchg16u(mem),
+		I64_ATOMIC_RMW_CMPXCHG8U => I64AtomicRmwCmpxchg8u(mem),
+		I64_ATOMIC_RMW_CMPXCHG16U => I64AtomicRmwCmpxchg16u(mem),
+		I64_ATOMIC_RMW_CMPXCHG32U => I64AtomicRmwCmpxchg32u(mem),
+
+		_ => return Err(Error::UnknownOpcode(val)),
+	})
+}
+
+fn deserialize_simd<R: io::Read>(reader: &mut R) -> Result<Instruction, Error> {
+	use self::Instruction::*;
+	use self::opcodes::*;
+
+	let val = VarUint32::deserialize(reader)?.into();
+	Ok(match val {
+		V128_CONST => {
+			let mut buf = [0; 16];
+			reader.read(&mut buf)?;
+			V128Const(Box::new(buf))
+		}
+		V128_LOAD => V128Load(MemArg::deserialize(reader)?),
+		V128_STORE => V128Store(MemArg::deserialize(reader)?),
+		I8X16_SPLAT => I8x16Splat,
+		I16X8_SPLAT => I16x8Splat,
+		I32X4_SPLAT => I32x4Splat,
+		I64X2_SPLAT => I64x2Splat,
+		F32X4_SPLAT => F32x4Splat,
+		F64X2_SPLAT => F64x2Splat,
+		I8X16_EXTRACT_LANE_S => I8x16ExtractLaneS(Uint8::deserialize(reader)?.into()),
+		I8X16_EXTRACT_LANE_U => I8x16ExtractLaneU(Uint8::deserialize(reader)?.into()),
+		I16X8_EXTRACT_LANE_S => I16x8ExtractLaneS(Uint8::deserialize(reader)?.into()),
+		I16X8_EXTRACT_LANE_U => I16x8ExtractLaneU(Uint8::deserialize(reader)?.into()),
+		I32X4_EXTRACT_LANE => I32x4ExtractLane(Uint8::deserialize(reader)?.into()),
+		I64X2_EXTRACT_LANE => I64x2ExtractLane(Uint8::deserialize(reader)?.into()),
+		F32X4_EXTRACT_LANE => F32x4ExtractLane(Uint8::deserialize(reader)?.into()),
+		F64X2_EXTRACT_LANE => F64x2ExtractLane(Uint8::deserialize(reader)?.into()),
+		I8X16_REPLACE_LANE => I8x16ReplaceLane(Uint8::deserialize(reader)?.into()),
+		I16X8_REPLACE_LANE => I16x8ReplaceLane(Uint8::deserialize(reader)?.into()),
+		I32X4_REPLACE_LANE => I32x4ReplaceLane(Uint8::deserialize(reader)?.into()),
+		I64X2_REPLACE_LANE => I64x2ReplaceLane(Uint8::deserialize(reader)?.into()),
+		F32X4_REPLACE_LANE => F32x4ReplaceLane(Uint8::deserialize(reader)?.into()),
+		F64X2_REPLACE_LANE => F64x2ReplaceLane(Uint8::deserialize(reader)?.into()),
+		V8X16_SHUFFLE => {
+			let mut buf = [0; 16];
+			reader.read(&mut buf)?;
+			V8x16Shuffle(Box::new(buf))
+		}
+		I8X16_ADD => I8x16Add,
+		I16X8_ADD => I16x8Add,
+		I32X4_ADD => I32x4Add,
+		I64X2_ADD => I64x2Add,
+		I8X16_SUB => I8x16Sub,
+		I16X8_SUB => I16x8Sub,
+		I32X4_SUB => I32x4Sub,
+		I64X2_SUB => I64x2Sub,
+		I8X16_MUL => I8x16Mul,
+		I16X8_MUL => I16x8Mul,
+		I32X4_MUL => I32x4Mul,
+		// I64X2_MUL => I64x2Mul,
+		I8X16_NEG => I8x16Neg,
+		I16X8_NEG => I16x8Neg,
+		I32X4_NEG => I32x4Neg,
+		I64X2_NEG => I64x2Neg,
+
+		I8X16_ADD_SATURATE_S => I8x16AddSaturateS,
+		I8X16_ADD_SATURATE_U => I8x16AddSaturateU,
+		I16X8_ADD_SATURATE_S => I16x8AddSaturateS,
+		I16X8_ADD_SATURATE_U => I16x8AddSaturateU,
+		I8X16_SUB_SATURATE_S => I8x16SubSaturateS,
+		I8X16_SUB_SATURATE_U => I8x16SubSaturateU,
+		I16X8_SUB_SATURATE_S => I16x8SubSaturateS,
+		I16X8_SUB_SATURATE_U => I16x8SubSaturateU,
+		I8X16_SHL => I8x16Shl,
+		I16X8_SHL => I16x8Shl,
+		I32X4_SHL => I32x4Shl,
+		I64X2_SHL => I64x2Shl,
+		I8X16_SHR_S => I8x16ShrS,
+		I8X16_SHR_U => I8x16ShrU,
+		I16X8_SHR_S => I16x8ShrS,
+		I16X8_SHR_U => I16x8ShrU,
+		I32X4_SHR_S => I32x4ShrS,
+		I32X4_SHR_U => I32x4ShrU,
+		I64X2_SHR_S => I64x2ShrS,
+		I64X2_SHR_U => I64x2ShrU,
+		V128_AND => V128And,
+		V128_OR => V128Or,
+		V128_XOR => V128Xor,
+		V128_NOT => V128Not,
+		V128_BITSELECT => V128Bitselect,
+		I8X16_ANY_TRUE => I8x16AnyTrue,
+		I16X8_ANY_TRUE => I16x8AnyTrue,
+		I32X4_ANY_TRUE => I32x4AnyTrue,
+		I64X2_ANY_TRUE => I64x2AnyTrue,
+		I8X16_ALL_TRUE => I8x16AllTrue,
+		I16X8_ALL_TRUE => I16x8AllTrue,
+		I32X4_ALL_TRUE => I32x4AllTrue,
+		I64X2_ALL_TRUE => I64x2AllTrue,
+		I8X16_EQ => I8x16Eq,
+		I16X8_EQ => I16x8Eq,
+		I32X4_EQ => I32x4Eq,
+		// I64X2_EQ => I64x2Eq,
+		F32X4_EQ => F32x4Eq,
+		F64X2_EQ => F64x2Eq,
+		I8X16_NE => I8x16Ne,
+		I16X8_NE => I16x8Ne,
+		I32X4_NE => I32x4Ne,
+		// I64X2_NE => I64x2Ne,
+		F32X4_NE => F32x4Ne,
+		F64X2_NE => F64x2Ne,
+		I8X16_LT_S => I8x16LtS,
+		I8X16_LT_U => I8x16LtU,
+		I16X8_LT_S => I16x8LtS,
+		I16X8_LT_U => I16x8LtU,
+		I32X4_LT_S => I32x4LtS,
+		I32X4_LT_U => I32x4LtU,
+		// I64X2_LT_S => I64x2LtS,
+		// I64X2_LT_U => I64x2LtU,
+		F32X4_LT => F32x4Lt,
+		F64X2_LT => F64x2Lt,
+		I8X16_LE_S => I8x16LeS,
+		I8X16_LE_U => I8x16LeU,
+		I16X8_LE_S => I16x8LeS,
+		I16X8_LE_U => I16x8LeU,
+		I32X4_LE_S => I32x4LeS,
+		I32X4_LE_U => I32x4LeU,
+		// I64X2_LE_S => I64x2LeS,
+		// I64X2_LE_U => I64x2LeU,
+		F32X4_LE => F32x4Le,
+		F64X2_LE => F64x2Le,
+		I8X16_GT_S => I8x16GtS,
+		I8X16_GT_U => I8x16GtU,
+		I16X8_GT_S => I16x8GtS,
+		I16X8_GT_U => I16x8GtU,
+		I32X4_GT_S => I32x4GtS,
+		I32X4_GT_U => I32x4GtU,
+		// I64X2_GT_S => I64x2GtS,
+		// I64X2_GT_U => I64x2GtU,
+		F32X4_GT => F32x4Gt,
+		F64X2_GT => F64x2Gt,
+		I8X16_GE_S => I8x16GeS,
+		I8X16_GE_U => I8x16GeU,
+		I16X8_GE_S => I16x8GeS,
+		I16X8_GE_U => I16x8GeU,
+		I32X4_GE_S => I32x4GeS,
+		I32X4_GE_U => I32x4GeU,
+		// I64X2_GE_S => I64x2GeS,
+		// I64X2_GE_U => I64x2GeU,
+		F32X4_GE => F32x4Ge,
+		F64X2_GE => F64x2Ge,
+		F32X4_NEG => F32x4Neg,
+		F64X2_NEG => F64x2Neg,
+		F32X4_ABS => F32x4Abs,
+		F64X2_ABS => F64x2Abs,
+		F32X4_MIN => F32x4Min,
+		F64X2_MIN => F64x2Min,
+		F32X4_MAX => F32x4Max,
+		F64X2_MAX => F64x2Max,
+		F32X4_ADD => F32x4Add,
+		F64X2_ADD => F64x2Add,
+		F32X4_SUB => F32x4Sub,
+		F64X2_SUB => F64x2Sub,
+		F32X4_DIV => F32x4Div,
+		F64X2_DIV => F64x2Div,
+		F32X4_MUL => F32x4Mul,
+		F64X2_MUL => F64x2Mul,
+		F32X4_SQRT => F32x4Sqrt,
+		F64X2_SQRT => F64x2Sqrt,
+		F32X4_CONVERT_S_I32X4 => F32x4ConvertSI32x4,
+		F32X4_CONVERT_U_I32X4 => F32x4ConvertUI32x4,
+		F64X2_CONVERT_S_I64X2 => F64x2ConvertSI64x2,
+		F64X2_CONVERT_U_I64X2 => F64x2ConvertUI64x2,
+		I32X4_TRUNC_S_F32X4_SAT => I32x4TruncSF32x4Sat,
+		I32X4_TRUNC_U_F32X4_SAT => I32x4TruncUF32x4Sat,
+		I64X2_TRUNC_S_F64X2_SAT => I64x2TruncSF64x2Sat,
+		I64X2_TRUNC_U_F64X2_SAT => I64x2TruncUF64x2Sat,
+
+		_ => return Err(Error::UnknownSimdOpcode(val)),
+	})
+}
+
+impl Deserialize for MemArg {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let align = Uint8::deserialize(reader)?;
+		let offset = VarUint32::deserialize(reader)?;
+		Ok(MemArg { align: align.into(), offset: offset.into() })
+	}
+}
+
+macro_rules! op {
+	($writer: expr, $byte: expr) => ({
+		let b: u8 = $byte;
+		$writer.write(&[b])?;
+	});
+	($writer: expr, $byte: expr, $s: block) => ({
+		op!($writer, $byte);
+		$s;
+	});
+}
+
+macro_rules! atomic {
+	($writer: expr, $byte: expr, $mem:expr) => ({
+		$writer.write(&[ATOMIC_PREFIX, $byte])?;
+		MemArg::serialize($mem, $writer)?;
+	});
+}
+
+macro_rules! simd {
+	($writer: expr, $byte: expr, $other:expr) => ({
+		$writer.write(&[SIMD_PREFIX])?;
+		VarUint32::from($byte).serialize($writer)?;
+		$other;
+	});
+}
+
+impl Serialize for Instruction {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		use self::Instruction::*;
+		use self::opcodes::*;
+
+		match self {
+			Unreachable => op!(writer, UNREACHABLE),
+			Nop => op!(writer, NOP),
+			Block(block_type) => op!(writer, BLOCK, {
+			   block_type.serialize(writer)?;
+			}),
+			Loop(block_type) => op!(writer, LOOP, {
+			   block_type.serialize(writer)?;
+			}),
+			If(block_type) => op!(writer, IF, {
+			   block_type.serialize(writer)?;
+			}),
+			Else => op!(writer, ELSE),
+			End => op!(writer, END),
+			Br(idx) => op!(writer, BR, {
+				VarUint32::from(idx).serialize(writer)?;
+			}),
+			BrIf(idx) => op!(writer, BRIF, {
+				VarUint32::from(idx).serialize(writer)?;
+			}),
+			BrTable(ref table) => op!(writer, BRTABLE, {
+				let list_writer = CountedListWriter::<VarUint32, _>(
+					table.table.len(),
+					table.table.into_iter().map(|x| VarUint32::from(*x)),
+				);
+				list_writer.serialize(writer)?;
+				VarUint32::from(table.default).serialize(writer)?;
+			}),
+			Return => op!(writer, RETURN),
+			Call(index) => op!(writer, CALL, {
+				VarUint32::from(index).serialize(writer)?;
+			}),
+			CallIndirect(index, reserved) => op!(writer, CALLINDIRECT, {
+				VarUint32::from(index).serialize(writer)?;
+				Uint8::from(reserved).serialize(writer)?;
+			}),
+			Drop => op!(writer, DROP),
+			Select => op!(writer, SELECT),
+			GetLocal(index) => op!(writer, GETLOCAL, {
+				VarUint32::from(index).serialize(writer)?;
+			}),
+			SetLocal(index) => op!(writer, SETLOCAL, {
+				VarUint32::from(index).serialize(writer)?;
+			}),
+			TeeLocal(index) => op!(writer, TEELOCAL, {
+				VarUint32::from(index).serialize(writer)?;
+			}),
+			GetGlobal(index) => op!(writer, GETGLOBAL, {
+				VarUint32::from(index).serialize(writer)?;
+			}),
+			SetGlobal(index) => op!(writer, SETGLOBAL, {
+				VarUint32::from(index).serialize(writer)?;
+			}),
+			I32Load(flags, offset) => op!(writer, I32LOAD, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I64Load(flags, offset) => op!(writer, I64LOAD, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			F32Load(flags, offset) => op!(writer, F32LOAD, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			F64Load(flags, offset) => op!(writer, F64LOAD, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I32Load8S(flags, offset) => op!(writer, I32LOAD8S, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I32Load8U(flags, offset) => op!(writer, I32LOAD8U, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I32Load16S(flags, offset) => op!(writer, I32LOAD16S, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I32Load16U(flags, offset) => op!(writer, I32LOAD16U, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I64Load8S(flags, offset) => op!(writer, I64LOAD8S, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I64Load8U(flags, offset) => op!(writer, I64LOAD8U, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I64Load16S(flags, offset) => op!(writer, I64LOAD16S, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I64Load16U(flags, offset) => op!(writer, I64LOAD16U, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I64Load32S(flags, offset) => op!(writer, I64LOAD32S, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I64Load32U(flags, offset) => op!(writer, I64LOAD32U, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I32Store(flags, offset) => op!(writer, I32STORE, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I64Store(flags, offset) => op!(writer, I64STORE, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			F32Store(flags, offset) => op!(writer, F32STORE, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			F64Store(flags, offset) => op!(writer, F64STORE, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I32Store8(flags, offset) => op!(writer, I32STORE8, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I32Store16(flags, offset) => op!(writer, I32STORE16, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I64Store8(flags, offset) => op!(writer, I64STORE8, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I64Store16(flags, offset) => op!(writer, I64STORE16, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			I64Store32(flags, offset) => op!(writer, I64STORE32, {
+				VarUint32::from(flags).serialize(writer)?;
+				VarUint32::from(offset).serialize(writer)?;
+			}),
+			CurrentMemory(flag) => op!(writer, CURRENTMEMORY, {
+				Uint8::from(flag).serialize(writer)?;
+			}),
+			GrowMemory(flag) => op!(writer, GROWMEMORY, {
+				Uint8::from(flag).serialize(writer)?;
+			}),
+			I32Const(def) => op!(writer, I32CONST, {
+				VarInt32::from(def).serialize(writer)?;
+			}),
+			I64Const(def) => op!(writer, I64CONST, {
+				VarInt64::from(def).serialize(writer)?;
+			}),
+			F32Const(def) => op!(writer, F32CONST, {
+				Uint32::from(def).serialize(writer)?;
+			}),
+			F64Const(def) => op!(writer, F64CONST, {
+				Uint64::from(def).serialize(writer)?;
+			}),
+			I32Eqz => op!(writer, I32EQZ),
+			I32Eq => op!(writer, I32EQ),
+			I32Ne => op!(writer, I32NE),
+			I32LtS => op!(writer, I32LTS),
+			I32LtU => op!(writer, I32LTU),
+			I32GtS => op!(writer, I32GTS),
+			I32GtU => op!(writer, I32GTU),
+			I32LeS => op!(writer, I32LES),
+			I32LeU => op!(writer, I32LEU),
+			I32GeS => op!(writer, I32GES),
+			I32GeU => op!(writer, I32GEU),
+
+			I64Eqz => op!(writer, I64EQZ),
+			I64Eq => op!(writer, I64EQ),
+			I64Ne => op!(writer, I64NE),
+			I64LtS => op!(writer, I64LTS),
+			I64LtU => op!(writer, I64LTU),
+			I64GtS => op!(writer, I64GTS),
+			I64GtU => op!(writer, I64GTU),
+			I64LeS => op!(writer, I64LES),
+			I64LeU => op!(writer, I64LEU),
+			I64GeS => op!(writer, I64GES),
+			I64GeU => op!(writer, I64GEU),
+
+			F32Eq => op!(writer, F32EQ),
+			F32Ne => op!(writer, F32NE),
+			F32Lt => op!(writer, F32LT),
+			F32Gt => op!(writer, F32GT),
+			F32Le => op!(writer, F32LE),
+			F32Ge => op!(writer, F32GE),
+
+			F64Eq => op!(writer, F64EQ),
+			F64Ne => op!(writer, F64NE),
+			F64Lt => op!(writer, F64LT),
+			F64Gt => op!(writer, F64GT),
+			F64Le => op!(writer, F64LE),
+			F64Ge => op!(writer, F64GE),
+
+			I32Clz => op!(writer, I32CLZ),
+			I32Ctz => op!(writer, I32CTZ),
+			I32Popcnt => op!(writer, I32POPCNT),
+			I32Add => op!(writer, I32ADD),
+			I32Sub => op!(writer, I32SUB),
+			I32Mul => op!(writer, I32MUL),
+			I32DivS => op!(writer, I32DIVS),
+			I32DivU => op!(writer, I32DIVU),
+			I32RemS => op!(writer, I32REMS),
+			I32RemU => op!(writer, I32REMU),
+			I32And => op!(writer, I32AND),
+			I32Or => op!(writer, I32OR),
+			I32Xor => op!(writer, I32XOR),
+			I32Shl => op!(writer, I32SHL),
+			I32ShrS => op!(writer, I32SHRS),
+			I32ShrU => op!(writer, I32SHRU),
+			I32Rotl => op!(writer, I32ROTL),
+			I32Rotr => op!(writer, I32ROTR),
+
+			I64Clz => op!(writer, I64CLZ),
+			I64Ctz => op!(writer, I64CTZ),
+			I64Popcnt => op!(writer, I64POPCNT),
+			I64Add => op!(writer, I64ADD),
+			I64Sub => op!(writer, I64SUB),
+			I64Mul => op!(writer, I64MUL),
+			I64DivS => op!(writer, I64DIVS),
+			I64DivU => op!(writer, I64DIVU),
+			I64RemS => op!(writer, I64REMS),
+			I64RemU => op!(writer, I64REMU),
+			I64And => op!(writer, I64AND),
+			I64Or => op!(writer, I64OR),
+			I64Xor => op!(writer, I64XOR),
+			I64Shl => op!(writer, I64SHL),
+			I64ShrS => op!(writer, I64SHRS),
+			I64ShrU => op!(writer, I64SHRU),
+			I64Rotl => op!(writer, I64ROTL),
+			I64Rotr => op!(writer, I64ROTR),
+			F32Abs => op!(writer, F32ABS),
+			F32Neg => op!(writer, F32NEG),
+			F32Ceil => op!(writer, F32CEIL),
+			F32Floor => op!(writer, F32FLOOR),
+			F32Trunc => op!(writer, F32TRUNC),
+			F32Nearest => op!(writer, F32NEAREST),
+			F32Sqrt => op!(writer, F32SQRT),
+			F32Add => op!(writer, F32ADD),
+			F32Sub => op!(writer, F32SUB),
+			F32Mul => op!(writer, F32MUL),
+			F32Div => op!(writer, F32DIV),
+			F32Min => op!(writer, F32MIN),
+			F32Max => op!(writer, F32MAX),
+			F32Copysign => op!(writer, F32COPYSIGN),
+			F64Abs => op!(writer, F64ABS),
+			F64Neg => op!(writer, F64NEG),
+			F64Ceil => op!(writer, F64CEIL),
+			F64Floor => op!(writer, F64FLOOR),
+			F64Trunc => op!(writer, F64TRUNC),
+			F64Nearest => op!(writer, F64NEAREST),
+			F64Sqrt => op!(writer, F64SQRT),
+			F64Add => op!(writer, F64ADD),
+			F64Sub => op!(writer, F64SUB),
+			F64Mul => op!(writer, F64MUL),
+			F64Div => op!(writer, F64DIV),
+			F64Min => op!(writer, F64MIN),
+			F64Max => op!(writer, F64MAX),
+			F64Copysign => op!(writer, F64COPYSIGN),
+
+			I32WrapI64 => op!(writer, I32WRAPI64),
+			I32TruncSF32 => op!(writer, I32TRUNCSF32),
+			I32TruncUF32 => op!(writer, I32TRUNCUF32),
+			I32TruncSF64 => op!(writer, I32TRUNCSF64),
+			I32TruncUF64 => op!(writer, I32TRUNCUF64),
+			I64ExtendSI32 => op!(writer, I64EXTENDSI32),
+			I64ExtendUI32 => op!(writer, I64EXTENDUI32),
+			I64TruncSF32 => op!(writer, I64TRUNCSF32),
+			I64TruncUF32 => op!(writer, I64TRUNCUF32),
+			I64TruncSF64 => op!(writer, I64TRUNCSF64),
+			I64TruncUF64 => op!(writer, I64TRUNCUF64),
+			F32ConvertSI32 => op!(writer, F32CONVERTSI32),
+			F32ConvertUI32 => op!(writer, F32CONVERTUI32),
+			F32ConvertSI64 => op!(writer, F32CONVERTSI64),
+			F32ConvertUI64 => op!(writer, F32CONVERTUI64),
+			F32DemoteF64 => op!(writer, F32DEMOTEF64),
+			F64ConvertSI32 => op!(writer, F64CONVERTSI32),
+			F64ConvertUI32 => op!(writer, F64CONVERTUI32),
+			F64ConvertSI64 => op!(writer, F64CONVERTSI64),
+			F64ConvertUI64 => op!(writer, F64CONVERTUI64),
+			F64PromoteF32 => op!(writer, F64PROMOTEF32),
+
+			I32ReinterpretF32 => op!(writer, I32REINTERPRETF32),
+			I64ReinterpretF64 => op!(writer, I64REINTERPRETF64),
+			F32ReinterpretI32 => op!(writer, F32REINTERPRETI32),
+			F64ReinterpretI64 => op!(writer, F64REINTERPRETI64),
+
+			I32Extend8S => op!(writer, I32_EXTEND8_S),
+			I32Extend16S => op!(writer, I32_EXTEND16_S),
+			I64Extend8S => op!(writer, I64_EXTEND8_S),
+			I64Extend16S => op!(writer, I64_EXTEND16_S),
+			I64Extend32S => op!(writer, I64_EXTEND32_S),
+
+			AtomicWake(m) => atomic!(writer, ATOMIC_WAKE, m),
+			I32AtomicWait(m) => atomic!(writer, I32_ATOMIC_WAIT, m),
+			I64AtomicWait(m) => atomic!(writer, I64_ATOMIC_WAIT, m),
+
+			I32AtomicLoad(m) => atomic!(writer, I32_ATOMIC_LOAD, m),
+			I64AtomicLoad(m) => atomic!(writer, I64_ATOMIC_LOAD, m),
+			I32AtomicLoad8u(m) => atomic!(writer, I32_ATOMIC_LOAD8U, m),
+			I32AtomicLoad16u(m) => atomic!(writer, I32_ATOMIC_LOAD16U, m),
+			I64AtomicLoad8u(m) => atomic!(writer, I64_ATOMIC_LOAD8U, m),
+			I64AtomicLoad16u(m) => atomic!(writer, I64_ATOMIC_LOAD16U, m),
+			I64AtomicLoad32u(m) => atomic!(writer, I64_ATOMIC_LOAD32U, m),
+			I32AtomicStore(m) => atomic!(writer, I32_ATOMIC_STORE, m),
+			I64AtomicStore(m) => atomic!(writer, I64_ATOMIC_STORE, m),
+			I32AtomicStore8u(m) => atomic!(writer, I32_ATOMIC_STORE8U, m),
+			I32AtomicStore16u(m) => atomic!(writer, I32_ATOMIC_STORE16U, m),
+			I64AtomicStore8u(m) => atomic!(writer, I64_ATOMIC_STORE8U, m),
+			I64AtomicStore16u(m) => atomic!(writer, I64_ATOMIC_STORE16U, m),
+			I64AtomicStore32u(m) => atomic!(writer, I64_ATOMIC_STORE32U, m),
+
+			I32AtomicRmwAdd(m) => atomic!(writer, I32_ATOMIC_RMW_ADD, m),
+			I64AtomicRmwAdd(m) => atomic!(writer, I64_ATOMIC_RMW_ADD, m),
+			I32AtomicRmwAdd8u(m) => atomic!(writer, I32_ATOMIC_RMW_ADD8U, m),
+			I32AtomicRmwAdd16u(m) => atomic!(writer, I32_ATOMIC_RMW_ADD16U, m),
+			I64AtomicRmwAdd8u(m) => atomic!(writer, I64_ATOMIC_RMW_ADD8U, m),
+			I64AtomicRmwAdd16u(m) => atomic!(writer, I64_ATOMIC_RMW_ADD16U, m),
+			I64AtomicRmwAdd32u(m) => atomic!(writer, I64_ATOMIC_RMW_ADD32U, m),
+
+			I32AtomicRmwSub(m) => atomic!(writer, I32_ATOMIC_RMW_SUB, m),
+			I64AtomicRmwSub(m) => atomic!(writer, I64_ATOMIC_RMW_SUB, m),
+			I32AtomicRmwSub8u(m) => atomic!(writer, I32_ATOMIC_RMW_SUB8U, m),
+			I32AtomicRmwSub16u(m) => atomic!(writer, I32_ATOMIC_RMW_SUB16U, m),
+			I64AtomicRmwSub8u(m) => atomic!(writer, I64_ATOMIC_RMW_SUB8U, m),
+			I64AtomicRmwSub16u(m) => atomic!(writer, I64_ATOMIC_RMW_SUB16U, m),
+			I64AtomicRmwSub32u(m) => atomic!(writer, I64_ATOMIC_RMW_SUB32U, m),
+
+			I32AtomicRmwAnd(m) => atomic!(writer, I32_ATOMIC_RMW_AND, m),
+			I64AtomicRmwAnd(m) => atomic!(writer, I64_ATOMIC_RMW_AND, m),
+			I32AtomicRmwAnd8u(m) => atomic!(writer, I32_ATOMIC_RMW_AND8U, m),
+			I32AtomicRmwAnd16u(m) => atomic!(writer, I32_ATOMIC_RMW_AND16U, m),
+			I64AtomicRmwAnd8u(m) => atomic!(writer, I64_ATOMIC_RMW_AND8U, m),
+			I64AtomicRmwAnd16u(m) => atomic!(writer, I64_ATOMIC_RMW_AND16U, m),
+			I64AtomicRmwAnd32u(m) => atomic!(writer, I64_ATOMIC_RMW_AND32U, m),
+
+			I32AtomicRmwOr(m) => atomic!(writer, I32_ATOMIC_RMW_OR, m),
+			I64AtomicRmwOr(m) => atomic!(writer, I64_ATOMIC_RMW_OR, m),
+			I32AtomicRmwOr8u(m) => atomic!(writer, I32_ATOMIC_RMW_OR8U, m),
+			I32AtomicRmwOr16u(m) => atomic!(writer, I32_ATOMIC_RMW_OR16U, m),
+			I64AtomicRmwOr8u(m) => atomic!(writer, I64_ATOMIC_RMW_OR8U, m),
+			I64AtomicRmwOr16u(m) => atomic!(writer, I64_ATOMIC_RMW_OR16U, m),
+			I64AtomicRmwOr32u(m) => atomic!(writer, I64_ATOMIC_RMW_OR32U, m),
+
+			I32AtomicRmwXor(m) => atomic!(writer, I32_ATOMIC_RMW_XOR, m),
+			I64AtomicRmwXor(m) => atomic!(writer, I64_ATOMIC_RMW_XOR, m),
+			I32AtomicRmwXor8u(m) => atomic!(writer, I32_ATOMIC_RMW_XOR8U, m),
+			I32AtomicRmwXor16u(m) => atomic!(writer, I32_ATOMIC_RMW_XOR16U, m),
+			I64AtomicRmwXor8u(m) => atomic!(writer, I64_ATOMIC_RMW_XOR8U, m),
+			I64AtomicRmwXor16u(m) => atomic!(writer, I64_ATOMIC_RMW_XOR16U, m),
+			I64AtomicRmwXor32u(m) => atomic!(writer, I64_ATOMIC_RMW_XOR32U, m),
+
+			I32AtomicRmwXchg(m) => atomic!(writer, I32_ATOMIC_RMW_XCHG, m),
+			I64AtomicRmwXchg(m) => atomic!(writer, I64_ATOMIC_RMW_XCHG, m),
+			I32AtomicRmwXchg8u(m) => atomic!(writer, I32_ATOMIC_RMW_XCHG8U, m),
+			I32AtomicRmwXchg16u(m) => atomic!(writer, I32_ATOMIC_RMW_XCHG16U, m),
+			I64AtomicRmwXchg8u(m) => atomic!(writer, I64_ATOMIC_RMW_XCHG8U, m),
+			I64AtomicRmwXchg16u(m) => atomic!(writer, I64_ATOMIC_RMW_XCHG16U, m),
+			I64AtomicRmwXchg32u(m) => atomic!(writer, I64_ATOMIC_RMW_XCHG32U, m),
+
+			I32AtomicRmwCmpxchg(m) => atomic!(writer, I32_ATOMIC_RMW_CMPXCHG, m),
+			I64AtomicRmwCmpxchg(m) => atomic!(writer, I64_ATOMIC_RMW_CMPXCHG, m),
+			I32AtomicRmwCmpxchg8u(m) => atomic!(writer, I32_ATOMIC_RMW_CMPXCHG8U, m),
+			I32AtomicRmwCmpxchg16u(m) => atomic!(writer, I32_ATOMIC_RMW_CMPXCHG16U, m),
+			I64AtomicRmwCmpxchg8u(m) => atomic!(writer, I64_ATOMIC_RMW_CMPXCHG8U, m),
+			I64AtomicRmwCmpxchg16u(m) => atomic!(writer, I64_ATOMIC_RMW_CMPXCHG16U, m),
+			I64AtomicRmwCmpxchg32u(m) => atomic!(writer, I64_ATOMIC_RMW_CMPXCHG32U, m),
+
+			V128Const(ref c) => simd!(writer, opcodes::V128_CONST, writer.write(&c[..])?),
+			V128Load(m) => simd!(writer, opcodes::V128_LOAD, MemArg::serialize(m, writer)?),
+			V128Store(m) => simd!(writer, opcodes::V128_STORE, MemArg::serialize(m, writer)?),
+			I8x16Splat => simd!(writer, opcodes::I8X16_SPLAT, ()),
+			I16x8Splat => simd!(writer, opcodes::I16X8_SPLAT, ()),
+			I32x4Splat => simd!(writer, opcodes::I32X4_SPLAT, ()),
+			I64x2Splat => simd!(writer, opcodes::I64X2_SPLAT, ()),
+			F32x4Splat => simd!(writer, opcodes::F32X4_SPLAT, ()),
+			F64x2Splat => simd!(writer, opcodes::F64X2_SPLAT, ()),
+			I8x16ExtractLaneS(i) => simd!(writer, opcodes::I8X16_EXTRACT_LANE_S, writer.write(&[i])?),
+			I8x16ExtractLaneU(i) => simd!(writer, opcodes::I8X16_EXTRACT_LANE_U, writer.write(&[i])?),
+			I16x8ExtractLaneS(i) => simd!(writer, opcodes::I16X8_EXTRACT_LANE_S, writer.write(&[i])?),
+			I16x8ExtractLaneU(i) => simd!(writer, opcodes::I16X8_EXTRACT_LANE_U, writer.write(&[i])?),
+			I32x4ExtractLane(i) => simd!(writer, opcodes::I32X4_EXTRACT_LANE, writer.write(&[i])?),
+			I64x2ExtractLane(i) => simd!(writer, opcodes::I64X2_EXTRACT_LANE, writer.write(&[i])?),
+			F32x4ExtractLane(i) => simd!(writer, opcodes::F32X4_EXTRACT_LANE, writer.write(&[i])?),
+			F64x2ExtractLane(i) => simd!(writer, opcodes::F64X2_EXTRACT_LANE, writer.write(&[i])?),
+			I8x16ReplaceLane(i) => simd!(writer, opcodes::I8X16_REPLACE_LANE, writer.write(&[i])?),
+			I16x8ReplaceLane(i) => simd!(writer, opcodes::I16X8_REPLACE_LANE, writer.write(&[i])?),
+			I32x4ReplaceLane(i) => simd!(writer, opcodes::I32X4_REPLACE_LANE, writer.write(&[i])?),
+			I64x2ReplaceLane(i) => simd!(writer, opcodes::I64X2_REPLACE_LANE, writer.write(&[i])?),
+			F32x4ReplaceLane(i) => simd!(writer, opcodes::F32X4_REPLACE_LANE, writer.write(&[i])?),
+			F64x2ReplaceLane(i) => simd!(writer, opcodes::F64X2_REPLACE_LANE, writer.write(&[i])?),
+			V8x16Shuffle(ref i) => simd!(writer, opcodes::V8X16_SHUFFLE, writer.write(&i[..])?),
+			I8x16Add => simd!(writer, opcodes::I8X16_ADD, ()),
+			I16x8Add => simd!(writer, opcodes::I16X8_ADD, ()),
+			I32x4Add => simd!(writer, opcodes::I32X4_ADD, ()),
+			I64x2Add => simd!(writer, opcodes::I64X2_ADD, ()),
+			I8x16Sub => simd!(writer, opcodes::I8X16_SUB, ()),
+			I16x8Sub => simd!(writer, opcodes::I16X8_SUB, ()),
+			I32x4Sub => simd!(writer, opcodes::I32X4_SUB, ()),
+			I64x2Sub => simd!(writer, opcodes::I64X2_SUB, ()),
+			I8x16Mul => simd!(writer, opcodes::I8X16_MUL, ()),
+			I16x8Mul => simd!(writer, opcodes::I16X8_MUL, ()),
+			I32x4Mul => simd!(writer, opcodes::I32X4_MUL, ()),
+			// I64x2Mul => simd!(writer, opcodes::I64X2_MUL, ()),
+			I8x16Neg => simd!(writer, opcodes::I8X16_NEG, ()),
+			I16x8Neg => simd!(writer, opcodes::I16X8_NEG, ()),
+			I32x4Neg => simd!(writer, opcodes::I32X4_NEG, ()),
+			I64x2Neg => simd!(writer, opcodes::I64X2_NEG, ()),
+			I8x16AddSaturateS => simd!(writer, opcodes::I8X16_ADD_SATURATE_S, ()),
+			I8x16AddSaturateU => simd!(writer, opcodes::I8X16_ADD_SATURATE_U, ()),
+			I16x8AddSaturateS => simd!(writer, opcodes::I16X8_ADD_SATURATE_S, ()),
+			I16x8AddSaturateU => simd!(writer, opcodes::I16X8_ADD_SATURATE_U, ()),
+			I8x16SubSaturateS => simd!(writer, opcodes::I8X16_SUB_SATURATE_S, ()),
+			I8x16SubSaturateU => simd!(writer, opcodes::I8X16_SUB_SATURATE_U, ()),
+			I16x8SubSaturateS => simd!(writer, opcodes::I16X8_SUB_SATURATE_S, ()),
+			I16x8SubSaturateU => simd!(writer, opcodes::I16X8_SUB_SATURATE_U, ()),
+			I8x16Shl => simd!(writer, opcodes::I8X16_SHL, ()),
+			I16x8Shl => simd!(writer, opcodes::I16X8_SHL, ()),
+			I32x4Shl => simd!(writer, opcodes::I32X4_SHL, ()),
+			I64x2Shl => simd!(writer, opcodes::I64X2_SHL, ()),
+			I8x16ShrS => simd!(writer, opcodes::I8X16_SHR_S, ()),
+			I8x16ShrU => simd!(writer, opcodes::I8X16_SHR_U, ()),
+			I16x8ShrS => simd!(writer, opcodes::I16X8_SHR_S, ()),
+			I16x8ShrU => simd!(writer, opcodes::I16X8_SHR_U, ()),
+			I32x4ShrU => simd!(writer, opcodes::I32X4_SHR_U, ()),
+			I32x4ShrS => simd!(writer, opcodes::I32X4_SHR_S, ()),
+			I64x2ShrU => simd!(writer, opcodes::I64X2_SHR_U, ()),
+			I64x2ShrS => simd!(writer, opcodes::I64X2_SHR_S, ()),
+			V128And => simd!(writer, opcodes::V128_AND, ()),
+			V128Or => simd!(writer, opcodes::V128_OR, ()),
+			V128Xor => simd!(writer, opcodes::V128_XOR, ()),
+			V128Not => simd!(writer, opcodes::V128_NOT, ()),
+			V128Bitselect => simd!(writer, opcodes::V128_BITSELECT, ()),
+			I8x16AnyTrue => simd!(writer, opcodes::I8X16_ANY_TRUE, ()),
+			I16x8AnyTrue => simd!(writer, opcodes::I16X8_ANY_TRUE, ()),
+			I32x4AnyTrue => simd!(writer, opcodes::I32X4_ANY_TRUE, ()),
+			I64x2AnyTrue => simd!(writer, opcodes::I64X2_ANY_TRUE, ()),
+			I8x16AllTrue => simd!(writer, opcodes::I8X16_ALL_TRUE, ()),
+			I16x8AllTrue => simd!(writer, opcodes::I16X8_ALL_TRUE, ()),
+			I32x4AllTrue => simd!(writer, opcodes::I32X4_ALL_TRUE, ()),
+			I64x2AllTrue => simd!(writer, opcodes::I64X2_ALL_TRUE, ()),
+			I8x16Eq => simd!(writer, opcodes::I8X16_EQ, ()),
+			I16x8Eq => simd!(writer, opcodes::I16X8_EQ, ()),
+			I32x4Eq => simd!(writer, opcodes::I32X4_EQ, ()),
+			// I64x2Eq => simd!(writer, opcodes::I64X2_EQ, ()),
+			F32x4Eq => simd!(writer, opcodes::F32X4_EQ, ()),
+			F64x2Eq => simd!(writer, opcodes::F64X2_EQ, ()),
+			I8x16Ne => simd!(writer, opcodes::I8X16_NE, ()),
+			I16x8Ne => simd!(writer, opcodes::I16X8_NE, ()),
+			I32x4Ne => simd!(writer, opcodes::I32X4_NE, ()),
+			// I64x2Ne => simd!(writer, opcodes::I64X2_NE, ()),
+			F32x4Ne => simd!(writer, opcodes::F32X4_NE, ()),
+			F64x2Ne => simd!(writer, opcodes::F64X2_NE, ()),
+			I8x16LtS => simd!(writer, opcodes::I8X16_LT_S, ()),
+			I8x16LtU => simd!(writer, opcodes::I8X16_LT_U, ()),
+			I16x8LtS => simd!(writer, opcodes::I16X8_LT_S, ()),
+			I16x8LtU => simd!(writer, opcodes::I16X8_LT_U, ()),
+			I32x4LtS => simd!(writer, opcodes::I32X4_LT_S, ()),
+			I32x4LtU => simd!(writer, opcodes::I32X4_LT_U, ()),
+			// I64x2LtS => simd!(writer, opcodes::I64X2_LT_S, ()),
+			// I64x2LtU => simd!(writer, opcodes::I64X2_LT_U, ()),
+			F32x4Lt => simd!(writer, opcodes::F32X4_LT, ()),
+			F64x2Lt => simd!(writer, opcodes::F64X2_LT, ()),
+			I8x16LeS => simd!(writer, opcodes::I8X16_LE_S, ()),
+			I8x16LeU => simd!(writer, opcodes::I8X16_LE_U, ()),
+			I16x8LeS => simd!(writer, opcodes::I16X8_LE_S, ()),
+			I16x8LeU => simd!(writer, opcodes::I16X8_LE_U, ()),
+			I32x4LeS => simd!(writer, opcodes::I32X4_LE_S, ()),
+			I32x4LeU => simd!(writer, opcodes::I32X4_LE_U, ()),
+			// I64x2LeS => simd!(writer, opcodes::I64X2_LE_S, ()),
+			// I64x2LeU => simd!(writer, opcodes::I64X2_LE_U, ()),
+			F32x4Le => simd!(writer, opcodes::F32X4_LE, ()),
+			F64x2Le => simd!(writer, opcodes::F64X2_LE, ()),
+			I8x16GtS => simd!(writer, opcodes::I8X16_GT_S, ()),
+			I8x16GtU => simd!(writer, opcodes::I8X16_GT_U, ()),
+			I16x8GtS => simd!(writer, opcodes::I16X8_GT_S, ()),
+			I16x8GtU => simd!(writer, opcodes::I16X8_GT_U, ()),
+			I32x4GtS => simd!(writer, opcodes::I32X4_GT_S, ()),
+			I32x4GtU => simd!(writer, opcodes::I32X4_GT_U, ()),
+			// I64x2GtS => simd!(writer, opcodes::I64X2_GT_S, ()),
+			// I64x2GtU => simd!(writer, opcodes::I64X2_GT_U, ()),
+			F32x4Gt => simd!(writer, opcodes::F32X4_GT, ()),
+			F64x2Gt => simd!(writer, opcodes::F64X2_GT, ()),
+			I8x16GeS => simd!(writer, opcodes::I8X16_GE_S, ()),
+			I8x16GeU => simd!(writer, opcodes::I8X16_GE_U, ()),
+			I16x8GeS => simd!(writer, opcodes::I16X8_GE_S, ()),
+			I16x8GeU => simd!(writer, opcodes::I16X8_GE_U, ()),
+			I32x4GeS => simd!(writer, opcodes::I32X4_GE_S, ()),
+			I32x4GeU => simd!(writer, opcodes::I32X4_GE_U, ()),
+			// I64x2GeS => simd!(writer, opcodes::I64X2_GE_S, ()),
+			// I64x2GeU => simd!(writer, opcodes::I64X2_GE_U, ()),
+			F32x4Ge => simd!(writer, opcodes::F32X4_GE, ()),
+			F64x2Ge => simd!(writer, opcodes::F64X2_GE, ()),
+			F32x4Neg => simd!(writer, opcodes::F32X4_NEG, ()),
+			F64x2Neg => simd!(writer, opcodes::F64X2_NEG, ()),
+			F32x4Abs => simd!(writer, opcodes::F32X4_ABS, ()),
+			F64x2Abs => simd!(writer, opcodes::F64X2_ABS, ()),
+			F32x4Min => simd!(writer, opcodes::F32X4_MIN, ()),
+			F64x2Min => simd!(writer, opcodes::F64X2_MIN, ()),
+			F32x4Max => simd!(writer, opcodes::F32X4_MAX, ()),
+			F64x2Max => simd!(writer, opcodes::F64X2_MAX, ()),
+			F32x4Add => simd!(writer, opcodes::F32X4_ADD, ()),
+			F64x2Add => simd!(writer, opcodes::F64X2_ADD, ()),
+			F32x4Sub => simd!(writer, opcodes::F32X4_SUB, ()),
+			F64x2Sub => simd!(writer, opcodes::F64X2_SUB, ()),
+			F32x4Div => simd!(writer, opcodes::F32X4_DIV, ()),
+			F64x2Div => simd!(writer, opcodes::F64X2_DIV, ()),
+			F32x4Mul => simd!(writer, opcodes::F32X4_MUL, ()),
+			F64x2Mul => simd!(writer, opcodes::F64X2_MUL, ()),
+			F32x4Sqrt => simd!(writer, opcodes::F32X4_SQRT, ()),
+			F64x2Sqrt => simd!(writer, opcodes::F64X2_SQRT, ()),
+			F32x4ConvertSI32x4 => simd!(writer, opcodes::F32X4_CONVERT_S_I32X4, ()),
+			F32x4ConvertUI32x4 => simd!(writer, opcodes::F32X4_CONVERT_U_I32X4, ()),
+			F64x2ConvertSI64x2 => simd!(writer, opcodes::F64X2_CONVERT_S_I64X2, ()),
+			F64x2ConvertUI64x2 => simd!(writer, opcodes::F64X2_CONVERT_U_I64X2, ()),
+			I32x4TruncSF32x4Sat => simd!(writer, opcodes::I32X4_TRUNC_S_F32X4_SAT, ()),
+			I32x4TruncUF32x4Sat => simd!(writer, opcodes::I32X4_TRUNC_U_F32X4_SAT, ()),
+			I64x2TruncSF64x2Sat => simd!(writer, opcodes::I64X2_TRUNC_S_F64X2_SAT, ()),
+			I64x2TruncUF64x2Sat => simd!(writer, opcodes::I64X2_TRUNC_U_F64X2_SAT, ()),
+		}
+
+		Ok(())
+	}
+}
+
+impl Serialize for MemArg {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		Uint8::from(self.align).serialize(writer)?;
+		VarUint32::from(self.offset).serialize(writer)?;
+		Ok(())
+	}
+}
+
+macro_rules! fmt_op {
+	($f: expr, $mnemonic: expr) => ({
+		write!($f, "{}", $mnemonic)
+	});
+	($f: expr, $mnemonic: expr, $immediate: expr) => ({
+		write!($f, "{} {}", $mnemonic, $immediate)
+	});
+	($f: expr, $mnemonic: expr, $immediate1: expr, $immediate2: expr) => ({
+		write!($f, "{} {} {}", $mnemonic, $immediate1, $immediate2)
+	});
+}
+
+impl fmt::Display for Instruction {
+	fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+		use self::Instruction::*;
+		use super::BlockType;
+
+		match *self {
+			Unreachable => fmt_op!(f, "unreachable"),
+			Nop => fmt_op!(f, "nop"),
+			Block(BlockType::NoResult) => fmt_op!(f, "block"),
+			Block(BlockType::Value(value_type)) => fmt_op!(f, "block", value_type),
+			Loop(BlockType::NoResult) => fmt_op!(f, "loop"),
+			Loop(BlockType::Value(value_type)) => fmt_op!(f, "loop", value_type),
+			If(BlockType::NoResult) => fmt_op!(f, "if"),
+			If(BlockType::Value(value_type)) => fmt_op!(f, "if", value_type),
+			Else => fmt_op!(f, "else"),
+			End => fmt_op!(f, "end"),
+			Br(idx) => fmt_op!(f, "br",  idx),
+			BrIf(idx) => fmt_op!(f, "br_if",  idx),
+			BrTable(ref table) => fmt_op!(f, "br_table", table.default),
+			Return => fmt_op!(f, "return"),
+			Call(index) => fmt_op!(f, "call", index),
+			CallIndirect(index, _) =>  fmt_op!(f, "call_indirect", index),
+			Drop => fmt_op!(f, "drop"),
+			Select => fmt_op!(f, "select"),
+			GetLocal(index) => fmt_op!(f, "get_local", index),
+			SetLocal(index) => fmt_op!(f, "set_local", index),
+			TeeLocal(index) => fmt_op!(f, "tee_local", index),
+			GetGlobal(index) => fmt_op!(f, "get_global", index),
+			SetGlobal(index) => fmt_op!(f, "set_global", index),
+
+			I32Load(_, 0) => write!(f, "i32.load"),
+			I32Load(_, offset) => write!(f, "i32.load offset={}", offset),
+
+			I64Load(_, 0) => write!(f, "i64.load"),
+			I64Load(_, offset) => write!(f, "i64.load offset={}", offset),
+
+			F32Load(_, 0) => write!(f, "f32.load"),
+			F32Load(_, offset) => write!(f, "f32.load offset={}", offset),
+
+			F64Load(_, 0) => write!(f, "f64.load"),
+			F64Load(_, offset) => write!(f, "f64.load offset={}", offset),
+
+			I32Load8S(_, 0) => write!(f, "i32.load8_s"),
+			I32Load8S(_, offset) => write!(f, "i32.load8_s offset={}", offset),
+
+			I32Load8U(_, 0) => write!(f, "i32.load8_u"),
+			I32Load8U(_, offset) => write!(f, "i32.load8_u offset={}", offset),
+
+			I32Load16S(_, 0) => write!(f, "i32.load16_s"),
+			I32Load16S(_, offset) => write!(f, "i32.load16_s offset={}", offset),
+
+			I32Load16U(_, 0) => write!(f, "i32.load16_u"),
+			I32Load16U(_, offset) => write!(f, "i32.load16_u offset={}", offset),
+
+			I64Load8S(_, 0) => write!(f, "i64.load8_s"),
+			I64Load8S(_, offset) => write!(f, "i64.load8_s offset={}", offset),
+
+			I64Load8U(_, 0) => write!(f, "i64.load8_u"),
+			I64Load8U(_, offset) => write!(f, "i64.load8_u offset={}", offset),
+
+			I64Load16S(_, 0) => write!(f, "i64.load16_s"),
+			I64Load16S(_, offset) => write!(f, "i64.load16_s offset={}", offset),
+
+			I64Load16U(_, 0) => write!(f, "i64.load16_u"),
+			I64Load16U(_, offset) => write!(f, "i64.load16_u offset={}", offset),
+
+			I64Load32S(_, 0) => write!(f, "i64.load32_s"),
+			I64Load32S(_, offset) => write!(f, "i64.load32_s offset={}", offset),
+
+			I64Load32U(_, 0) => write!(f, "i64.load32_u"),
+			I64Load32U(_, offset) => write!(f, "i64.load32_u offset={}", offset),
+
+			I32Store(_, 0) => write!(f, "i32.store"),
+			I32Store(_, offset) => write!(f, "i32.store offset={}", offset),
+
+			I64Store(_, 0) => write!(f, "i64.store"),
+			I64Store(_, offset) => write!(f, "i64.store offset={}", offset),
+
+			F32Store(_, 0) => write!(f, "f32.store"),
+			F32Store(_, offset) => write!(f, "f32.store offset={}", offset),
+
+			F64Store(_, 0) => write!(f, "f64.store"),
+			F64Store(_, offset) => write!(f, "f64.store offset={}", offset),
+
+			I32Store8(_, 0) => write!(f, "i32.store8"),
+			I32Store8(_, offset) => write!(f, "i32.store8 offset={}", offset),
+
+			I32Store16(_, 0) => write!(f, "i32.store16"),
+			I32Store16(_, offset) => write!(f, "i32.store16 offset={}", offset),
+
+			I64Store8(_, 0) => write!(f, "i64.store8"),
+			I64Store8(_, offset) => write!(f, "i64.store8 offset={}", offset),
+
+			I64Store16(_, 0) => write!(f, "i64.store16"),
+			I64Store16(_, offset) => write!(f, "i64.store16 offset={}", offset),
+
+			I64Store32(_, 0) => write!(f, "i64.store32"),
+			I64Store32(_, offset) => write!(f, "i64.store32 offset={}", offset),
+
+			CurrentMemory(_) => fmt_op!(f, "current_memory"),
+			GrowMemory(_) => fmt_op!(f, "grow_memory"),
+
+			I32Const(def) => fmt_op!(f, "i32.const", def),
+			I64Const(def) => fmt_op!(f, "i64.const", def),
+			F32Const(def) => fmt_op!(f, "f32.const", def),
+			F64Const(def) => fmt_op!(f, "f64.const", def),
+
+			I32Eq => write!(f, "i32.eq"),
+			I32Eqz => write!(f, "i32.eqz"),
+			I32Ne => write!(f, "i32.ne"),
+			I32LtS => write!(f, "i32.lt_s"),
+			I32LtU => write!(f, "i32.lt_u"),
+			I32GtS => write!(f, "i32.gt_s"),
+			I32GtU => write!(f, "i32.gt_u"),
+			I32LeS => write!(f, "i32.le_s"),
+			I32LeU => write!(f, "i32.le_u"),
+			I32GeS => write!(f, "i32.ge_s"),
+			I32GeU => write!(f, "i32.ge_u"),
+
+			I64Eq => write!(f, "i64.eq"),
+			I64Eqz => write!(f, "i64.eqz"),
+			I64Ne => write!(f, "i64.ne"),
+			I64LtS => write!(f, "i64.lt_s"),
+			I64LtU => write!(f, "i64.lt_u"),
+			I64GtS => write!(f, "i64.gt_s"),
+			I64GtU => write!(f, "i64.gt_u"),
+			I64LeS => write!(f, "i64.le_s"),
+			I64LeU => write!(f, "i64.le_u"),
+			I64GeS => write!(f, "i64.ge_s"),
+			I64GeU => write!(f, "i64.ge_u"),
+
+			F32Eq => write!(f, "f32.eq"),
+			F32Ne => write!(f, "f32.ne"),
+			F32Lt => write!(f, "f32.lt"),
+			F32Gt => write!(f, "f32.gt"),
+			F32Le => write!(f, "f32.le"),
+			F32Ge => write!(f, "f32.ge"),
+
+			F64Eq => write!(f, "f64.eq"),
+			F64Ne => write!(f, "f64.ne"),
+			F64Lt => write!(f, "f64.lt"),
+			F64Gt => write!(f, "f64.gt"),
+			F64Le => write!(f, "f64.le"),
+			F64Ge => write!(f, "f64.ge"),
+
+			I32Clz => write!(f, "i32.clz"),
+			I32Ctz => write!(f, "i32.ctz"),
+			I32Popcnt => write!(f, "i32.popcnt"),
+			I32Add => write!(f, "i32.add"),
+			I32Sub => write!(f, "i32.sub"),
+			I32Mul => write!(f, "i32.mul"),
+			I32DivS => write!(f, "i32.div_s"),
+			I32DivU => write!(f, "i32.div_u"),
+			I32RemS => write!(f, "i32.rem_s"),
+			I32RemU => write!(f, "i32.rem_u"),
+			I32And => write!(f, "i32.and"),
+			I32Or => write!(f, "i32.or"),
+			I32Xor => write!(f, "i32.xor"),
+			I32Shl => write!(f, "i32.shl"),
+			I32ShrS => write!(f, "i32.shr_s"),
+			I32ShrU => write!(f, "i32.shr_u"),
+			I32Rotl => write!(f, "i32.rotl"),
+			I32Rotr => write!(f, "i32.rotr"),
+
+			I64Clz => write!(f, "i64.clz"),
+			I64Ctz => write!(f, "i64.ctz"),
+			I64Popcnt => write!(f, "i64.popcnt"),
+			I64Add => write!(f, "i64.add"),
+			I64Sub => write!(f, "i64.sub"),
+			I64Mul => write!(f, "i64.mul"),
+			I64DivS => write!(f, "i64.div_s"),
+			I64DivU => write!(f, "i64.div_u"),
+			I64RemS => write!(f, "i64.rem_s"),
+			I64RemU => write!(f, "i64.rem_u"),
+			I64And => write!(f, "i64.and"),
+			I64Or => write!(f, "i64.or"),
+			I64Xor => write!(f, "i64.xor"),
+			I64Shl => write!(f, "i64.shl"),
+			I64ShrS => write!(f, "i64.shr_s"),
+			I64ShrU => write!(f, "i64.shr_u"),
+			I64Rotl => write!(f, "i64.rotl"),
+			I64Rotr => write!(f, "i64.rotr"),
+
+			F32Abs => write!(f, "f32.abs"),
+			F32Neg => write!(f, "f32.neg"),
+			F32Ceil => write!(f, "f32.ceil"),
+			F32Floor => write!(f, "f32.floor"),
+			F32Trunc => write!(f, "f32.trunc"),
+			F32Nearest => write!(f, "f32.nearest"),
+			F32Sqrt => write!(f, "f32.sqrt"),
+			F32Add => write!(f, "f32.add"),
+			F32Sub => write!(f, "f32.sub"),
+			F32Mul => write!(f, "f32.mul"),
+			F32Div => write!(f, "f32.div"),
+			F32Min => write!(f, "f32.min"),
+			F32Max => write!(f, "f32.max"),
+			F32Copysign => write!(f, "f32.copysign"),
+
+			F64Abs => write!(f, "f64.abs"),
+			F64Neg => write!(f, "f64.neg"),
+			F64Ceil => write!(f, "f64.ceil"),
+			F64Floor => write!(f, "f64.floor"),
+			F64Trunc => write!(f, "f64.trunc"),
+			F64Nearest => write!(f, "f64.nearest"),
+			F64Sqrt => write!(f, "f64.sqrt"),
+			F64Add => write!(f, "f64.add"),
+			F64Sub => write!(f, "f64.sub"),
+			F64Mul => write!(f, "f64.mul"),
+			F64Div => write!(f, "f64.div"),
+			F64Min => write!(f, "f64.min"),
+			F64Max => write!(f, "f64.max"),
+			F64Copysign => write!(f, "f64.copysign"),
+
+			I32WrapI64 => write!(f, "i32.wrap/i64"),
+			I32TruncSF32 => write!(f, "i32.trunc_s/f32"),
+			I32TruncUF32 => write!(f, "i32.trunc_u/f32"),
+			I32TruncSF64 => write!(f, "i32.trunc_s/f64"),
+			I32TruncUF64 => write!(f, "i32.trunc_u/f64"),
+
+			I64ExtendSI32 => write!(f, "i64.extend_s/i32"),
+			I64ExtendUI32 => write!(f, "i64.extend_u/i32"),
+
+			I64TruncSF32 => write!(f, "i64.trunc_s/f32"),
+			I64TruncUF32 => write!(f, "i64.trunc_u/f32"),
+			I64TruncSF64 => write!(f, "i64.trunc_s/f64"),
+			I64TruncUF64 => write!(f, "i64.trunc_u/f64"),
+
+			F32ConvertSI32 => write!(f, "f32.convert_s/i32"),
+			F32ConvertUI32 => write!(f, "f32.convert_u/i32"),
+			F32ConvertSI64 => write!(f, "f32.convert_s/i64"),
+			F32ConvertUI64 => write!(f, "f32.convert_u/i64"),
+			F32DemoteF64 => write!(f, "f32.demote/f64"),
+
+			F64ConvertSI32 => write!(f, "f64.convert_s/i32"),
+			F64ConvertUI32 => write!(f, "f64.convert_u/i32"),
+			F64ConvertSI64 => write!(f, "f64.convert_s/i64"),
+			F64ConvertUI64 => write!(f, "f64.convert_u/i64"),
+			F64PromoteF32 => write!(f, "f64.promote/f32"),
+
+			I32ReinterpretF32 => write!(f, "i32.reinterpret/f32"),
+			I64ReinterpretF64 => write!(f, "i64.reinterpret/f64"),
+			F32ReinterpretI32 => write!(f, "f32.reinterpret/i32"),
+			F64ReinterpretI64 => write!(f, "f64.reinterpret/i64"),
+
+			I32Extend8S => write!(f, "i32.extend8_s"),
+			I32Extend16S => write!(f, "i32.extend16_s"),
+			I64Extend8S => write!(f, "i64.extend8_s"),
+			I64Extend16S => write!(f, "i64.extend16_s"),
+			I64Extend32S => write!(f, "i64.extend32_s"),
+
+			AtomicWake(_) => write!(f, "atomic.wake"),
+			I32AtomicWait(_) => write!(f, "i32.atomic.wait"),
+			I64AtomicWait(_) => write!(f, "i64.atomic.wait"),
+
+			I32AtomicLoad(_) => write!(f, "i32.atomic.load"),
+			I64AtomicLoad(_) => write!(f, "i64.atomic.load"),
+			I32AtomicLoad8u(_) => write!(f, "i32.atomic.load8_u"),
+			I32AtomicLoad16u(_) => write!(f, "i32.atomic.load16_u"),
+			I64AtomicLoad8u(_) => write!(f, "i64.atomic.load8_u"),
+			I64AtomicLoad16u(_) => write!(f, "i64.atomic.load16_u"),
+			I64AtomicLoad32u(_) => write!(f, "i64.atomic.load32_u"),
+			I32AtomicStore(_) => write!(f, "i32.atomic.store"),
+			I64AtomicStore(_) => write!(f, "i64.atomic.store"),
+			I32AtomicStore8u(_) => write!(f, "i32.atomic.store8_u"),
+			I32AtomicStore16u(_) => write!(f, "i32.atomic.store16_u"),
+			I64AtomicStore8u(_) => write!(f, "i64.atomic.store8_u"),
+			I64AtomicStore16u(_) => write!(f, "i64.atomic.store16_u"),
+			I64AtomicStore32u(_) => write!(f, "i64.atomic.store32_u"),
+
+			I32AtomicRmwAdd(_) => write!(f, "i32.atomic.rmw.add"),
+			I64AtomicRmwAdd(_) => write!(f, "i64.atomic.rmw.add"),
+			I32AtomicRmwAdd8u(_) => write!(f, "i32.atomic.rmw8_u.add"),
+			I32AtomicRmwAdd16u(_) => write!(f, "i32.atomic.rmw16_u.add"),
+			I64AtomicRmwAdd8u(_) => write!(f, "i64.atomic.rmw8_u.add"),
+			I64AtomicRmwAdd16u(_) => write!(f, "i64.atomic.rmw16_u.add"),
+			I64AtomicRmwAdd32u(_) => write!(f, "i64.atomic.rmw32_u.add"),
+
+			I32AtomicRmwSub(_) => write!(f, "i32.atomic.rmw.sub"),
+			I64AtomicRmwSub(_) => write!(f, "i64.atomic.rmw.sub"),
+			I32AtomicRmwSub8u(_) => write!(f, "i32.atomic.rmw8_u.sub"),
+			I32AtomicRmwSub16u(_) => write!(f, "i32.atomic.rmw16_u.sub"),
+			I64AtomicRmwSub8u(_) => write!(f, "i64.atomic.rmw8_u.sub"),
+			I64AtomicRmwSub16u(_) => write!(f, "i64.atomic.rmw16_u.sub"),
+			I64AtomicRmwSub32u(_) => write!(f, "i64.atomic.rmw32_u.sub"),
+
+			I32AtomicRmwAnd(_) => write!(f, "i32.atomic.rmw.and"),
+			I64AtomicRmwAnd(_) => write!(f, "i64.atomic.rmw.and"),
+			I32AtomicRmwAnd8u(_) => write!(f, "i32.atomic.rmw8_u.and"),
+			I32AtomicRmwAnd16u(_) => write!(f, "i32.atomic.rmw16_u.and"),
+			I64AtomicRmwAnd8u(_) => write!(f, "i64.atomic.rmw8_u.and"),
+			I64AtomicRmwAnd16u(_) => write!(f, "i64.atomic.rmw16_u.and"),
+			I64AtomicRmwAnd32u(_) => write!(f, "i64.atomic.rmw32_u.and"),
+
+			I32AtomicRmwOr(_) => write!(f, "i32.atomic.rmw.or"),
+			I64AtomicRmwOr(_) => write!(f, "i64.atomic.rmw.or"),
+			I32AtomicRmwOr8u(_) => write!(f, "i32.atomic.rmw8_u.or"),
+			I32AtomicRmwOr16u(_) => write!(f, "i32.atomic.rmw16_u.or"),
+			I64AtomicRmwOr8u(_) => write!(f, "i64.atomic.rmw8_u.or"),
+			I64AtomicRmwOr16u(_) => write!(f, "i64.atomic.rmw16_u.or"),
+			I64AtomicRmwOr32u(_) => write!(f, "i64.atomic.rmw32_u.or"),
+
+			I32AtomicRmwXor(_) => write!(f, "i32.atomic.rmw.xor"),
+			I64AtomicRmwXor(_) => write!(f, "i64.atomic.rmw.xor"),
+			I32AtomicRmwXor8u(_) => write!(f, "i32.atomic.rmw8_u.xor"),
+			I32AtomicRmwXor16u(_) => write!(f, "i32.atomic.rmw16_u.xor"),
+			I64AtomicRmwXor8u(_) => write!(f, "i64.atomic.rmw8_u.xor"),
+			I64AtomicRmwXor16u(_) => write!(f, "i64.atomic.rmw16_u.xor"),
+			I64AtomicRmwXor32u(_) => write!(f, "i64.atomic.rmw32_u.xor"),
+
+			I32AtomicRmwXchg(_) => write!(f, "i32.atomic.rmw.xchg"),
+			I64AtomicRmwXchg(_) => write!(f, "i64.atomic.rmw.xchg"),
+			I32AtomicRmwXchg8u(_) => write!(f, "i32.atomic.rmw8_u.xchg"),
+			I32AtomicRmwXchg16u(_) => write!(f, "i32.atomic.rmw16_u.xchg"),
+			I64AtomicRmwXchg8u(_) => write!(f, "i64.atomic.rmw8_u.xchg"),
+			I64AtomicRmwXchg16u(_) => write!(f, "i64.atomic.rmw16_u.xchg"),
+			I64AtomicRmwXchg32u(_) => write!(f, "i64.atomic.rmw32_u.xchg"),
+
+			I32AtomicRmwCmpxchg(_) => write!(f, "i32.atomic.rmw.cmpxchg"),
+			I64AtomicRmwCmpxchg(_) => write!(f, "i64.atomic.rmw.cmpxchg"),
+			I32AtomicRmwCmpxchg8u(_) => write!(f, "i32.atomic.rmw8_u.cmpxchg"),
+			I32AtomicRmwCmpxchg16u(_) => write!(f, "i32.atomic.rmw16_u.cmpxchg"),
+			I64AtomicRmwCmpxchg8u(_) => write!(f, "i64.atomic.rmw8_u.cmpxchg"),
+			I64AtomicRmwCmpxchg16u(_) => write!(f, "i64.atomic.rmw16_u.cmpxchg"),
+			I64AtomicRmwCmpxchg32u(_) => write!(f, "i64.atomic.rmw32_u.cmpxchg"),
+
+			V128Const(_) => write!(f, "v128.const"),
+			V128Load(_) => write!(f, "v128.load"),
+			V128Store(_) => write!(f, "v128.store"),
+			I8x16Splat => write!(f, "i8x16.splat"),
+			I16x8Splat => write!(f, "i16x8.splat"),
+			I32x4Splat => write!(f, "i32x4.splat"),
+			I64x2Splat => write!(f, "i64x2.splat"),
+			F32x4Splat => write!(f, "f32x4.splat"),
+			F64x2Splat => write!(f, "f64x2.splat"),
+			I8x16ExtractLaneS(_) => write!(f, "i8x16.extract_lane_s"),
+			I8x16ExtractLaneU(_) => write!(f, "i8x16.extract_lane_u"),
+			I16x8ExtractLaneS(_) => write!(f, "i16x8.extract_lane_s"),
+			I16x8ExtractLaneU(_) => write!(f, "i16x8.extract_lane_u"),
+			I32x4ExtractLane(_) => write!(f, "i32x4.extract_lane"),
+			I64x2ExtractLane(_) => write!(f, "i64x2.extract_lane"),
+			F32x4ExtractLane(_) => write!(f, "f32x4.extract_lane"),
+			F64x2ExtractLane(_) => write!(f, "f64x2.extract_lane"),
+			I8x16ReplaceLane(_) => write!(f, "i8x16.replace_lane"),
+			I16x8ReplaceLane(_) => write!(f, "i16x8.replace_lane"),
+			I32x4ReplaceLane(_) => write!(f, "i32x4.replace_lane"),
+			I64x2ReplaceLane(_) => write!(f, "i64x2.replace_lane"),
+			F32x4ReplaceLane(_) => write!(f, "f32x4.replace_lane"),
+			F64x2ReplaceLane(_) => write!(f, "f64x2.replace_lane"),
+			V8x16Shuffle(_) => write!(f, "v8x16.shuffle"),
+			I8x16Add => write!(f, "i8x16.add"),
+			I16x8Add => write!(f, "i16x8.add"),
+			I32x4Add => write!(f, "i32x4.add"),
+			I64x2Add => write!(f, "i64x2.add"),
+			I8x16Sub => write!(f, "i8x16.sub"),
+			I16x8Sub => write!(f, "i16x8.sub"),
+			I32x4Sub => write!(f, "i32x4.sub"),
+			I64x2Sub => write!(f, "i64x2.sub"),
+			I8x16Mul => write!(f, "i8x16.mul"),
+			I16x8Mul => write!(f, "i16x8.mul"),
+			I32x4Mul => write!(f, "i32x4.mul"),
+			// I64x2Mul => write!(f, "i64x2.mul"),
+			I8x16Neg => write!(f, "i8x16.neg"),
+			I16x8Neg => write!(f, "i16x8.neg"),
+			I32x4Neg => write!(f, "i32x4.neg"),
+			I64x2Neg => write!(f, "i64x2.neg"),
+			I8x16AddSaturateS => write!(f, "i8x16.add_saturate_s"),
+			I8x16AddSaturateU => write!(f, "i8x16.add_saturate_u"),
+			I16x8AddSaturateS => write!(f, "i16x8.add_saturate_S"),
+			I16x8AddSaturateU => write!(f, "i16x8.add_saturate_u"),
+			I8x16SubSaturateS => write!(f, "i8x16.sub_saturate_S"),
+			I8x16SubSaturateU => write!(f, "i8x16.sub_saturate_u"),
+			I16x8SubSaturateS => write!(f, "i16x8.sub_saturate_S"),
+			I16x8SubSaturateU => write!(f, "i16x8.sub_saturate_u"),
+			I8x16Shl => write!(f, "i8x16.shl"),
+			I16x8Shl => write!(f, "i16x8.shl"),
+			I32x4Shl => write!(f, "i32x4.shl"),
+			I64x2Shl => write!(f, "i64x2.shl"),
+			I8x16ShrS => write!(f, "i8x16.shr_s"),
+			I8x16ShrU => write!(f, "i8x16.shr_u"),
+			I16x8ShrS => write!(f, "i16x8.shr_s"),
+			I16x8ShrU => write!(f, "i16x8.shr_u"),
+			I32x4ShrS => write!(f, "i32x4.shr_s"),
+			I32x4ShrU => write!(f, "i32x4.shr_u"),
+			I64x2ShrS => write!(f, "i64x2.shr_s"),
+			I64x2ShrU => write!(f, "i64x2.shr_u"),
+			V128And => write!(f, "v128.and"),
+			V128Or => write!(f, "v128.or"),
+			V128Xor => write!(f, "v128.xor"),
+			V128Not => write!(f, "v128.not"),
+			V128Bitselect => write!(f, "v128.bitselect"),
+			I8x16AnyTrue => write!(f, "i8x16.any_true"),
+			I16x8AnyTrue => write!(f, "i16x8.any_true"),
+			I32x4AnyTrue => write!(f, "i32x4.any_true"),
+			I64x2AnyTrue => write!(f, "i64x2.any_true"),
+			I8x16AllTrue => write!(f, "i8x16.all_true"),
+			I16x8AllTrue => write!(f, "i16x8.all_true"),
+			I32x4AllTrue => write!(f, "i32x4.all_true"),
+			I64x2AllTrue => write!(f, "i64x2.all_true"),
+			I8x16Eq => write!(f, "i8x16.eq"),
+			I16x8Eq => write!(f, "i16x8.eq"),
+			I32x4Eq => write!(f, "i32x4.eq"),
+			// I64x2Eq => write!(f, "i64x2.eq"),
+			F32x4Eq => write!(f, "f32x4.eq"),
+			F64x2Eq => write!(f, "f64x2.eq"),
+			I8x16Ne => write!(f, "i8x16.ne"),
+			I16x8Ne => write!(f, "i16x8.ne"),
+			I32x4Ne => write!(f, "i32x4.ne"),
+			// I64x2Ne => write!(f, "i64x2.ne"),
+			F32x4Ne => write!(f, "f32x4.ne"),
+			F64x2Ne => write!(f, "f64x2.ne"),
+			I8x16LtS => write!(f, "i8x16.lt_s"),
+			I8x16LtU => write!(f, "i8x16.lt_u"),
+			I16x8LtS => write!(f, "i16x8.lt_s"),
+			I16x8LtU => write!(f, "i16x8.lt_u"),
+			I32x4LtS => write!(f, "i32x4.lt_s"),
+			I32x4LtU => write!(f, "i32x4.lt_u"),
+			// I64x2LtS => write!(f, "// I64x2.lt_s"),
+			// I64x2LtU => write!(f, "// I64x2.lt_u"),
+			F32x4Lt => write!(f, "f32x4.lt"),
+			F64x2Lt => write!(f, "f64x2.lt"),
+			I8x16LeS => write!(f, "i8x16.le_s"),
+			I8x16LeU => write!(f, "i8x16.le_u"),
+			I16x8LeS => write!(f, "i16x8.le_s"),
+			I16x8LeU => write!(f, "i16x8.le_u"),
+			I32x4LeS => write!(f, "i32x4.le_s"),
+			I32x4LeU => write!(f, "i32x4.le_u"),
+			// I64x2LeS => write!(f, "// I64x2.le_s"),
+			// I64x2LeU => write!(f, "// I64x2.le_u"),
+			F32x4Le => write!(f, "f32x4.le"),
+			F64x2Le => write!(f, "f64x2.le"),
+			I8x16GtS => write!(f, "i8x16.gt_s"),
+			I8x16GtU => write!(f, "i8x16.gt_u"),
+			I16x8GtS => write!(f, "i16x8.gt_s"),
+			I16x8GtU => write!(f, "i16x8.gt_u"),
+			I32x4GtS => write!(f, "i32x4.gt_s"),
+			I32x4GtU => write!(f, "i32x4.gt_u"),
+			// I64x2GtS => write!(f, "// I64x2.gt_s"),
+			// I64x2GtU => write!(f, "// I64x2.gt_u"),
+			F32x4Gt => write!(f, "f32x4.gt"),
+			F64x2Gt => write!(f, "f64x2.gt"),
+			I8x16GeS => write!(f, "i8x16.ge_s"),
+			I8x16GeU => write!(f, "i8x16.ge_u"),
+			I16x8GeS => write!(f, "i16x8.ge_s"),
+			I16x8GeU => write!(f, "i16x8.ge_u"),
+			I32x4GeS => write!(f, "i32x4.ge_s"),
+			I32x4GeU => write!(f, "i32x4.ge_u"),
+			// I64x2GeS => write!(f, "// I64x2.ge_s"),
+			// I64x2GeU => write!(f, "// I64x2.ge_u"),
+			F32x4Ge => write!(f, "f32x4.ge"),
+			F64x2Ge => write!(f, "f64x2.ge"),
+			F32x4Neg => write!(f, "f32x4.neg"),
+			F64x2Neg => write!(f, "f64x2.neg"),
+			F32x4Abs => write!(f, "f32x4.abs"),
+			F64x2Abs => write!(f, "f64x2.abs"),
+			F32x4Min => write!(f, "f32x4.min"),
+			F64x2Min => write!(f, "f64x2.min"),
+			F32x4Max => write!(f, "f32x4.max"),
+			F64x2Max => write!(f, "f64x2.max"),
+			F32x4Add => write!(f, "f32x4.add"),
+			F64x2Add => write!(f, "f64x2.add"),
+			F32x4Sub => write!(f, "f32x4.sub"),
+			F64x2Sub => write!(f, "f64x2.sub"),
+			F32x4Div => write!(f, "f32x4.div"),
+			F64x2Div => write!(f, "f64x2.div"),
+			F32x4Mul => write!(f, "f32x4.mul"),
+			F64x2Mul => write!(f, "f64x2.mul"),
+			F32x4Sqrt => write!(f, "f32x4.sqrt"),
+			F64x2Sqrt => write!(f, "f64x2.sqrt"),
+			F32x4ConvertSI32x4 => write!(f, "f32x4.convert_s/i32x4"),
+			F32x4ConvertUI32x4 => write!(f, "f32x4.convert_u/i32x4"),
+			F64x2ConvertSI64x2 => write!(f, "f64x2.convert_s/i64x2"),
+			F64x2ConvertUI64x2 => write!(f, "f64x2.convert_u/i64x2"),
+			I32x4TruncSF32x4Sat => write!(f, "i32x4.trunc_s/f32x4:sat"),
+			I32x4TruncUF32x4Sat => write!(f, "i32x4.trunc_u/f32x4:sat"),
+			I64x2TruncSF64x2Sat => write!(f, "i64x2.trunc_s/f64x2:sat"),
+			I64x2TruncUF64x2Sat => write!(f, "i64x2.trunc_u/f64x2:sat"),
+		}
+	}
+}
+
+impl Serialize for Instructions {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		for op in self.0.into_iter() {
+			op.serialize(writer)?;
+		}
+
+		Ok(())
+	}
+}
+
+impl Serialize for InitExpr {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		for op in self.0.into_iter() {
+			op.serialize(writer)?;
+		}
+
+		Ok(())
+	}
+}
+
+#[test]
+fn ifelse() {
+	// see if-else.wast/if-else.wasm
+	let instruction_list = super::deserialize_buffer::<Instructions>(&[0x04, 0x7F, 0x41, 0x05, 0x05, 0x41, 0x07, 0x0B, 0x0B])
+		.expect("valid hex of if instruction");
+	let instructions = instruction_list.elements();
+	match &instructions[0] {
+		&Instruction::If(_) => (),
+		_ => panic!("Should be deserialized as if instruction"),
+	}
+	let before_else = instructions.iter().skip(1)
+		.take_while(|op| match **op { Instruction::Else => false, _ => true }).count();
+	let after_else = instructions.iter().skip(1)
+		.skip_while(|op| match **op { Instruction::Else => false, _ => true })
+		.take_while(|op| match **op { Instruction::End => false, _ => true })
+		.count()
+		- 1; // minus Instruction::Else itself
+	assert_eq!(before_else, after_else);
+}
+
+#[test]
+fn display() {
+	let instruction = Instruction::GetLocal(0);
+	assert_eq!("get_local 0", format!("{}", instruction));
+
+	let instruction = Instruction::F64Store(0, 24);
+	assert_eq!("f64.store offset=24", format!("{}", instruction));
+
+	let instruction = Instruction::I64Store(0, 0);
+	assert_eq!("i64.store", format!("{}", instruction));
+}
+
+#[test]
+fn size_off() {
+	assert!(::std::mem::size_of::<Instruction>() <= 24);
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/primitives.rs.html b/src/parity_wasm/elements/primitives.rs.html new file mode 100644 index 0000000..5afa3fd --- /dev/null +++ b/src/parity_wasm/elements/primitives.rs.html @@ -0,0 +1,1819 @@ +primitives.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+
+use io;
+use std::vec::Vec;
+use std::string::String;
+use byteorder::{LittleEndian, ByteOrder};
+use super::{Error, Deserialize, Serialize};
+
+/// Unsigned variable-length integer, limited to 32 bits,
+/// represented by at most 5 bytes that may contain padding 0x80 bytes.
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct VarUint32(u32);
+
+impl From<VarUint32> for usize {
+	fn from(var: VarUint32) -> usize {
+		var.0 as usize
+	}
+}
+
+impl From<VarUint32> for u32 {
+	fn from(var: VarUint32) -> u32 {
+		var.0
+	}
+}
+
+impl From<u32> for VarUint32 {
+	fn from(i: u32) -> VarUint32 {
+		VarUint32(i)
+	}
+}
+
+impl From<usize> for VarUint32 {
+	fn from(i: usize) -> VarUint32 {
+		assert!(i <= ::std::u32::MAX as usize);
+		VarUint32(i as u32)
+	}
+}
+
+impl Deserialize for VarUint32 {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut res = 0;
+		let mut shift = 0;
+		let mut u8buf = [0u8; 1];
+		loop {
+			if shift > 31 { return Err(Error::InvalidVarUint32); }
+
+			reader.read(&mut u8buf)?;
+			let b = u8buf[0] as u32;
+			res |= (b & 0x7f).checked_shl(shift).ok_or(Error::InvalidVarUint32)?;
+			shift += 7;
+			if (b >> 7) == 0 {
+				if shift >= 32 && (b as u8).leading_zeros() < 4 {
+					return Err(Error::InvalidVarInt32);
+				}
+				break;
+			}
+		}
+		Ok(VarUint32(res))
+	}
+}
+
+impl Serialize for VarUint32 {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut buf = [0u8; 1];
+		let mut v = self.0;
+		loop {
+			buf[0] = (v & 0b0111_1111) as u8;
+			v >>= 7;
+			if v > 0 {
+				buf[0] |= 0b1000_0000;
+			}
+			writer.write(&buf[..])?;
+			if v == 0 { break; }
+		}
+
+		Ok(())
+	}
+}
+
+/// Unsigned variable-length integer, limited to 64 bits,
+/// represented by at most 9 bytes that may contain padding 0x80 bytes.
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct VarUint64(u64);
+
+impl From<VarUint64> for u64 {
+	fn from(var: VarUint64) -> u64 {
+		var.0
+	}
+}
+
+impl Deserialize for VarUint64 {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut res = 0;
+		let mut shift = 0;
+		let mut u8buf = [0u8; 1];
+		loop {
+			if shift > 63 { return Err(Error::InvalidVarUint64); }
+
+			reader.read(&mut u8buf)?;
+			let b = u8buf[0] as u64;
+			res |= (b & 0x7f).checked_shl(shift).ok_or(Error::InvalidVarUint64)?;
+			shift += 7;
+			if (b >> 7) == 0 {
+				if shift >= 64 && (b as u8).leading_zeros() < 7 {
+					return Err(Error::InvalidVarInt64);
+				}
+				break;
+			}
+		}
+		Ok(VarUint64(res))
+	}
+}
+
+impl Serialize for VarUint64 {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut buf = [0u8; 1];
+		let mut v = self.0;
+		loop {
+			buf[0] = (v & 0b0111_1111) as u8;
+			v >>= 7;
+			if v > 0 {
+				buf[0] |= 0b1000_0000;
+			}
+			writer.write(&buf[..])?;
+			if v == 0 { break; }
+		}
+
+		Ok(())
+	}
+}
+
+impl From<u64> for VarUint64 {
+	fn from(u: u64) -> VarUint64 {
+		VarUint64(u)
+	}
+}
+
+/// 7-bit unsigned integer, encoded in LEB128 (always 1 byte length)
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct VarUint7(u8);
+
+impl From<VarUint7> for u8 {
+	fn from(v: VarUint7) -> u8 {
+		v.0
+	}
+}
+
+impl From<u8> for VarUint7 {
+	fn from(v: u8) -> Self {
+		VarUint7(v)
+	}
+}
+
+impl Deserialize for VarUint7 {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut u8buf = [0u8; 1];
+		reader.read(&mut u8buf)?;
+		Ok(VarUint7(u8buf[0]))
+	}
+}
+
+impl Serialize for VarUint7 {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		// todo check range?
+		writer.write(&[self.0])?;
+		Ok(())
+	}
+}
+
+/// 7-bit signed integer, encoded in LEB128 (always 1 byte length)
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct VarInt7(i8);
+
+impl From<VarInt7> for i8 {
+	fn from(v: VarInt7) -> i8 {
+		v.0
+	}
+}
+
+impl From<i8> for VarInt7 {
+	fn from(v: i8) -> VarInt7 {
+		VarInt7(v)
+	}
+}
+
+impl Deserialize for VarInt7 {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut u8buf = [0u8; 1];
+		reader.read(&mut u8buf)?;
+
+		// check if number is not continued!
+		if u8buf[0] & 0b1000_0000 != 0 {
+			return Err(Error::InvalidVarInt7(u8buf[0]));
+		}
+
+		// expand sign
+		if u8buf[0] & 0b0100_0000 == 0b0100_0000 { u8buf[0] |= 0b1000_0000 }
+
+		Ok(VarInt7(u8buf[0] as i8))
+	}
+}
+
+impl Serialize for VarInt7 {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		// todo check range?
+		let mut b: u8 = self.0 as u8;
+		if self.0 < 0 { b |= 0b0100_0000; b &= 0b0111_1111; }
+		writer.write(&[b])?;
+		Ok(())
+	}
+}
+
+/// 8-bit unsigned integer, NOT encoded in LEB128;
+/// it's just a single byte.
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct Uint8(u8);
+
+impl From<Uint8> for u8 {
+	fn from(v: Uint8) -> u8 {
+		v.0
+	}
+}
+
+impl From<u8> for Uint8 {
+	fn from(v: u8) -> Self {
+		Uint8(v)
+	}
+}
+
+impl Deserialize for Uint8 {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut u8buf = [0u8; 1];
+		reader.read(&mut u8buf)?;
+		Ok(Uint8(u8buf[0]))
+	}
+}
+
+impl Serialize for Uint8 {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		writer.write(&[self.0])?;
+		Ok(())
+	}
+}
+
+
+/// 32-bit signed integer, encoded in LEB128 (can be 1-5 bytes length)
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct VarInt32(i32);
+
+impl From<VarInt32> for i32 {
+	fn from(v: VarInt32) -> i32 {
+		v.0
+	}
+}
+
+impl From<i32> for VarInt32 {
+	fn from(v: i32) -> VarInt32 {
+		VarInt32(v)
+	}
+}
+
+impl Deserialize for VarInt32 {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut res = 0;
+		let mut shift = 0;
+		let mut u8buf = [0u8; 1];
+		loop {
+			if shift > 31 { return Err(Error::InvalidVarInt32); }
+			reader.read(&mut u8buf)?;
+			let b = u8buf[0];
+
+			res |= ((b & 0x7f) as i32).checked_shl(shift).ok_or(Error::InvalidVarInt32)?;
+
+			shift += 7;
+			if (b >> 7) == 0 {
+				if shift < 32 && b & 0b0100_0000 == 0b0100_0000 {
+					res |= (1i32 << shift).wrapping_neg();
+				} else if shift >= 32 && b & 0b0100_0000 == 0b0100_0000 {
+					if (!(b | 0b1000_0000)).leading_zeros() < 5 {
+						return Err(Error::InvalidVarInt32);
+					}
+				} else if shift >= 32 && b & 0b0100_0000 == 0 {
+					if b.leading_zeros() < 5 {
+						return Err(Error::InvalidVarInt32);
+					}
+				}
+				break;
+			}
+		}
+		Ok(VarInt32(res))
+	}
+}
+
+impl Serialize for VarInt32 {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut buf = [0u8; 1];
+		let mut v = self.0;
+		let mut more = true;
+		while more {
+			buf[0] = (v & 0b0111_1111) as u8;
+			v >>= 7;
+			if (v == 0 && buf[0] & 0b0100_0000 == 0) || (v == -1 && buf[0] & 0b0100_0000 == 0b0100_0000)  {
+				more = false
+			} else {
+				buf[0] |= 0b1000_0000
+			}
+
+			writer.write(&buf[..])?;
+		}
+
+		Ok(())
+	}
+}
+
+/// 64-bit signed integer, encoded in LEB128 (can be 1-9 bytes length)
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct VarInt64(i64);
+
+impl From<VarInt64> for i64 {
+	fn from(v: VarInt64) -> i64 {
+		v.0
+	}
+}
+
+impl From<i64> for VarInt64 {
+	fn from(v: i64) -> VarInt64 {
+		VarInt64(v)
+	}
+}
+
+impl Deserialize for VarInt64 {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut res = 0i64;
+		let mut shift = 0;
+		let mut u8buf = [0u8; 1];
+
+		loop {
+			if shift > 63 { return Err(Error::InvalidVarInt64); }
+			reader.read(&mut u8buf)?;
+			let b = u8buf[0];
+
+			res |= ((b & 0x7f) as i64).checked_shl(shift).ok_or(Error::InvalidVarInt64)?;
+
+			shift += 7;
+			if (b >> 7) == 0 {
+				if shift < 64 && b & 0b0100_0000 == 0b0100_0000 {
+					res |= (1i64 << shift).wrapping_neg();
+				} else if shift >= 64 && b & 0b0100_0000 == 0b0100_0000 {
+					if (b | 0b1000_0000) as i8 != -1 {
+						return Err(Error::InvalidVarInt64);
+					}
+				} else if shift >= 64 && b != 0 {
+					return Err(Error::InvalidVarInt64);
+				}
+				break;
+			}
+		}
+		Ok(VarInt64(res))
+	}
+}
+
+impl Serialize for VarInt64 {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut buf = [0u8; 1];
+		let mut v = self.0;
+		let mut more = true;
+		while more {
+			buf[0] = (v & 0b0111_1111) as u8;
+			v >>= 7;
+			if (v == 0 && buf[0] & 0b0100_0000 == 0) || (v == -1 && buf[0] & 0b0100_0000 == 0b0100_0000)  {
+				more = false
+			} else {
+				buf[0] |= 0b1000_0000
+			}
+
+			writer.write(&buf[..])?;
+		}
+
+		Ok(())
+	}
+}
+
+/// 32-bit unsigned integer, encoded in little endian
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct Uint32(u32);
+
+impl Deserialize for Uint32 {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut buf = [0u8; 4];
+		reader.read(&mut buf)?;
+		// todo check range
+		Ok(Uint32(LittleEndian::read_u32(&buf)))
+	}
+}
+
+impl From<Uint32> for u32 {
+	fn from(var: Uint32) -> u32 {
+		var.0
+	}
+}
+
+impl Serialize for Uint32 {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut buf = [0u8; 4];
+		LittleEndian::write_u32(&mut buf, self.0);
+		writer.write(&buf)?;
+		Ok(())
+	}
+}
+
+impl From<u32> for Uint32 {
+	fn from(u: u32) -> Self { Uint32(u) }
+}
+
+/// 64-bit unsigned integer, encoded in little endian
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct Uint64(u64);
+
+impl Deserialize for Uint64 {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut buf = [0u8; 8];
+		reader.read(&mut buf)?;
+		// todo check range
+		Ok(Uint64(LittleEndian::read_u64(&buf)))
+	}
+}
+
+impl Serialize for Uint64 {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut buf = [0u8; 8];
+		LittleEndian::write_u64(&mut buf, self.0);
+		writer.write(&buf)?;
+		Ok(())
+	}
+}
+
+impl From<u64> for Uint64 {
+	fn from(u: u64) -> Self { Uint64(u) }
+}
+
+impl From<Uint64> for u64 {
+	fn from(var: Uint64) -> u64 {
+		var.0
+	}
+}
+
+
+/// VarUint1, 1-bit value (0/1)
+#[derive(Debug, Copy, Clone, PartialEq)]
+pub struct VarUint1(bool);
+
+impl From<VarUint1> for bool {
+	fn from(v: VarUint1) -> bool {
+		v.0
+	}
+}
+
+impl From<bool> for VarUint1 {
+	fn from(b: bool) -> Self {
+		VarUint1(b)
+	}
+}
+
+impl Deserialize for VarUint1 {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let mut u8buf = [0u8; 1];
+		reader.read(&mut u8buf)?;
+		match u8buf[0] {
+			0 => Ok(VarUint1(false)),
+			1 => Ok(VarUint1(true)),
+			v @ _ => Err(Error::InvalidVarUint1(v)),
+		}
+	}
+}
+
+impl Serialize for VarUint1 {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		writer.write(&[
+			if self.0 { 1u8 } else { 0u8 }
+		])?;
+		Ok(())
+	}
+}
+
+impl Deserialize for String {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let length = u32::from(VarUint32::deserialize(reader)?) as usize;
+		if length > 0 {
+			String::from_utf8(buffered_read!(1024, length, reader)).map_err(|_| Error::NonUtf8String)
+		}
+		else {
+			Ok(String::new())
+		}
+	}
+}
+
+impl Serialize for String {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Error> {
+		VarUint32::from(self.len()).serialize(writer)?;
+		writer.write(&self.into_bytes()[..])?;
+		Ok(())
+	}
+}
+
+/// List for reading sequence of elements typed `T`, given
+/// they are preceded by length (serialized as VarUint32)
+#[derive(Debug, Clone)]
+pub struct CountedList<T: Deserialize>(Vec<T>);
+
+impl<T: Deserialize> CountedList<T> {
+	/// Destroy counted list returing inner vector.
+	pub fn into_inner(self) -> Vec<T> { self.0 }
+}
+
+impl<T: Deserialize> Deserialize for CountedList<T> where T::Error: From<Error> {
+	type Error = T::Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let count: usize = VarUint32::deserialize(reader)?.into();
+		let mut result = Vec::new();
+		for _ in 0..count { result.push(T::deserialize(reader)?); }
+		Ok(CountedList(result))
+	}
+}
+
+/// Helper struct to write payload which is preceded by
+/// it's own length in bytes.
+#[derive(Debug)]
+pub struct CountedWriter<'a, W: 'a + io::Write> {
+	writer: &'a mut W,
+	data: Vec<u8>,
+}
+
+impl<'a, W: 'a + io::Write> CountedWriter<'a, W> {
+	/// New counted writer on top of the given serial writer
+	pub fn new(writer: &'a mut W) -> Self {
+		CountedWriter {
+			writer: writer,
+			data: Vec::new(),
+		}
+	}
+
+	/// Finish counted writer routing, which writes accumulated length
+	/// and actual payload.
+	pub fn done(self) -> io::Result<()> {
+		let writer = self.writer;
+		let data = self.data;
+		VarUint32::from(data.len())
+			.serialize(writer)
+			.map_err(|_| io::Error::InvalidData)?;
+		writer.write(&data[..])?;
+		Ok(())
+	}
+}
+
+impl<'a, W: 'a + io::Write> io::Write for CountedWriter<'a, W> {
+	fn write(&mut self, buf: &[u8]) -> io::Result<()> {
+		self.data.extend_from_slice(buf);
+		Ok(())
+	}
+}
+
+/// Helper struct to write series of `T` preceded by the length of the sequence
+/// serialized as VarUint32
+#[derive(Debug, Clone)]
+pub struct CountedListWriter<I: Serialize<Error=::elements::Error>, T: IntoIterator<Item=I>>(pub usize, pub T);
+
+impl<I: Serialize<Error=::elements::Error>, T: IntoIterator<Item=I>> Serialize for CountedListWriter<I, T> {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let len_us = self.0;
+		let data = self.1;
+		let len: VarUint32 = len_us.into();
+		len.serialize(writer)?;
+		for data_element in data { data_element.serialize(writer)? }
+
+		Ok(())
+	}
+}
+
+
+#[cfg(test)]
+mod tests {
+
+	use super::super::{deserialize_buffer, Serialize};
+	use super::{CountedList, VarInt7, VarUint32, VarInt32, VarInt64, VarUint64};
+	use elements::Error;
+
+	fn varuint32_ser_test(val: u32, expected: Vec<u8>) {
+		let mut buf = Vec::new();
+		let v1: VarUint32 = val.into();
+		v1.serialize(&mut buf).expect("to be serialized ok");
+		assert_eq!(expected, buf);
+	}
+
+	fn varuint32_de_test(dt: Vec<u8>, expected: u32) {
+		let val: VarUint32 = super::super::deserialize_buffer(&dt).expect("buf to be serialized");
+		assert_eq!(expected, val.into());
+	}
+
+	fn varuint32_serde_test(dt: Vec<u8>, val: u32) {
+		varuint32_de_test(dt.clone(), val);
+		varuint32_ser_test(val, dt);
+	}
+
+	fn varint32_ser_test(val: i32, expected: Vec<u8>) {
+		let mut buf = Vec::new();
+		let v1: VarInt32 = val.into();
+		v1.serialize(&mut buf).expect("to be serialized ok");
+		assert_eq!(expected, buf);
+	}
+
+	fn varint32_de_test(dt: Vec<u8>, expected: i32) {
+		let val: VarInt32 = super::super::deserialize_buffer(&dt).expect("buf to be serialized");
+		assert_eq!(expected, val.into());
+	}
+
+	fn varint32_serde_test(dt: Vec<u8>, val: i32) {
+		varint32_de_test(dt.clone(), val);
+		varint32_ser_test(val, dt);
+	}
+
+	fn varuint64_ser_test(val: u64, expected: Vec<u8>) {
+		let mut buf = Vec::new();
+		let v1: VarUint64 = val.into();
+		v1.serialize(&mut buf).expect("to be serialized ok");
+		assert_eq!(expected, buf);
+	}
+
+	fn varuint64_de_test(dt: Vec<u8>, expected: u64) {
+		let val: VarUint64 = super::super::deserialize_buffer(&dt).expect("buf to be serialized");
+		assert_eq!(expected, val.into());
+	}
+
+	fn varuint64_serde_test(dt: Vec<u8>, val: u64) {
+		varuint64_de_test(dt.clone(), val);
+		varuint64_ser_test(val, dt);
+	}
+
+	fn varint64_ser_test(val: i64, expected: Vec<u8>) {
+		let mut buf = Vec::new();
+		let v1: VarInt64 = val.into();
+		v1.serialize(&mut buf).expect("to be serialized ok");
+		assert_eq!(expected, buf);
+	}
+
+	fn varint64_de_test(dt: Vec<u8>, expected: i64) {
+		let val: VarInt64 = super::super::deserialize_buffer(&dt).expect("buf to be serialized");
+		assert_eq!(expected, val.into());
+	}
+
+	fn varint64_serde_test(dt: Vec<u8>, val: i64) {
+		varint64_de_test(dt.clone(), val);
+		varint64_ser_test(val, dt);
+	}
+
+	#[test]
+	fn varuint32_0() {
+		varuint32_serde_test(vec![0u8; 1], 0);
+	}
+
+	#[test]
+	fn varuint32_1() {
+		varuint32_serde_test(vec![1u8; 1], 1);
+	}
+
+	#[test]
+	fn varuint32_135() {
+		varuint32_serde_test(vec![135u8, 0x01], 135);
+	}
+
+	#[test]
+	fn varuint32_8192() {
+		varuint32_serde_test(vec![0x80, 0x40], 8192);
+	}
+
+	#[test]
+	fn varint32_8192() {
+		varint32_serde_test(vec![0x80, 0xc0, 0x00], 8192);
+	}
+
+	#[test]
+	fn varint32_neg_8192() {
+		varint32_serde_test(vec![0x80, 0x40], -8192);
+	}
+
+	#[test]
+	fn varuint64_0() {
+		varuint64_serde_test(vec![0u8; 1], 0);
+	}
+
+	#[test]
+	fn varuint64_1() {
+		varuint64_serde_test(vec![1u8; 1], 1);
+	}
+
+	#[test]
+	fn varuint64_135() {
+		varuint64_serde_test(vec![135u8, 0x01], 135);
+	}
+
+	#[test]
+	fn varuint64_8192() {
+		varuint64_serde_test(vec![0x80, 0x40], 8192);
+	}
+
+	#[test]
+	fn varint64_8192() {
+		varint64_serde_test(vec![0x80, 0xc0, 0x00], 8192);
+	}
+
+	#[test]
+	fn varint64_neg_8192() {
+		varint64_serde_test(vec![0x80, 0x40], -8192);
+	}
+
+	#[test]
+	fn varint64_min() {
+		varint64_serde_test(
+			vec![0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f],
+			-9223372036854775808,
+		);
+	}
+
+	#[test]
+	fn varint64_bad_extended() {
+		let res = deserialize_buffer::<VarInt64>(&[0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x6f][..]);
+		assert!(res.is_err());
+	}
+
+	#[test]
+	fn varint32_bad_extended() {
+		let res = deserialize_buffer::<VarInt32>(&[0x80, 0x80, 0x80, 0x80, 0x6f][..]);
+		assert!(res.is_err());
+	}
+
+	#[test]
+	fn varint32_bad_extended2() {
+		let res = deserialize_buffer::<VarInt32>(&[0x80, 0x80, 0x80, 0x80, 0x41][..]);
+		assert!(res.is_err());
+	}
+
+	#[test]
+	fn varint64_max() {
+		varint64_serde_test(
+			vec![0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00],
+			9223372036854775807,
+		);
+	}
+
+	#[test]
+	fn varint64_too_long() {
+		assert!(
+			deserialize_buffer::<VarInt64>(
+				&[0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00][..],
+			).is_err()
+		);
+	}
+
+	#[test]
+	fn varint32_too_long() {
+		assert!(
+			deserialize_buffer::<VarInt32>(
+				&[0xff, 0xff, 0xff, 0xff, 0xff, 0x00][..],
+			).is_err()
+		);
+	}
+
+	#[test]
+	fn varuint64_too_long() {
+		assert!(
+			deserialize_buffer::<VarUint64>(
+				&[0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00][..],
+			).is_err()
+		);
+	}
+
+	#[test]
+	fn varuint32_too_long() {
+		assert!(
+			deserialize_buffer::<VarUint32>(
+				&[0xff, 0xff, 0xff, 0xff, 0xff, 0x00][..],
+			).is_err()
+		);
+	}
+
+	#[test]
+	fn varuint32_too_long_trailing() {
+		assert!(
+			deserialize_buffer::<VarUint32>(
+				&[0xff, 0xff, 0xff, 0xff, 0x7f][..],
+			).is_err()
+		);
+	}
+
+	#[test]
+	fn varuint64_too_long_trailing() {
+		assert!(
+			deserialize_buffer::<VarUint64>(
+				&[0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x04][..],
+			).is_err()
+		);
+	}
+
+	#[test]
+	fn varint32_min() {
+		varint32_serde_test(
+			vec![0x80, 0x80, 0x80, 0x80, 0x78],
+			-2147483648,
+		);
+	}
+
+	#[test]
+	fn varint7_invalid() {
+		match deserialize_buffer::<VarInt7>(&[240]) {
+			Err(Error::InvalidVarInt7(_)) => {},
+			_ => panic!("Should be invalid varint7 error!")
+		}
+	}
+
+	#[test]
+	fn varint7_neg() {
+		assert_eq!(-0x10i8, deserialize_buffer::<VarInt7>(&[0x70]).expect("fail").into());
+	}
+
+	#[test]
+	fn varuint32_too_long_nulled() {
+		match deserialize_buffer::<VarUint32>(
+			&[0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x78]
+		) {
+			Err(Error::InvalidVarUint32) => {},
+			_ => panic!("Should be invalid varuint32"),
+		}
+	}
+
+	#[test]
+	fn varint32_max() {
+		varint32_serde_test(
+			vec![0xff, 0xff, 0xff, 0xff, 0x07],
+			2147483647,
+		);
+	}
+
+
+	#[test]
+	fn counted_list() {
+		let payload = [
+			133u8, //(128+5), length is 5
+				0x80, 0x80, 0x80, 0x0, // padding
+			0x01,
+			0x7d,
+			0x05,
+			0x07,
+			0x09,
+		];
+
+		let list: CountedList<VarInt7> =
+			deserialize_buffer(&payload).expect("type_section be deserialized");
+
+		let vars = list.into_inner();
+		assert_eq!(5, vars.len());
+		let v3: i8 = (*vars.get(1).unwrap()).into();
+		assert_eq!(-0x03i8, v3);
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/reloc_section.rs.html b/src/parity_wasm/elements/reloc_section.rs.html new file mode 100644 index 0000000..60d554b --- /dev/null +++ b/src/parity_wasm/elements/reloc_section.rs.html @@ -0,0 +1,699 @@ +reloc_section.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+
+use io;
+use std::vec::Vec;
+use std::string::String;
+
+use super::{CountedList, CountedListWriter, CountedWriter, Deserialize, Error, Serialize, VarInt32, VarUint32, VarUint7};
+
+const FUNCTION_INDEX_LEB: u8 = 0;
+const TABLE_INDEX_SLEB: u8 = 1;
+const TABLE_INDEX_I32: u8 = 2;
+const MEMORY_ADDR_LEB: u8 = 3;
+const MEMORY_ADDR_SLEB: u8 = 4;
+const MEMORY_ADDR_I32: u8 = 5;
+const TYPE_INDEX_LEB: u8 = 6;
+const GLOBAL_INDEX_LEB: u8 = 7;
+
+/// Relocation information.
+#[derive(Clone, Debug, PartialEq)]
+pub struct RelocSection {
+	/// Name of this section.
+	name: String,
+
+	/// ID of the section containing the relocations described in this section.
+	section_id: u32,
+
+	/// Name of the section containing the relocations described in this section. Only set if section_id is 0.
+	relocation_section_name: Option<String>,
+
+	/// Relocation entries.
+	entries: Vec<RelocationEntry>,
+}
+
+impl RelocSection {
+	/// Name of this section.
+	pub fn name(&self) -> &str {
+		&self.name
+	}
+
+	/// Name of this section (mutable).
+	pub fn name_mut(&mut self) -> &mut String {
+		&mut self.name
+	}
+
+	/// ID of the section containing the relocations described in this section.
+	pub fn section_id(&self) -> u32 {
+		self.section_id
+	}
+
+	/// ID of the section containing the relocations described in this section (mutable).
+	pub fn section_id_mut(&mut self) -> &mut u32 {
+		&mut self.section_id
+	}
+
+	/// Name of the section containing the relocations described in this section.
+	pub fn relocation_section_name(&self) -> Option<&str> {
+		self.relocation_section_name.as_ref().map(String::as_str)
+	}
+
+	/// Name of the section containing the relocations described in this section (mutable).
+	pub fn relocation_section_name_mut(&mut self) -> &mut Option<String> {
+		&mut self.relocation_section_name
+	}
+
+	/// List of relocation entries.
+	pub fn entries(&self) -> &[RelocationEntry] {
+		&self.entries
+	}
+
+	/// List of relocation entries (mutable).
+	pub fn entries_mut(&mut self) -> &mut Vec<RelocationEntry> {
+		&mut self.entries
+	}
+}
+
+impl RelocSection {
+	/// Deserialize a reloc section.
+	pub fn deserialize<R: io::Read>(
+		name: String,
+		rdr: &mut R,
+	) -> Result<Self, Error> {
+		let section_id = VarUint32::deserialize(rdr)?.into();
+
+		let relocation_section_name =
+			if section_id == 0 {
+				Some(String::deserialize(rdr)?)
+			}
+			else {
+				None
+			};
+
+		let entries = CountedList::deserialize(rdr)?.into_inner();
+
+		Ok(RelocSection {
+			name,
+			section_id,
+			relocation_section_name,
+			entries,
+		})
+	}
+}
+
+impl Serialize for RelocSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, wtr: &mut W) -> Result<(), Error> {
+		let mut counted_writer = CountedWriter::new(wtr);
+
+		self.name.serialize(&mut counted_writer)?;
+
+		VarUint32::from(self.section_id).serialize(&mut counted_writer)?;
+
+		if let Some(relocation_section_name) = self.relocation_section_name {
+			relocation_section_name.serialize(&mut counted_writer)?;
+		}
+
+		let counted_list = CountedListWriter(self.entries.len(), self.entries.into_iter());
+		counted_list.serialize(&mut counted_writer)?;
+
+		counted_writer.done()?;
+
+		Ok(())
+	}
+}
+
+/// Relocation entry.
+#[derive(Clone, Copy, Debug, PartialEq)]
+pub enum RelocationEntry {
+	/// Function index.
+	FunctionIndexLeb {
+		/// Offset of the value to rewrite.
+		offset: u32,
+
+		/// Index of the function symbol in the symbol table.
+		index: u32,
+	},
+
+	/// Function table index.
+	TableIndexSleb {
+		/// Offset of the value to rewrite.
+		offset: u32,
+
+		/// Index of the function symbol in the symbol table.
+		index: u32,
+	},
+
+	/// Function table index.
+	TableIndexI32 {
+		/// Offset of the value to rewrite.
+		offset: u32,
+
+		/// Index of the function symbol in the symbol table.
+		index: u32,
+	},
+
+	/// Linear memory index.
+	MemoryAddressLeb {
+		/// Offset of the value to rewrite.
+		offset: u32,
+
+		/// Index of the data symbol in the symbol table.
+		index: u32,
+
+		/// Addend to add to the address.
+		addend: i32,
+	},
+
+	/// Linear memory index.
+	MemoryAddressSleb {
+		/// Offset of the value to rewrite.
+		offset: u32,
+
+		/// Index of the data symbol in the symbol table.
+		index: u32,
+
+		/// Addend to add to the address.
+		addend: i32,
+	},
+
+	/// Linear memory index.
+	MemoryAddressI32 {
+		/// Offset of the value to rewrite.
+		offset: u32,
+
+		/// Index of the data symbol in the symbol table.
+		index: u32,
+
+		/// Addend to add to the address.
+		addend: i32,
+	},
+
+	/// Type table index.
+	TypeIndexLeb {
+		/// Offset of the value to rewrite.
+		offset: u32,
+
+		/// Index of the type used.
+		index: u32,
+	},
+
+	/// Global index.
+	GlobalIndexLeb {
+		/// Offset of the value to rewrite.
+		offset: u32,
+
+		/// Index of the global symbol in the symbol table.
+		index: u32,
+	},
+}
+
+impl Deserialize for RelocationEntry {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(rdr: &mut R) -> Result<Self, Self::Error> {
+		match VarUint7::deserialize(rdr)?.into() {
+			FUNCTION_INDEX_LEB => Ok(RelocationEntry::FunctionIndexLeb {
+				offset: VarUint32::deserialize(rdr)?.into(),
+				index: VarUint32::deserialize(rdr)?.into(),
+			}),
+
+			TABLE_INDEX_SLEB => Ok(RelocationEntry::TableIndexSleb {
+				offset: VarUint32::deserialize(rdr)?.into(),
+				index: VarUint32::deserialize(rdr)?.into(),
+			}),
+
+			TABLE_INDEX_I32 => Ok(RelocationEntry::TableIndexI32 {
+				offset: VarUint32::deserialize(rdr)?.into(),
+				index: VarUint32::deserialize(rdr)?.into(),
+			}),
+
+			MEMORY_ADDR_LEB => Ok(RelocationEntry::MemoryAddressLeb {
+				offset: VarUint32::deserialize(rdr)?.into(),
+				index: VarUint32::deserialize(rdr)?.into(),
+				addend: VarInt32::deserialize(rdr)?.into(),
+			}),
+
+			MEMORY_ADDR_SLEB => Ok(RelocationEntry::MemoryAddressSleb {
+				offset: VarUint32::deserialize(rdr)?.into(),
+				index: VarUint32::deserialize(rdr)?.into(),
+				addend: VarInt32::deserialize(rdr)?.into(),
+			}),
+
+			MEMORY_ADDR_I32 => Ok(RelocationEntry::MemoryAddressI32 {
+				offset: VarUint32::deserialize(rdr)?.into(),
+				index: VarUint32::deserialize(rdr)?.into(),
+				addend: VarInt32::deserialize(rdr)?.into(),
+			}),
+
+			TYPE_INDEX_LEB => Ok(RelocationEntry::TypeIndexLeb {
+				offset: VarUint32::deserialize(rdr)?.into(),
+				index: VarUint32::deserialize(rdr)?.into(),
+			}),
+
+			GLOBAL_INDEX_LEB => Ok(RelocationEntry::GlobalIndexLeb {
+				offset: VarUint32::deserialize(rdr)?.into(),
+				index: VarUint32::deserialize(rdr)?.into(),
+			}),
+
+			entry_type => Err(Error::UnknownValueType(entry_type as i8)),
+		}
+	}
+}
+
+impl Serialize for RelocationEntry {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, wtr: &mut W) -> Result<(), Error> {
+		match self {
+			RelocationEntry::FunctionIndexLeb { offset, index } => {
+				VarUint7::from(FUNCTION_INDEX_LEB).serialize(wtr)?;
+				VarUint32::from(offset).serialize(wtr)?;
+				VarUint32::from(index).serialize(wtr)?;
+			},
+
+			RelocationEntry::TableIndexSleb { offset, index } => {
+				VarUint7::from(TABLE_INDEX_SLEB).serialize(wtr)?;
+				VarUint32::from(offset).serialize(wtr)?;
+				VarUint32::from(index).serialize(wtr)?;
+			},
+
+			RelocationEntry::TableIndexI32 { offset, index } => {
+				VarUint7::from(TABLE_INDEX_I32).serialize(wtr)?;
+				VarUint32::from(offset).serialize(wtr)?;
+				VarUint32::from(index).serialize(wtr)?;
+			},
+
+			RelocationEntry::MemoryAddressLeb { offset, index, addend } => {
+				VarUint7::from(MEMORY_ADDR_LEB).serialize(wtr)?;
+				VarUint32::from(offset).serialize(wtr)?;
+				VarUint32::from(index).serialize(wtr)?;
+				VarInt32::from(addend).serialize(wtr)?;
+			},
+
+			RelocationEntry::MemoryAddressSleb { offset, index, addend } => {
+				VarUint7::from(MEMORY_ADDR_SLEB).serialize(wtr)?;
+				VarUint32::from(offset).serialize(wtr)?;
+				VarUint32::from(index).serialize(wtr)?;
+				VarInt32::from(addend).serialize(wtr)?;
+			},
+
+			RelocationEntry::MemoryAddressI32 { offset, index, addend } => {
+				VarUint7::from(MEMORY_ADDR_I32).serialize(wtr)?;
+				VarUint32::from(offset).serialize(wtr)?;
+				VarUint32::from(index).serialize(wtr)?;
+				VarInt32::from(addend).serialize(wtr)?;
+			},
+
+			RelocationEntry::TypeIndexLeb { offset, index } => {
+				VarUint7::from(TYPE_INDEX_LEB).serialize(wtr)?;
+				VarUint32::from(offset).serialize(wtr)?;
+				VarUint32::from(index).serialize(wtr)?;
+			},
+
+			RelocationEntry::GlobalIndexLeb { offset, index } => {
+				VarUint7::from(GLOBAL_INDEX_LEB).serialize(wtr)?;
+				VarUint32::from(offset).serialize(wtr)?;
+				VarUint32::from(index).serialize(wtr)?;
+			},
+		}
+
+		Ok(())
+	}
+}
+
+#[cfg(test)]
+mod tests {
+	use super::super::{Section, deserialize_file};
+	use super::RelocationEntry;
+
+	#[test]
+	fn reloc_section() {
+		let module =
+			deserialize_file("./res/cases/v1/relocatable.wasm").expect("Module should be deserialized")
+			.parse_reloc().expect("Reloc section should be deserialized");
+		let mut found = false;
+		for section in module.sections() {
+			match *section {
+				Section::Reloc(ref reloc_section) => {
+					assert_eq!(vec![
+						RelocationEntry::MemoryAddressSleb { offset: 4, index: 0, addend: 0 },
+						RelocationEntry::FunctionIndexLeb { offset: 12, index: 0 },
+					], reloc_section.entries());
+					found = true
+				},
+				_ => { }
+			}
+		}
+		assert!(found, "There should be a reloc section in relocatable.wasm");
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/section.rs.html b/src/parity_wasm/elements/section.rs.html new file mode 100644 index 0000000..b8bd40f --- /dev/null +++ b/src/parity_wasm/elements/section.rs.html @@ -0,0 +1,2275 @@ +section.rs.html -- source
   1
+   2
+   3
+   4
+   5
+   6
+   7
+   8
+   9
+  10
+  11
+  12
+  13
+  14
+  15
+  16
+  17
+  18
+  19
+  20
+  21
+  22
+  23
+  24
+  25
+  26
+  27
+  28
+  29
+  30
+  31
+  32
+  33
+  34
+  35
+  36
+  37
+  38
+  39
+  40
+  41
+  42
+  43
+  44
+  45
+  46
+  47
+  48
+  49
+  50
+  51
+  52
+  53
+  54
+  55
+  56
+  57
+  58
+  59
+  60
+  61
+  62
+  63
+  64
+  65
+  66
+  67
+  68
+  69
+  70
+  71
+  72
+  73
+  74
+  75
+  76
+  77
+  78
+  79
+  80
+  81
+  82
+  83
+  84
+  85
+  86
+  87
+  88
+  89
+  90
+  91
+  92
+  93
+  94
+  95
+  96
+  97
+  98
+  99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+
+use io;
+use std::vec::Vec;
+use std::string::String;
+use std::borrow::ToOwned;
+use super::{
+	Serialize,
+	Deserialize,
+	Error,
+	VarUint7,
+	VarUint32,
+	CountedList,
+	ImportEntry,
+	MemoryType,
+	TableType,
+	ExportEntry,
+	GlobalEntry,
+	Func,
+	FuncBody,
+	ElementSegment,
+	DataSegment,
+	CountedWriter,
+	CountedListWriter,
+	External,
+	serialize,
+};
+
+use super::types::Type;
+use super::name_section::NameSection;
+use super::reloc_section::RelocSection;
+
+const ENTRIES_BUFFER_LENGTH: usize = 16384;
+
+/// Section in the WebAssembly module.
+#[derive(Debug, Clone, PartialEq)]
+pub enum Section {
+	/// Section is unparsed.
+	Unparsed {
+		/// id of the unparsed section
+		id: u8,
+		/// raw bytes of the unparsed section
+		payload: Vec<u8>,
+	},
+	/// Custom section (`id=0`)
+	Custom(CustomSection),
+	/// Types section
+	Type(TypeSection),
+	/// Import section
+	Import(ImportSection),
+	/// Function signatures section
+	Function(FunctionSection),
+	/// Table definition section
+	Table(TableSection),
+	/// Memory definition section
+	Memory(MemorySection),
+	/// Global entries section
+	Global(GlobalSection),
+	/// Export definitions
+	Export(ExportSection),
+	/// Entry reference of the module
+	Start(u32),
+	/// Elements section
+	Element(ElementSection),
+	/// Function bodies section
+	Code(CodeSection),
+	/// Data definition section
+	Data(DataSection),
+	/// Name section.
+	///
+	/// Note that initially it is not parsed until `parse_names` is called explicitly.
+	Name(NameSection),
+	/// Relocation section.
+	///
+	/// Note that initially it is not parsed until `parse_reloc` is called explicitly.
+	/// Also note that currently there are serialization (but not de-serialization)
+	///   issues with this section (#198)
+	Reloc(RelocSection),
+}
+
+impl Deserialize for Section {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let id = match VarUint7::deserialize(reader) {
+			// todo: be more selective detecting no more section
+			Err(_) => { return Err(Error::UnexpectedEof); },
+			Ok(id) => id,
+		};
+
+		Ok(
+			match id.into() {
+				0 => {
+					Section::Custom(CustomSection::deserialize(reader)?.into())
+				},
+				1 => {
+					Section::Type(TypeSection::deserialize(reader)?)
+				},
+				2 => {
+					Section::Import(ImportSection::deserialize(reader)?)
+				},
+				3 => {
+					Section::Function(FunctionSection::deserialize(reader)?)
+				},
+				4 => {
+					Section::Table(TableSection::deserialize(reader)?)
+				},
+				5 => {
+					Section::Memory(MemorySection::deserialize(reader)?)
+				},
+				6 => {
+					Section::Global(GlobalSection::deserialize(reader)?)
+				},
+				7 => {
+					Section::Export(ExportSection::deserialize(reader)?)
+				},
+				8 => {
+					let mut section_reader = SectionReader::new(reader)?;
+					let start_idx = VarUint32::deserialize(&mut section_reader)?;
+					section_reader.close()?;
+					Section::Start(start_idx.into())
+				},
+				9 => {
+					Section::Element(ElementSection::deserialize(reader)?)
+				},
+				10 => {
+					Section::Code(CodeSection::deserialize(reader)?)
+				},
+				11 => {
+					Section::Data(DataSection::deserialize(reader)?)
+				},
+				invalid_id => {
+					return Err(Error::InvalidSectionId(invalid_id))
+				},
+			}
+		)
+	}
+}
+
+impl Serialize for Section {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		match self {
+			Section::Custom(custom_section) => {
+				VarUint7::from(0x00).serialize(writer)?;
+				custom_section.serialize(writer)?;
+			},
+			Section::Unparsed { id, payload } => {
+				VarUint7::from(id).serialize(writer)?;
+				writer.write(&payload[..])?;
+			},
+			Section::Type(type_section) => {
+				VarUint7::from(0x01).serialize(writer)?;
+				type_section.serialize(writer)?;
+			},
+			Section::Import(import_section) => {
+				VarUint7::from(0x02).serialize(writer)?;
+				import_section.serialize(writer)?;
+			},
+			Section::Function(function_section) => {
+				VarUint7::from(0x03).serialize(writer)?;
+				function_section.serialize(writer)?;
+			},
+			Section::Table(table_section) => {
+				VarUint7::from(0x04).serialize(writer)?;
+				table_section.serialize(writer)?;
+			},
+			Section::Memory(memory_section) => {
+				VarUint7::from(0x05).serialize(writer)?;
+				memory_section.serialize(writer)?;
+			},
+			Section::Global(global_section) => {
+				VarUint7::from(0x06).serialize(writer)?;
+				global_section.serialize(writer)?;
+			},
+			Section::Export(export_section) => {
+				VarUint7::from(0x07).serialize(writer)?;
+				export_section.serialize(writer)?;
+			},
+			Section::Start(index) => {
+				VarUint7::from(0x08).serialize(writer)?;
+				let mut counted_writer = CountedWriter::new(writer);
+				VarUint32::from(index).serialize(&mut counted_writer)?;
+				counted_writer.done()?;
+			},
+			Section::Element(element_section) => {
+				VarUint7::from(0x09).serialize(writer)?;
+				element_section.serialize(writer)?;
+			},
+			Section::Code(code_section) => {
+				VarUint7::from(0x0a).serialize(writer)?;
+				code_section.serialize(writer)?;
+			},
+			Section::Data(data_section) => {
+				VarUint7::from(0x0b).serialize(writer)?;
+				data_section.serialize(writer)?;
+			},
+			Section::Name(name_section) => {
+				VarUint7::from(0x00).serialize(writer)?;
+				let custom = CustomSection {
+					name: "name".to_owned(),
+					payload: serialize(name_section)?,
+				};
+				custom.serialize(writer)?;
+			},
+			Section::Reloc(reloc_section) => {
+				VarUint7::from(0x00).serialize(writer)?;
+				reloc_section.serialize(writer)?;
+			},
+		}
+		Ok(())
+	}
+}
+
+impl Section {
+	pub(crate) fn id(&self) -> u8 {
+		match *self {
+			Section::Custom(_) => 0x00,
+			Section::Unparsed { .. } => 0x00,
+			Section::Type(_) => 0x1,
+			Section::Import(_) => 0x2,
+			Section::Function(_) => 0x3,
+			Section::Table(_) => 0x4,
+			Section::Memory(_) => 0x5,
+			Section::Global(_) => 0x6,
+			Section::Export(_) => 0x7,
+			Section::Start(_) => 0x8,
+			Section::Element(_) => 0x9,
+			Section::Code(_) => 0x0a,
+			Section::Data(_) => 0x0b,
+			Section::Name(_) => 0x00,
+			Section::Reloc(_) => 0x00,
+		}
+	}
+}
+
+pub(crate) struct SectionReader {
+	cursor: io::Cursor<Vec<u8>>,
+	declared_length: usize,
+}
+
+impl SectionReader {
+	pub fn new<R: io::Read>(reader: &mut R) -> Result<Self, ::elements::Error> {
+		let length = u32::from(VarUint32::deserialize(reader)?) as usize;
+		let inner_buffer = buffered_read!(ENTRIES_BUFFER_LENGTH, length, reader);
+		let buf_length = inner_buffer.len();
+		let cursor = io::Cursor::new(inner_buffer);
+
+		Ok(SectionReader {
+			cursor: cursor,
+			declared_length: buf_length,
+		})
+	}
+
+	pub fn close(self) -> Result<(), io::Error> {
+		let cursor = self.cursor;
+		let buf_length = self.declared_length;
+
+		if cursor.position() != buf_length {
+			Err(io::Error::InvalidData)
+		} else {
+			Ok(())
+		}
+	}
+}
+
+impl io::Read for SectionReader {
+    fn read(&mut self, buf: &mut [u8]) -> io::Result<()> {
+		self.cursor.read(buf)?;
+		Ok(())
+	}
+}
+
+fn read_entries<R: io::Read, T: Deserialize<Error=::elements::Error>>(reader: &mut R)
+	-> Result<Vec<T>, ::elements::Error>
+{
+	let mut section_reader = SectionReader::new(reader)?;
+	let result = CountedList::<T>::deserialize(&mut section_reader)?.into_inner();
+	section_reader.close()?;
+	Ok(result)
+}
+
+/// Custom section
+#[derive(Debug, Default, Clone, PartialEq)]
+pub struct CustomSection {
+	name: String,
+	payload: Vec<u8>,
+}
+
+impl CustomSection {
+
+	/// Name of the custom section
+	pub fn name(&self) -> &str {
+		&self.name
+	}
+
+	/// Payload of the custom secion
+	pub fn payload(&self) -> &[u8] {
+		&self.payload
+	}
+
+	/// Name of the custom section (mutable)
+	pub fn name_mut(&mut self) -> &mut String {
+		&mut self.name
+	}
+
+	/// Payload of the custom section (mutable)
+	pub fn payload_mut(&mut self) -> &mut Vec<u8> {
+		&mut self.payload
+	}
+}
+
+impl Deserialize for CustomSection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let section_length: usize = u32::from(VarUint32::deserialize(reader)?) as usize;
+		let buf = buffered_read!(16384, section_length, reader);
+		let mut cursor = io::Cursor::new(&buf[..]);
+		let name = String::deserialize(&mut cursor)?;
+		let payload = buf[cursor.position() as usize..].to_vec();
+		Ok(CustomSection { name: name, payload: payload })
+	}
+}
+
+impl Serialize for CustomSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		use io::Write;
+
+		let mut counted_writer = CountedWriter::new(writer);
+		self.name.serialize(&mut counted_writer)?;
+		counted_writer.write(&self.payload[..])?;
+		counted_writer.done()?;
+		Ok(())
+	}
+}
+
+/// Section with type declarations
+#[derive(Debug, Default, Clone, PartialEq)]
+pub struct TypeSection(Vec<Type>);
+
+impl TypeSection {
+	///  New type section with provided types
+	pub fn with_types(types: Vec<Type>) -> Self {
+		TypeSection(types)
+	}
+
+	/// List of type declarations
+	pub fn types(&self) -> &[Type] {
+		&self.0
+	}
+
+	/// List of type declarations (mutable)
+	pub fn types_mut(&mut self) -> &mut Vec<Type> {
+		&mut self.0
+	}
+}
+
+impl Deserialize for TypeSection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(TypeSection(read_entries(reader)?))
+	}
+}
+
+impl Serialize for TypeSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut counted_writer = CountedWriter::new(writer);
+		let data = self.0;
+		let counted_list = CountedListWriter::<Type, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(&mut counted_writer)?;
+		counted_writer.done()?;
+		Ok(())
+	}
+}
+
+/// Section of the imports definition.
+#[derive(Debug, Default, Clone, PartialEq)]
+pub struct ImportSection(Vec<ImportEntry>);
+
+impl ImportSection {
+	///  New import section with provided types
+	pub fn with_entries(entries: Vec<ImportEntry>) -> Self {
+		ImportSection(entries)
+	}
+
+	/// List of import entries.
+	pub fn entries(&self) -> &[ImportEntry] {
+		&self.0
+	}
+
+	/// List of import entries (mutable).
+	pub fn entries_mut(&mut self) -> &mut Vec<ImportEntry> {
+		&mut self.0
+	}
+
+	/// Returns number of functions
+	pub fn functions(&self) -> usize {
+		self.0.iter()
+			.filter(|entry| match entry.external() { &External::Function(_) => true, _ => false })
+			.count()
+	}
+
+	/// Returns number of globals
+	pub fn globals(&self) -> usize {
+		self.0.iter()
+			.filter(|entry| match entry.external() { &External::Global(_) => true, _ => false })
+			.count()
+	}
+}
+
+impl Deserialize for ImportSection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(ImportSection(read_entries(reader)?))
+	}
+}
+
+impl Serialize for ImportSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut counted_writer = CountedWriter::new(writer);
+		let data = self.0;
+		let counted_list = CountedListWriter::<ImportEntry, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(&mut counted_writer)?;
+		counted_writer.done()?;
+		Ok(())
+	}
+}
+
+/// Section with function signatures definition.
+#[derive(Default, Debug, Clone, PartialEq)]
+pub struct FunctionSection(Vec<Func>);
+
+impl FunctionSection {
+	///  New function signatures section with provided entries
+	pub fn with_entries(entries: Vec<Func>) -> Self {
+		FunctionSection(entries)
+	}
+
+	/// List of all functions in the section, mutable
+	pub fn entries_mut(&mut self) -> &mut Vec<Func> {
+		&mut self.0
+	}
+
+	/// List of all functions in the section
+	pub fn entries(&self) -> &[Func] {
+		&self.0
+	}
+}
+
+impl Deserialize for FunctionSection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(FunctionSection(read_entries(reader)?))
+	}
+}
+
+impl Serialize for FunctionSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut counted_writer = CountedWriter::new(writer);
+		let data = self.0;
+		let counted_list = CountedListWriter::<VarUint32, _>(
+			data.len(),
+			data.into_iter().map(|func| func.type_ref().into())
+		);
+		counted_list.serialize(&mut counted_writer)?;
+		counted_writer.done()?;
+		Ok(())
+	}
+}
+
+/// Section with table definition (currently only one is allowed).
+#[derive(Default, Debug, Clone, PartialEq)]
+pub struct TableSection(Vec<TableType>);
+
+impl TableSection {
+	/// Table entries.
+	pub fn entries(&self) -> &[TableType] {
+		&self.0
+	}
+
+	///  New table section with provided table entries
+	pub fn with_entries(entries: Vec<TableType>) -> Self {
+		TableSection(entries)
+	}
+
+	/// Mutable table entries.
+	pub fn entries_mut(&mut self) -> &mut Vec<TableType> {
+		&mut self.0
+	}
+}
+
+impl Deserialize for TableSection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(TableSection(read_entries(reader)?))
+	}
+}
+
+impl Serialize for TableSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut counted_writer = CountedWriter::new(writer);
+		let data = self.0;
+		let counted_list = CountedListWriter::<TableType, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(&mut counted_writer)?;
+		counted_writer.done()?;
+		Ok(())
+	}
+}
+
+/// Section with table definition (currently only one entry is allowed).
+#[derive(Default, Debug, Clone, PartialEq)]
+pub struct MemorySection(Vec<MemoryType>);
+
+impl MemorySection {
+	/// List of all memory entries in the section
+	pub fn entries(&self) -> &[MemoryType] {
+		&self.0
+	}
+
+	///  New memory section with memory types
+	pub fn with_entries(entries: Vec<MemoryType>) -> Self {
+		MemorySection(entries)
+	}
+
+	/// Mutable list of all memory entries in the section
+	pub fn entries_mut(&mut self) -> &mut Vec<MemoryType> {
+		&mut self.0
+	}
+}
+
+impl Deserialize for MemorySection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(MemorySection(read_entries(reader)?))
+	}
+}
+
+impl Serialize for MemorySection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut counted_writer = CountedWriter::new(writer);
+		let data = self.0;
+		let counted_list = CountedListWriter::<MemoryType, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(&mut counted_writer)?;
+		counted_writer.done()?;
+		Ok(())
+	}
+}
+
+/// Globals definition section.
+#[derive(Default, Debug, Clone, PartialEq)]
+pub struct GlobalSection(Vec<GlobalEntry>);
+
+impl GlobalSection {
+	/// List of all global entries in the section
+	pub fn entries(&self) -> &[GlobalEntry] {
+		&self.0
+	}
+
+	/// New global section from list of global entries
+	pub fn with_entries(entries: Vec<GlobalEntry>) -> Self {
+		GlobalSection(entries)
+	}
+
+	/// List of all global entries in the section (mutable)
+	pub fn entries_mut(&mut self) -> &mut Vec<GlobalEntry> {
+		&mut self.0
+	}
+}
+
+impl Deserialize for GlobalSection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(GlobalSection(read_entries(reader)?))
+	}
+}
+
+impl Serialize for GlobalSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut counted_writer = CountedWriter::new(writer);
+		let data = self.0;
+		let counted_list = CountedListWriter::<GlobalEntry, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(&mut counted_writer)?;
+		counted_writer.done()?;
+		Ok(())
+	}
+}
+
+/// List of exports definition.
+#[derive(Debug, Default, Clone, PartialEq)]
+pub struct ExportSection(Vec<ExportEntry>);
+
+impl ExportSection {
+	/// List of all export entries in the section
+	pub fn entries(&self) -> &[ExportEntry] {
+		&self.0
+	}
+
+	/// New export section from list of export entries
+	pub fn with_entries(entries: Vec<ExportEntry>) -> Self {
+		ExportSection(entries)
+	}
+
+	/// List of all export entries in the section (mutable)
+	pub fn entries_mut(&mut self) -> &mut Vec<ExportEntry> {
+		&mut self.0
+	}
+}
+
+impl Deserialize for ExportSection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(ExportSection(read_entries(reader)?))
+	}
+}
+
+impl Serialize for ExportSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut counted_writer = CountedWriter::new(writer);
+		let data = self.0;
+		let counted_list = CountedListWriter::<ExportEntry, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(&mut counted_writer)?;
+		counted_writer.done()?;
+		Ok(())
+	}
+}
+
+/// Section with function bodies of the module.
+#[derive(Default, Debug, Clone, PartialEq)]
+pub struct CodeSection(Vec<FuncBody>);
+
+impl CodeSection {
+	/// New code section with specified function bodies
+	pub fn with_bodies(bodies: Vec<FuncBody>) -> Self {
+		CodeSection(bodies)
+	}
+
+	/// All function bodies in the section.
+	pub fn bodies(&self) -> &[FuncBody] {
+		&self.0
+	}
+
+	/// All function bodies in the section, mutable.
+	pub fn bodies_mut(&mut self) -> &mut Vec<FuncBody> {
+		&mut self.0
+	}
+}
+
+impl Deserialize for CodeSection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(CodeSection(read_entries(reader)?))
+	}
+}
+
+impl Serialize for CodeSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut counted_writer = CountedWriter::new(writer);
+		let data = self.0;
+		let counted_list = CountedListWriter::<FuncBody, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(&mut counted_writer)?;
+		counted_writer.done()?;
+		Ok(())
+	}
+}
+
+/// Element entries section.
+#[derive(Default, Debug, Clone, PartialEq)]
+pub struct ElementSection(Vec<ElementSegment>);
+
+impl ElementSection {
+	/// New elements section
+	pub fn with_entries(entries: Vec<ElementSegment>) -> Self {
+		ElementSection(entries)
+	}
+
+	/// New elements entries in the section
+	pub fn entries(&self) -> &[ElementSegment] {
+		&self.0
+	}
+
+	/// List of all data entries in the section (mutable)
+	pub fn entries_mut(&mut self) -> &mut Vec<ElementSegment> {
+		&mut self.0
+	}
+}
+
+impl Deserialize for ElementSection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(ElementSection(read_entries(reader)?))
+	}
+}
+
+impl Serialize for ElementSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut counted_writer = CountedWriter::new(writer);
+		let data = self.0;
+		let counted_list = CountedListWriter::<ElementSegment, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(&mut counted_writer)?;
+		counted_writer.done()?;
+		Ok(())
+	}
+}
+
+/// Data entries definitions.
+#[derive(Default, Debug, Clone, PartialEq)]
+pub struct DataSection(Vec<DataSegment>);
+
+impl DataSection {
+	/// New data section
+	pub fn with_entries(entries: Vec<DataSegment>) -> Self {
+		DataSection(entries)
+	}
+
+	/// List of all data entries in the section
+	pub fn entries(&self) -> &[DataSegment] {
+		&self.0
+	}
+
+	/// List of all data entries in the section (mutable)
+	pub fn entries_mut(&mut self) -> &mut Vec<DataSegment> {
+		&mut self.0
+	}
+}
+
+impl Deserialize for DataSection {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(DataSection(read_entries(reader)?))
+	}
+}
+
+impl Serialize for DataSection {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let mut counted_writer = CountedWriter::new(writer);
+		let data = self.0;
+		let counted_list = CountedListWriter::<DataSegment, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(&mut counted_writer)?;
+		counted_writer.done()?;
+		Ok(())
+	}
+}
+
+#[cfg(test)]
+mod tests {
+
+	use super::super::{
+		deserialize_buffer, deserialize_file, ValueType, InitExpr, DataSegment,
+		serialize, ElementSegment, Instructions, BlockType, Local, FuncBody,
+	};
+	use super::{Section, TypeSection, Type, DataSection, ElementSection, CodeSection};
+
+	#[test]
+	fn import_section() {
+		let module = deserialize_file("./res/cases/v1/test5.wasm").expect("Should be deserialized");
+		let mut found = false;
+		for section in module.sections() {
+			match section {
+				&Section::Import(ref import_section) => {
+					assert_eq!(25, import_section.entries().len());
+					found = true
+				},
+				_ => { }
+			}
+		}
+		assert!(found, "There should be import section in test5.wasm");
+	}
+
+	fn functions_test_payload() -> &'static [u8] {
+		&[
+			// functions section id
+			0x03u8,
+			// functions section length
+			0x87, 0x80, 0x80, 0x80, 0x0,
+			// number of functions
+			0x04,
+			// type reference 1
+			0x01,
+			// type reference 2
+			0x86, 0x80, 0x00,
+			// type reference 3
+			0x09,
+			// type reference 4
+			0x33
+		]
+	}
+
+	#[test]
+	fn fn_section_detect() {
+		let section: Section =
+			deserialize_buffer(functions_test_payload()).expect("section to be deserialized");
+
+		match section {
+			Section::Function(_) => {},
+			_ => {
+				panic!("Payload should be recognized as functions section")
+			}
+		}
+	}
+
+	#[test]
+	fn fn_section_number() {
+		let section: Section =
+			deserialize_buffer(functions_test_payload()).expect("section to be deserialized");
+
+		match section {
+			Section::Function(fn_section) => {
+				assert_eq!(4, fn_section.entries().len(), "There should be 4 functions total");
+			},
+			_ => {
+				// will be catched by dedicated test
+			}
+		}
+	}
+
+	#[test]
+	fn fn_section_ref() {
+		let section: Section =
+			deserialize_buffer(functions_test_payload()).expect("section to be deserialized");
+
+		match section {
+			Section::Function(fn_section) => {
+				assert_eq!(6, fn_section.entries()[1].type_ref());
+			},
+			_ => {
+				// will be catched by dedicated test
+			}
+		}
+	}
+
+	fn types_test_payload() -> &'static [u8] {
+		&[
+			// section length
+			11,
+
+			// 2 functions
+			2,
+			// func 1, form =1
+			0x60,
+			// param_count=1
+			1,
+				// first param
+				0x7e, // i64
+			// no return params
+			0x00,
+
+			// func 2, form=1
+			0x60,
+			// param_count=2
+			2,
+				// first param
+				0x7e,
+				// second param
+				0x7d,
+			// return param (is_present, param_type)
+			0x01, 0x7e
+		]
+	}
+
+	#[test]
+	fn type_section_len() {
+		let type_section: TypeSection =
+			deserialize_buffer(types_test_payload()).expect("type_section be deserialized");
+
+		assert_eq!(type_section.types().len(), 2);
+	}
+
+	#[test]
+	fn type_section_infer() {
+		let type_section: TypeSection =
+			deserialize_buffer(types_test_payload()).expect("type_section be deserialized");
+
+		let t1 = match &type_section.types()[1] {
+			&Type::Function(ref func_type) => func_type
+		};
+
+		assert_eq!(Some(ValueType::I64), t1.return_type());
+		assert_eq!(2, t1.params().len());
+	}
+
+	fn export_payload() -> &'static [u8] {
+		&[
+			// section id
+			0x07,
+			// section length
+			28,
+			// 6 entries
+			6,
+			// func "A", index 6
+			// [name_len(1-5 bytes), name_bytes(name_len, internal_kind(1byte), internal_index(1-5 bytes)])
+			0x01, 0x41,  0x01, 0x86, 0x80, 0x00,
+			// func "B", index 8
+			0x01, 0x42,  0x01, 0x86, 0x00,
+			// func "C", index 7
+			0x01, 0x43,  0x01, 0x07,
+			// memory "D", index 0
+			0x01, 0x44,  0x02, 0x00,
+			// func "E", index 1
+			0x01, 0x45,  0x01, 0x01,
+			// func "F", index 2
+			0x01, 0x46,  0x01, 0x02
+		]
+	}
+
+
+	#[test]
+	fn export_detect() {
+		let section: Section =
+			deserialize_buffer(export_payload()).expect("section to be deserialized");
+
+		match section {
+			Section::Export(_) => {},
+			_ => {
+				panic!("Payload should be recognized as export section")
+			}
+		}
+	}
+
+	fn code_payload() -> &'static [u8] {
+		&[
+			// sectionid
+			0x0Au8,
+			// section length, 32
+			0x20,
+			// body count
+			0x01,
+			// body 1, length 30
+			0x1E,
+			0x01, 0x01, 0x7F, // local i32 (one collection of length one of type i32)
+			0x02, 0x7F, // block i32
+				0x23, 0x00, // get_global 0
+				0x21, 0x01, // set_local 1
+				0x23, 0x00, // get_global 0
+				0x20, 0x00, // get_local 0
+				0x6A,       // i32.add
+				0x24, 0x00, // set_global 0
+				0x23, 0x00, // get_global 0
+				0x41, 0x0F, // i32.const 15
+				0x6A,       // i32.add
+				0x41, 0x70, // i32.const -16
+				0x71,       // i32.and
+				0x24, 0x00, // set_global 0
+				0x20, 0x01, // get_local 1
+			0x0B,
+			0x0B,
+		]
+	}
+
+	#[test]
+	fn code_detect() {
+
+		let section: Section =
+			deserialize_buffer(code_payload()).expect("section to be deserialized");
+
+		match section {
+			Section::Code(_) => {},
+			_ => {
+				panic!("Payload should be recognized as a code section")
+			}
+		}
+	}
+
+	fn data_payload() -> &'static [u8] {
+		&[
+			0x0bu8,  // section id
+			20,      // 20 bytes overall
+			0x01,    // number of segments
+			0x00,    // index
+			0x0b,    // just `end` op
+			0x10,
+			// 16x 0x00
+			0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00
+		]
+	}
+
+	#[test]
+	fn data_section_ser() {
+		let data_section = DataSection::with_entries(
+			vec![DataSegment::new(0u32, InitExpr::empty(), vec![0u8; 16])]
+		);
+
+		let buf = serialize(data_section).expect("Data section to be serialized");
+
+		assert_eq!(buf, vec![
+			20u8, // 19 bytes overall
+			0x01, // number of segments
+			0x00, // index
+			0x0b, // just `end` op
+			16,   // value of length 16
+			0x00, 0x00, 0x00, 0x00, // 16x 0x00 as in initialization
+			0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00
+		]);
+	}
+
+	#[test]
+	fn data_section_detect() {
+		let section: Section =
+			deserialize_buffer(data_payload()).expect("section to be deserialized");
+
+		match section {
+			Section::Data(_) => {},
+			_ => {
+				panic!("Payload should be recognized as a data section")
+			}
+		}
+	}
+
+	#[test]
+	fn element_section_ser() {
+		let element_section = ElementSection::with_entries(
+			vec![ElementSegment::new(0u32, InitExpr::empty(), vec![0u32; 4])]
+		);
+
+		let buf = serialize(element_section).expect("Element section to be serialized");
+
+		assert_eq!(buf, vec![
+			08u8, // 8 bytes overall
+			0x01, // number of segments
+			0x00, // index
+			0x0b, // just `end` op
+			0x04, // 4 elements
+			0x00, 0x00, 0x00, 0x00 // 4x 0x00 as in initialization
+		]);
+	}
+
+	#[test]
+	fn code_section_ser() {
+		use super::super::Instruction::*;
+
+		let code_section = CodeSection::with_bodies(
+			vec![
+				FuncBody::new(
+					vec![Local::new(1, ValueType::I32)],
+					Instructions::new(vec![
+						Block(BlockType::Value(ValueType::I32)),
+						GetGlobal(0),
+						End,
+						End,
+					])
+				)
+			]);
+
+		let buf = serialize(code_section).expect("Code section to be serialized");
+
+		assert_eq!(buf, vec![
+			11u8,            // 11 bytes total section size
+			0x01,            // 1 function
+			  9,             //   function #1 total code size
+			  1,             //   1 local variable declaration
+			  1,             //      amount of variables
+			  0x7f,          //      type of variable (7-bit, -0x01), negative
+			  0x02,          //   block
+				0x7f,        //      block return type (7-bit, -0x01), negative
+				0x23, 0x00,  //      get_global(0)
+				0x0b,        //   block end
+			0x0b,            // function end
+		]);
+	}
+
+	#[test]
+	fn start_section() {
+		let section: Section = deserialize_buffer(&[08u8, 01u8, 00u8]).expect("Start section to deserialize");
+		if let Section::Start(_) = section {
+		} else {
+			panic!("Payload should be a start section");
+		}
+
+		let serialized = serialize(section).expect("Start section to successfully serializen");
+
+		assert_eq!(serialized, vec![08u8, 01u8, 00u8]);
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/segment.rs.html b/src/parity_wasm/elements/segment.rs.html new file mode 100644 index 0000000..6e939a5 --- /dev/null +++ b/src/parity_wasm/elements/segment.rs.html @@ -0,0 +1,271 @@ +segment.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+
+use io;
+use std::vec::Vec;
+use super::{Deserialize, Serialize, Error, VarUint32, CountedList, InitExpr, CountedListWriter};
+
+/// Entry in the element section.
+#[derive(Debug, Clone, PartialEq)]
+pub struct ElementSegment {
+	index: u32,
+	offset: InitExpr,
+	members: Vec<u32>,
+}
+
+impl ElementSegment {
+	/// New element segment.
+	pub fn new(index: u32, offset: InitExpr, members: Vec<u32>) -> Self {
+		ElementSegment { index: index, offset: offset, members: members }
+	}
+
+	/// Sequence of function indices.
+	pub fn members(&self) -> &[u32] { &self.members }
+
+	/// Sequence of function indices (mutable)
+	pub fn members_mut(&mut self) -> &mut Vec<u32> { &mut self.members }
+
+	/// Table index (currently valid only value of `0`)
+	pub fn index(&self) -> u32 { self.index }
+
+	/// An i32 initializer expression that computes the offset at which to place the elements.
+	pub fn offset(&self) -> &InitExpr { &self.offset }
+
+	/// An i32 initializer expression that computes the offset at which to place the elements (mutable)
+	pub fn offset_mut(&mut self) -> &mut InitExpr { &mut self.offset }
+}
+
+impl Deserialize for ElementSegment {
+	 type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let index = VarUint32::deserialize(reader)?;
+		let offset = InitExpr::deserialize(reader)?;
+		let funcs: Vec<u32> = CountedList::<VarUint32>::deserialize(reader)?
+			.into_inner()
+			.into_iter()
+			.map(Into::into)
+			.collect();
+
+		Ok(ElementSegment {
+			index: index.into(),
+			offset: offset,
+			members: funcs,
+		})
+	}
+}
+
+impl Serialize for ElementSegment {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		VarUint32::from(self.index).serialize(writer)?;
+		self.offset.serialize(writer)?;
+		let data = self.members;
+		let counted_list = CountedListWriter::<VarUint32, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(writer)?;
+		Ok(())
+	}
+}
+
+/// Data segment definition.
+#[derive(Clone, Debug, PartialEq)]
+pub struct DataSegment {
+	index: u32,
+	offset: InitExpr,
+	value: Vec<u8>,
+}
+
+impl DataSegment {
+	/// New data segments.
+	pub fn new(index: u32, offset: InitExpr, value: Vec<u8>) -> Self {
+		DataSegment {
+			index: index,
+			offset: offset,
+			value: value,
+		}
+	}
+
+	/// Linear memory index (currently the only valid value is `0`).
+	pub fn index(&self) -> u32 { self.index }
+
+	/// An i32 initializer expression that computes the offset at which to place the data.
+	pub fn offset(&self) -> &InitExpr { &self.offset }
+
+	/// An i32 initializer expression that computes the offset at which to place the data (mutable)
+	pub fn offset_mut(&mut self) -> &mut InitExpr { &mut self.offset }
+
+	/// Initial value of the data segment.
+	pub fn value(&self) -> &[u8] { &self.value }
+
+	/// Initial value of the data segment (mutable).
+	pub fn value_mut(&mut self) -> &mut Vec<u8> { &mut self.value }
+}
+
+impl Deserialize for DataSegment {
+	 type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let index = VarUint32::deserialize(reader)?;
+		let offset = InitExpr::deserialize(reader)?;
+		let value_len = u32::from(VarUint32::deserialize(reader)?) as usize;
+		let value_buf = buffered_read!(65536, value_len, reader);
+
+		Ok(DataSegment {
+			index: index.into(),
+			offset: offset,
+			value: value_buf,
+		})
+	}
+}
+
+impl Serialize for DataSegment {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		VarUint32::from(self.index).serialize(writer)?;
+		self.offset.serialize(writer)?;
+
+		let value = self.value;
+		VarUint32::from(value.len()).serialize(writer)?;
+		writer.write(&value[..])?;
+		Ok(())
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/elements/types.rs.html b/src/parity_wasm/elements/types.rs.html new file mode 100644 index 0000000..5845abc --- /dev/null +++ b/src/parity_wasm/elements/types.rs.html @@ -0,0 +1,525 @@ +types.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+
+use io;
+use std::fmt;
+use std::vec::Vec;
+use super::{
+	Deserialize, Serialize, Error, VarUint7, VarInt7, VarUint1, CountedList,
+	CountedListWriter, VarUint32,
+};
+
+/// Type definition in types section. Currently can be only of the function type.
+#[derive(Debug, Clone, PartialEq)]
+pub enum Type {
+	/// Function type.
+	Function(FunctionType),
+}
+
+impl Deserialize for Type {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		Ok(Type::Function(FunctionType::deserialize(reader)?))
+	}
+}
+
+impl Serialize for Type {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		match self {
+			Type::Function(fn_type) => fn_type.serialize(writer)
+		}
+	}
+}
+
+/// Value type.
+#[derive(Clone, Copy, Debug, PartialEq)]
+pub enum ValueType {
+	/// 32-bit signed integer
+	I32,
+	/// 64-bit signed integer
+	I64,
+	/// 32-bit float
+	F32,
+	/// 64-bit float
+	F64,
+	/// 128-bit SIMD register
+	V128,
+}
+
+impl Deserialize for ValueType {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let val = VarInt7::deserialize(reader)?;
+
+		match val.into() {
+			-0x01 => Ok(ValueType::I32),
+			-0x02 => Ok(ValueType::I64),
+			-0x03 => Ok(ValueType::F32),
+			-0x04 => Ok(ValueType::F64),
+			-0x05 => Ok(ValueType::V128),
+			_ => Err(Error::UnknownValueType(val.into())),
+		}
+	}
+}
+
+impl Serialize for ValueType {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let val: VarInt7 = match self {
+			ValueType::I32 => -0x01,
+			ValueType::I64 => -0x02,
+			ValueType::F32 => -0x03,
+			ValueType::F64 => -0x04,
+			ValueType::V128 => -0x05,
+		}.into();
+		val.serialize(writer)?;
+		Ok(())
+	}
+}
+
+impl fmt::Display for ValueType {
+	fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+		match *self {
+			ValueType::I32 => write!(f, "i32"),
+			ValueType::I64 => write!(f, "i64"),
+			ValueType::F32 => write!(f, "f32"),
+			ValueType::F64 => write!(f, "f64"),
+			ValueType::V128 => write!(f, "v128"),
+		}
+	}
+}
+
+/// Block type which is basically `ValueType` + NoResult (to define blocks that have no return type)
+#[derive(Clone, Copy, Debug, PartialEq)]
+pub enum BlockType {
+	/// Value-type specified block type
+	Value(ValueType),
+	/// No specified block type
+	NoResult,
+}
+
+impl Deserialize for BlockType {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let val = VarInt7::deserialize(reader)?;
+
+		match val.into() {
+			-0x01 => Ok(BlockType::Value(ValueType::I32)),
+			-0x02 => Ok(BlockType::Value(ValueType::I64)),
+			-0x03 => Ok(BlockType::Value(ValueType::F32)),
+			-0x04 => Ok(BlockType::Value(ValueType::F64)),
+			0x7b => Ok(BlockType::Value(ValueType::V128)),
+			-0x40 => Ok(BlockType::NoResult),
+			_ => Err(Error::UnknownValueType(val.into())),
+		}
+	}
+}
+
+impl Serialize for BlockType {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let val: VarInt7 = match self {
+			BlockType::NoResult => -0x40i8,
+			BlockType::Value(ValueType::I32) => -0x01,
+			BlockType::Value(ValueType::I64) => -0x02,
+			BlockType::Value(ValueType::F32) => -0x03,
+			BlockType::Value(ValueType::F64) => -0x04,
+			BlockType::Value(ValueType::V128) => 0x7b,
+		}.into();
+		val.serialize(writer)?;
+		Ok(())
+	}
+}
+
+/// Function signature type.
+#[derive(Debug, Clone, PartialEq)]
+pub struct FunctionType {
+	form: u8,
+	params: Vec<ValueType>,
+	return_type: Option<ValueType>,
+}
+
+impl Default for FunctionType {
+	fn default() -> Self {
+		FunctionType {
+			form: 0x60,
+			params: Vec::new(),
+			return_type: None,
+		}
+	}
+}
+
+impl FunctionType {
+	/// New function type given the signature in-params(`params`) and return type (`return_type`)
+	pub fn new(params: Vec<ValueType>, return_type: Option<ValueType>) -> Self {
+		FunctionType {
+			params: params,
+			return_type: return_type,
+			..Default::default()
+		}
+	}
+	/// Function form (currently only valid value is `0x60`)
+	pub fn form(&self) -> u8 { self.form }
+	/// Parameters in the function signature.
+	pub fn params(&self) -> &[ValueType] { &self.params }
+	/// Mutable parameters in the function signature.
+	pub fn params_mut(&mut self) -> &mut Vec<ValueType> { &mut self.params }
+	/// Return type in the function signature, if any.
+	pub fn return_type(&self) -> Option<ValueType> { self.return_type }
+	/// Mutable type in the function signature, if any.
+	pub fn return_type_mut(&mut self) -> &mut Option<ValueType> { &mut self.return_type }
+}
+
+impl Deserialize for FunctionType {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let form: u8 = VarUint7::deserialize(reader)?.into();
+
+		if form != 0x60 {
+			return Err(Error::UnknownFunctionForm(form));
+		}
+
+		let params: Vec<ValueType> = CountedList::deserialize(reader)?.into_inner();
+
+		let return_types: u32 = VarUint32::deserialize(reader)?.into();
+
+		let return_type = if return_types == 1 {
+			Some(ValueType::deserialize(reader)?)
+		} else if return_types == 0 {
+			None
+		} else {
+			return Err(Error::Other("Return types length should be 0 or 1"));
+		};
+
+		Ok(FunctionType {
+			form: form,
+			params: params,
+			return_type: return_type,
+		})
+	}
+}
+
+impl Serialize for FunctionType {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		VarUint7::from(self.form).serialize(writer)?;
+
+		let data = self.params;
+		let counted_list = CountedListWriter::<ValueType, _>(
+			data.len(),
+			data.into_iter().map(Into::into),
+		);
+		counted_list.serialize(writer)?;
+
+		if let Some(return_type) = self.return_type {
+			VarUint1::from(true).serialize(writer)?;
+			return_type.serialize(writer)?;
+		} else {
+			VarUint1::from(false).serialize(writer)?;
+		}
+
+		Ok(())
+	}
+}
+
+/// Table element type.
+#[derive(Clone, Copy, Debug, PartialEq)]
+pub enum TableElementType {
+	/// A reference to a function with any signature.
+	AnyFunc,
+}
+
+impl Deserialize for TableElementType {
+	type Error = Error;
+
+	fn deserialize<R: io::Read>(reader: &mut R) -> Result<Self, Self::Error> {
+		let val = VarInt7::deserialize(reader)?;
+
+		match val.into() {
+			-0x10 => Ok(TableElementType::AnyFunc),
+			_ => Err(Error::UnknownTableElementType(val.into())),
+		}
+	}
+}
+
+impl Serialize for TableElementType {
+	type Error = Error;
+
+	fn serialize<W: io::Write>(self, writer: &mut W) -> Result<(), Self::Error> {
+		let val: VarInt7 = match self {
+			TableElementType::AnyFunc => -0x10,
+		}.into();
+		val.serialize(writer)?;
+		Ok(())
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/io.rs.html b/src/parity_wasm/io.rs.html new file mode 100644 index 0000000..a918eef --- /dev/null +++ b/src/parity_wasm/io.rs.html @@ -0,0 +1,241 @@ +io.rs.html -- source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+
+//! Simple abstractions for the IO operations.
+//!
+//! Basically it just a replacement for the std::io that is usable from
+//! the `no_std` environment.
+
+/// IO specific error.
+#[derive(Debug)]
+pub enum Error {
+	/// Some unexpected data left in the buffer after reading all data.
+	TrailingData,
+
+	/// Unexpected End-Of-File
+	UnexpectedEof,
+
+	/// Invalid data is encountered.
+	InvalidData,
+
+	#[cfg(feature = "std")]
+	IoError(::std::io::Error),
+}
+
+/// IO specific Result.
+pub type Result<T> = ::std::result::Result<T, Error>;
+
+pub trait Write {
+	/// Write a buffer of data into this write.
+	///
+	/// All data is written at once.
+	fn write(&mut self, buf: &[u8]) -> Result<()>;
+}
+
+pub trait Read {
+	/// Read a data from this read to a buffer.
+	///
+	/// If there is not enough data in this read then `UnexpectedEof` will be returned.
+	fn read(&mut self, buf: &mut [u8]) -> Result<()>;
+}
+
+/// Reader that saves the last position.
+pub struct Cursor<T> {
+	inner: T,
+	pos: usize,
+}
+
+impl<T> Cursor<T> {
+	pub fn new(inner: T) -> Cursor<T> {
+		Cursor {
+			inner,
+			pos: 0,
+		}
+	}
+
+	pub fn position(&self) -> usize {
+		self.pos
+	}
+}
+
+impl<T: AsRef<[u8]>> Read for Cursor<T> {
+	fn read(&mut self, buf: &mut [u8]) -> Result<()> {
+		let slice = self.inner.as_ref();
+		let remainder = slice.len() - self.pos;
+		let requested = buf.len();
+		if requested > remainder {
+			return Err(Error::UnexpectedEof);
+		}
+		buf.copy_from_slice(&slice[self.pos..(self.pos + requested)]);
+		self.pos += requested;
+		Ok(())
+	}
+}
+
+#[cfg(not(feature = "std"))]
+impl Write for ::std::vec::Vec<u8> {
+	fn write(&mut self, buf: &[u8]) -> Result<()> {
+		self.extend(buf);
+		Ok(())
+	}
+}
+
+#[cfg(feature = "std")]
+impl<T: ::std::io::Read> Read for T {
+	fn read(&mut self, buf: &mut [u8]) -> Result<()> {
+		self.read_exact(buf)
+			.map_err(Error::IoError)
+	}
+}
+
+#[cfg(feature = "std")]
+impl<T: ::std::io::Write> Write for T {
+	fn write(&mut self, buf: &[u8]) -> Result<()> {
+		self.write_all(buf).map_err(Error::IoError)
+	}
+}
+
+#[cfg(test)]
+mod tests {
+	use super::*;
+
+	#[test]
+	fn cursor() {
+		let mut cursor = Cursor::new(vec![0xFFu8, 0x7Fu8]);
+		assert_eq!(cursor.position(), 0);
+
+		let mut buf = [0u8];
+		assert!(cursor.read(&mut buf[..]).is_ok());
+		assert_eq!(cursor.position(), 1);
+		assert_eq!(buf[0], 0xFFu8);
+		assert!(cursor.read(&mut buf[..]).is_ok());
+		assert_eq!(buf[0], 0x7Fu8);
+		assert_eq!(cursor.position(), 2);
+	}
+
+	#[test]
+	fn overflow_in_cursor() {
+		let mut cursor = Cursor::new(vec![0u8]);
+		let mut buf = [0, 1, 2];
+		assert!(cursor.read(&mut buf[..]).is_err());
+	}
+}
+
+
\ No newline at end of file diff --git a/src/parity_wasm/lib.rs.html b/src/parity_wasm/lib.rs.html new file mode 100644 index 0000000..c04c87a --- /dev/null +++ b/src/parity_wasm/lib.rs.html @@ -0,0 +1,83 @@ +lib.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+
+//! WebAssembly format library
+
+#![cfg_attr(not(feature = "std"), no_std)]
+#![cfg_attr(not(feature = "std"), feature(alloc))]
+
+#![warn(missing_docs)]
+
+extern crate byteorder;
+
+#[cfg(not(feature = "std"))]
+#[macro_use]
+extern crate alloc;
+
+pub mod elements;
+pub mod builder;
+mod io;
+
+pub use elements::{
+	Error as SerializationError,
+	deserialize_buffer,
+	serialize,
+	peek_size,
+};
+
+#[cfg(feature = "std")]
+pub use elements::{
+	deserialize_file,
+	serialize_to_file,
+};
+
+
+
+#[cfg(not(feature = "std"))]
+mod std {
+	pub use core::*;
+	pub use alloc::vec;
+	pub use alloc::string;
+	pub use alloc::boxed;
+	pub use alloc::borrow;
+}
+
+
\ No newline at end of file diff --git a/storage.js b/storage.js new file mode 100644 index 0000000..f01b7d3 --- /dev/null +++ b/storage.js @@ -0,0 +1,11 @@ +var resourcesSuffix="";/*! + * Copyright 2018 The Rust Project Developers. See the COPYRIGHT + * file at the top-level directory of this distribution and at + * http://rust-lang.org/COPYRIGHT. + * + * Licensed under the Apache License, Version 2.0 or the MIT license + * , at your + * option. This file may not be copied, modified, or distributed + * except according to those terms. + */var currentTheme=document.getElementById("themeStyle");var mainTheme=document.getElementById("mainThemeStyle");var savedHref=[];function onEach(arr,func){if(arr&&arr.length>0&&func){for(var i=0;i \ No newline at end of file

Redirecting to type.BE.html...