public StoreF32Ins(ref WASMReader input) : base(OPCode.StoreF32, ref input, true) { }
protected override int GetBodySize() => WASMReader.GetULEB128Size(TypeIndex) + sizeof(byte);
public MemoryGrowIns(ref WASMReader input) : this(input.ReadByte()) { }
public ConstantF32Ins(ref WASMReader input) : this(input.ReadSingle()) { }
public BranchIns(ref WASMReader input) : this(input.ReadIntULEB128()) { }
public LoadI32_8SIns(ref WASMReader input) : base(OPCode.LoadI32_8S, ref input, true) { }
public BlockIns(ref WASMReader input) : this(ref input, OPCode.Block) { }
public GlobalType(ref WASMReader input) { ValueType = input.ReadValueType(); IsMutable = input.ReadBoolean(); }
public MemoryType(ref WASMReader input) : base(ref input) { }
public GlobalSubsection(ref WASMReader input) { Info = new GlobalType(ref input); Expression = input.ReadExpression(); }
protected override int GetBodySize() => WASMReader.GetULEB128Size(FunctionIndex + (uint)(_functionOffsetProvider?.FunctionOffset ?? 0));
public CallIns(ref WASMReader input, IFunctionOffsetProvider functionOffsetProvider = null) : this(input.ReadIntULEB128()) { _functionOffsetProvider = functionOffsetProvider; }
protected override int GetBodySize() => _hasMemArgs?WASMReader.GetULEB128Size(Align) + WASMReader.GetULEB128Size(Offset) : sizeof(byte);
protected override int GetBodySize() => WASMReader.GetULEB128Size(FunctionIndex);
public ConstantF64Ins(ref WASMReader input) : this(input.ReadDouble()) { }
public LoadF64Ins(ref WASMReader input) : base(OPCode.LoadF64, ref input, true) { }
public ElseIns(ref WASMReader input) : base(OPCode.Else) { Expression = input.ReadExpression(); }
public TeeLocalIns(ref WASMReader input) : this(input.ReadIntULEB128()) { }
public StoreI32_16Ins(ref WASMReader input) : base(OPCode.StoreI32_16, ref input, true) { }
protected override int GetBodySize() => WASMReader.GetULEB128Size(LabelIndex);
public ConstantI32Ins(ref WASMReader input) : this(input.ReadIntLEB128()) { }
public TableType(ref WASMReader input) { ElementType = input.ReadByte(); // WASM v1 only supports funcref(0x70), but will perhaps support more in the future. Limits = new Limits(ref input); }
protected override int GetBodySize() => WASMReader.GetLEB128Size(Constant);
public StoreI64_8Ins(ref WASMReader input) : base(OPCode.StoreI64_8, ref input, true) { }
public SetGlobalIns(ref WASMReader input) : this(input.ReadIntULEB128()) { }
public LoadI64_32UIns(ref WASMReader input) : base(OPCode.LoadI64_32U, ref input, true) { }
public StartSection(ref WASMReader input) : base(WASMSectionId.StartSection) { FunctionIndex = input.ReadIntULEB128(); }
public LoopIns(ref WASMReader input) : base(ref input, OPCode.Loop) { }
public CallIndirectIns(ref WASMReader input) : this(input.ReadIntULEB128()) { /* In future versions of WebAssembly, the zero byte occurring in the encoding of the call_indirect instruction may be used to index additional tables. */ input.Position++; }