Class V128UnaryInstruction
Base class for vector instructions which take one v128 and produce one v128.
Assembly: WaaS.Core.dll
View Source
public abstract class V128UnaryInstruction : Instruction
Inheritance: System.Object -> WaaS.Models.Instruction
Derived:
Expand
WaaS.Models.ConvertLowI32x4F64x2S, WaaS.Models.ConvertLowI32x4F64x2U, WaaS.Models.DemoteF64x2F32x4Zero, WaaS.Models.NotV128, WaaS.Models.PromoteLowF32x4F64x2, WaaS.Models.TruncSatF64x2I32x4SZero, WaaS.Models.TruncSatF64x2I32x4UZero, WaaS.Models.V128ExtAddPairwiseInstruction<TLane, TResultLane>, WaaS.Models.V128ExtendInstruction<TLane, TResultLane>, WaaS.Models.V128LanewiseUnaryInstruction<TLane, TResultLane>
Methods
Execute(WasmStackFrame)
Executes the instruction.
View Source
public override void Execute(WasmStackFrame current)
Parameters
| Type | Name |
|---|---|
| WaaS.Runtime.WasmStackFrame | current |
Operate(in V128)
View Source
protected abstract V128 Operate(in V128 value)
Returns
Parameters
| Type | Name |
|---|---|
| WaaS.V128 | value |
PreValidateStackState(in ValidationContext)
Get the number of values to pop and push from the stack to validate stack depth.
View Source
public override (uint popCount, uint pushCount) PreValidateStackState(in ValidationContext context)
Returns
System.ValueTuple<System.UInt32,System.UInt32>
Parameters
| Type | Name |
|---|---|
| WaaS.Models.ValidationContext | context |
ValidateStackState(in ValidationContext, ref ValidationBlockStackState)
Simulates stack operations to validate the stack state.
View Source
public override void ValidateStackState(in ValidationContext context, ref ValidationBlockStackState stackState)
Parameters
| Type | Name |
|---|---|
| WaaS.Models.ValidationContext | context |
| WaaS.Models.ValidationBlockStackState | stackState |