object Instructions
WebAssembly instructions.
- Alphabetic
- By Inheritance
- Instructions
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- final case class ArrayCopy(destType: TypeID, srcType: TypeID) extends Instr with Product with Serializable
- final case class ArrayGet(i: TypeID) extends TypeInstr with Product with Serializable
- final case class ArrayGetS(i: TypeID) extends TypeInstr with Product with Serializable
- final case class ArrayGetU(i: TypeID) extends TypeInstr with Product with Serializable
- final case class ArrayNew(i: TypeID) extends TypeInstr with Product with Serializable
- final case class ArrayNewData(i: TypeID, d: DataID) extends Instr with Product with Serializable
- final case class ArrayNewDefault(i: TypeID) extends TypeInstr with Product with Serializable
- final case class ArrayNewFixed(i: TypeID, size: Int) extends Instr with Product with Serializable
- final case class ArraySet(i: TypeID) extends TypeInstr with Product with Serializable
- final case class Block(i: BlockType, label: Option[LabelID]) extends BlockTypeLabeledInstr with Product with Serializable
-
sealed abstract
class
BlockType extends AnyRef
A structured instruction can consume input and produce output on the operand stack according to its annotated block type.
A structured instruction can consume input and produce output on the operand stack according to its annotated block type.
It is given either as a type index that refers to a suitable function type, or as an optional value type inline, which is a shorthand for the function type
[] -> [valtype]
.- See also
https://webassembly.github.io/spec/core/syntax/instructions.html#control-instructions
-
sealed abstract
class
BlockTypeLabeledInstr extends Instr with StructuredLabeledInstr
A structured labeled instruction with a single
BlockType
argument. - final case class Br(i: LabelID) extends LabelInstr with StackPolymorphicInstr with Product with Serializable
- final case class BrIf(i: LabelID) extends LabelInstr with Product with Serializable
- final case class BrOnCast(label: LabelID, from: RefType, to: RefType) extends Instr with Product with Serializable
- final case class BrOnCastFail(label: LabelID, from: RefType, to: RefType) extends Instr with Product with Serializable
- final case class BrOnNonNull(i: LabelID) extends LabelInstr with Product with Serializable
- final case class BrOnNull(i: LabelID) extends LabelInstr with Product with Serializable
- final case class BrTable(table: List[LabelID], default: LabelID) extends Instr with StackPolymorphicInstr with Product with Serializable
- final case class Call(i: FunctionID) extends FuncInstr with Product with Serializable
- final case class CallRef(i: TypeID) extends TypeInstr with Product with Serializable
-
final
case class
Catch(i: TagID) extends TagInstr with Product with Serializable
catch
in the legacy exception system. -
sealed abstract
class
CatchClause extends AnyRef
Catch clause of a TryTable instruction.
-
final
case class
Expr(instr: List[Instr]) extends Product with Serializable
A WebAssembly
expr
. - final case class F32Const(v: Float) extends Instr with Product with Serializable
- final case class F64Const(v: Double) extends Instr with Product with Serializable
-
sealed abstract
class
FuncInstr extends Instr
An instruction with a single
FunctionID
argument. - final case class GlobalGet(i: GlobalID) extends GlobalInstr with Product with Serializable
-
sealed abstract
class
GlobalInstr extends Instr
An instruction with a single
GlobalID
argument. - final case class GlobalSet(i: GlobalID) extends GlobalInstr with Product with Serializable
-
sealed abstract
class
HeapTypeInstr extends Instr
An instruction with a single
HeapType
argument. - final case class I32Const(v: Int) extends Instr with Product with Serializable
- final case class I64Const(v: Long) extends Instr with Product with Serializable
- final case class If(i: BlockType, label: Option[LabelID] = None) extends BlockTypeLabeledInstr with Product with Serializable
-
sealed abstract
class
Instr extends AnyRef
A WebAssembly
instr
. -
sealed abstract
class
LabelInstr extends Instr
An instruction with a single
LabelIdx
argument. - final case class LocalGet(i: LocalID) extends LocalInstr with Product with Serializable
-
sealed abstract
class
LocalInstr extends Instr
An instruction with a single
LocalID
argument. - final case class LocalSet(i: LocalID) extends LocalInstr with Product with Serializable
- final case class LocalTee(i: LocalID) extends LocalInstr with Product with Serializable
- final case class Loop(i: BlockType, label: Option[LabelID]) extends BlockTypeLabeledInstr with Product with Serializable
-
final
case class
PositionMark(pos: Position) extends Instr with Product with Serializable
Fake instruction to mark position changes.
- final case class RefCast(i: RefType) extends RefTypeInstr with Product with Serializable
- final case class RefFunc(i: FunctionID) extends FuncInstr with Product with Serializable
- final case class RefNull(i: HeapType) extends HeapTypeInstr with Product with Serializable
- final case class RefTest(i: RefType) extends RefTypeInstr with Product with Serializable
-
sealed abstract
class
RefTypeInstr extends Instr
An instruction with a single
RefType
argumentAn instruction with a single
RefType
argumentIn the binary format, it has split opcodes for the nullable and non-nullable variants.
- final case class ReturnCall(i: FunctionID) extends FuncInstr with StackPolymorphicInstr with Product with Serializable
- final case class ReturnCallRef(i: TypeID) extends TypeInstr with StackPolymorphicInstr with Product with Serializable
- final case class Select(resultTypes: List[Type]) extends Instr with Product with Serializable
-
sealed abstract
class
SimpleInstr extends Instr
An instruction without any immediate argument.
-
sealed
trait
StackPolymorphicInstr extends Instr
A stack-polymorphic instruction.
-
sealed abstract
class
StructFieldInstr extends Instr
An instruction with a pair of
TypeID
,FieldID
arguments. - final case class StructGet(tyidx: TypeID, fidx: FieldID) extends StructFieldInstr with Product with Serializable
- final case class StructNew(i: TypeID) extends TypeInstr with Product with Serializable
- final case class StructNewDefault(i: TypeID) extends TypeInstr with Product with Serializable
- final case class StructSet(tyidx: TypeID, fidx: FieldID) extends StructFieldInstr with Product with Serializable
-
sealed
trait
StructuredLabeledInstr extends Instr
An instruction that opens a structured control block.
-
sealed abstract
class
TagInstr extends Instr
An instruction with a single
TagID
argument. - final case class Throw(i: TagID) extends TagInstr with StackPolymorphicInstr with Product with Serializable
-
final
case class
Try(i: BlockType, label: Option[LabelID] = None) extends BlockTypeLabeledInstr with Product with Serializable
try
in the legacy exception system.try
in the legacy exception system. - final case class TryTable(i: BlockType, cs: List[CatchClause], label: Option[LabelID] = None) extends Instr with StructuredLabeledInstr with Product with Serializable
-
sealed abstract
class
TypeInstr extends Instr
An instruction with a single
TypeID
argument.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- object AnyConvertExtern extends SimpleInstr with Product with Serializable
- object ArrayLen extends SimpleInstr with Product with Serializable
- object BlockType
- object CatchClause
- object Drop extends SimpleInstr with Product with Serializable
- object Else extends SimpleInstr with Product with Serializable
- object End extends SimpleInstr with Product with Serializable
- object ExternConvertAny extends SimpleInstr with Product with Serializable
- object F32Abs extends SimpleInstr with Product with Serializable
- object F32Add extends SimpleInstr with Product with Serializable
- object F32Ceil extends SimpleInstr with Product with Serializable
- object F32ConvertI32S extends SimpleInstr with Product with Serializable
- object F32ConvertI32U extends SimpleInstr with Product with Serializable
- object F32ConvertI64S extends SimpleInstr with Product with Serializable
- object F32ConvertI64U extends SimpleInstr with Product with Serializable
- object F32Copysign extends SimpleInstr with Product with Serializable
- object F32DemoteF64 extends SimpleInstr with Product with Serializable
- object F32Div extends SimpleInstr with Product with Serializable
- object F32Eq extends SimpleInstr with Product with Serializable
- object F32Floor extends SimpleInstr with Product with Serializable
- object F32Ge extends SimpleInstr with Product with Serializable
- object F32Gt extends SimpleInstr with Product with Serializable
- object F32Le extends SimpleInstr with Product with Serializable
- object F32Lt extends SimpleInstr with Product with Serializable
- object F32Max extends SimpleInstr with Product with Serializable
- object F32Min extends SimpleInstr with Product with Serializable
- object F32Mul extends SimpleInstr with Product with Serializable
- object F32Ne extends SimpleInstr with Product with Serializable
- object F32Nearest extends SimpleInstr with Product with Serializable
- object F32Neg extends SimpleInstr with Product with Serializable
- object F32ReinterpretI32 extends SimpleInstr with Product with Serializable
- object F32Sqrt extends SimpleInstr with Product with Serializable
- object F32Sub extends SimpleInstr with Product with Serializable
- object F32Trunc extends SimpleInstr with Product with Serializable
- object F64Abs extends SimpleInstr with Product with Serializable
- object F64Add extends SimpleInstr with Product with Serializable
- object F64Ceil extends SimpleInstr with Product with Serializable
- object F64ConvertI32S extends SimpleInstr with Product with Serializable
- object F64ConvertI32U extends SimpleInstr with Product with Serializable
- object F64ConvertI64S extends SimpleInstr with Product with Serializable
- object F64ConvertI64U extends SimpleInstr with Product with Serializable
- object F64Copysign extends SimpleInstr with Product with Serializable
- object F64Div extends SimpleInstr with Product with Serializable
- object F64Eq extends SimpleInstr with Product with Serializable
- object F64Floor extends SimpleInstr with Product with Serializable
- object F64Ge extends SimpleInstr with Product with Serializable
- object F64Gt extends SimpleInstr with Product with Serializable
- object F64Le extends SimpleInstr with Product with Serializable
- object F64Lt extends SimpleInstr with Product with Serializable
- object F64Max extends SimpleInstr with Product with Serializable
- object F64Min extends SimpleInstr with Product with Serializable
- object F64Mul extends SimpleInstr with Product with Serializable
- object F64Ne extends SimpleInstr with Product with Serializable
- object F64Nearest extends SimpleInstr with Product with Serializable
- object F64Neg extends SimpleInstr with Product with Serializable
- object F64PromoteF32 extends SimpleInstr with Product with Serializable
- object F64ReinterpretI64 extends SimpleInstr with Product with Serializable
- object F64Sqrt extends SimpleInstr with Product with Serializable
- object F64Sub extends SimpleInstr with Product with Serializable
- object F64Trunc extends SimpleInstr with Product with Serializable
- object I31GetS extends SimpleInstr with Product with Serializable
- object I31GetU extends SimpleInstr with Product with Serializable
- object I32Add extends SimpleInstr with Product with Serializable
- object I32And extends SimpleInstr with Product with Serializable
- object I32Clz extends SimpleInstr with Product with Serializable
- object I32Ctz extends SimpleInstr with Product with Serializable
- object I32DivS extends SimpleInstr with Product with Serializable
- object I32DivU extends SimpleInstr with Product with Serializable
- object I32Eq extends SimpleInstr with Product with Serializable
- object I32Eqz extends SimpleInstr with Product with Serializable
- object I32Extend16S extends SimpleInstr with Product with Serializable
- object I32Extend8S extends SimpleInstr with Product with Serializable
- object I32GeS extends SimpleInstr with Product with Serializable
- object I32GeU extends SimpleInstr with Product with Serializable
- object I32GtS extends SimpleInstr with Product with Serializable
- object I32GtU extends SimpleInstr with Product with Serializable
- object I32LeS extends SimpleInstr with Product with Serializable
- object I32LeU extends SimpleInstr with Product with Serializable
- object I32LtS extends SimpleInstr with Product with Serializable
- object I32LtU extends SimpleInstr with Product with Serializable
- object I32Mul extends SimpleInstr with Product with Serializable
- object I32Ne extends SimpleInstr with Product with Serializable
- object I32Or extends SimpleInstr with Product with Serializable
- object I32Popcnt extends SimpleInstr with Product with Serializable
- object I32ReinterpretF32 extends SimpleInstr with Product with Serializable
- object I32RemS extends SimpleInstr with Product with Serializable
- object I32RemU extends SimpleInstr with Product with Serializable
- object I32Rotl extends SimpleInstr with Product with Serializable
- object I32Rotr extends SimpleInstr with Product with Serializable
- object I32Shl extends SimpleInstr with Product with Serializable
- object I32ShrS extends SimpleInstr with Product with Serializable
- object I32ShrU extends SimpleInstr with Product with Serializable
- object I32Sub extends SimpleInstr with Product with Serializable
- object I32TruncF32S extends SimpleInstr with Product with Serializable
- object I32TruncF32U extends SimpleInstr with Product with Serializable
- object I32TruncF64S extends SimpleInstr with Product with Serializable
- object I32TruncF64U extends SimpleInstr with Product with Serializable
- object I32TruncSatF64S extends SimpleInstr with Product with Serializable
- object I32WrapI64 extends SimpleInstr with Product with Serializable
- object I32Xor extends SimpleInstr with Product with Serializable
- object I64Add extends SimpleInstr with Product with Serializable
- object I64And extends SimpleInstr with Product with Serializable
- object I64Clz extends SimpleInstr with Product with Serializable
- object I64Ctz extends SimpleInstr with Product with Serializable
- object I64DivS extends SimpleInstr with Product with Serializable
- object I64DivU extends SimpleInstr with Product with Serializable
- object I64Eq extends SimpleInstr with Product with Serializable
- object I64Eqz extends SimpleInstr with Product with Serializable
- object I64Extend16S extends SimpleInstr with Product with Serializable
- object I64Extend32S extends SimpleInstr with Product with Serializable
- object I64Extend8S extends SimpleInstr with Product with Serializable
- object I64ExtendI32S extends SimpleInstr with Product with Serializable
- object I64ExtendI32U extends SimpleInstr with Product with Serializable
- object I64GeS extends SimpleInstr with Product with Serializable
- object I64GeU extends SimpleInstr with Product with Serializable
- object I64GtS extends SimpleInstr with Product with Serializable
- object I64GtU extends SimpleInstr with Product with Serializable
- object I64LeS extends SimpleInstr with Product with Serializable
- object I64LeU extends SimpleInstr with Product with Serializable
- object I64LtS extends SimpleInstr with Product with Serializable
- object I64LtU extends SimpleInstr with Product with Serializable
- object I64Mul extends SimpleInstr with Product with Serializable
- object I64Ne extends SimpleInstr with Product with Serializable
- object I64Or extends SimpleInstr with Product with Serializable
- object I64Popcnt extends SimpleInstr with Product with Serializable
- object I64ReinterpretF64 extends SimpleInstr with Product with Serializable
- object I64RemS extends SimpleInstr with Product with Serializable
- object I64RemU extends SimpleInstr with Product with Serializable
- object I64Rotl extends SimpleInstr with Product with Serializable
- object I64Rotr extends SimpleInstr with Product with Serializable
- object I64Shl extends SimpleInstr with Product with Serializable
- object I64ShrS extends SimpleInstr with Product with Serializable
- object I64ShrU extends SimpleInstr with Product with Serializable
- object I64Sub extends SimpleInstr with Product with Serializable
- object I64TruncF32S extends SimpleInstr with Product with Serializable
- object I64TruncF32U extends SimpleInstr with Product with Serializable
- object I64TruncF64S extends SimpleInstr with Product with Serializable
- object I64TruncF64U extends SimpleInstr with Product with Serializable
- object I64TruncSatF64S extends SimpleInstr with Product with Serializable
- object I64Xor extends SimpleInstr with Product with Serializable
- object Nop extends SimpleInstr with Product with Serializable
- object RefAsNonNull extends SimpleInstr with Product with Serializable
- object RefEq extends SimpleInstr with Product with Serializable
- object RefI31 extends SimpleInstr with Product with Serializable
- object RefIsNull extends SimpleInstr with Product with Serializable
- object Return extends SimpleInstr with StackPolymorphicInstr with Product with Serializable
- object ThrowRef extends SimpleInstr with StackPolymorphicInstr with Product with Serializable
- object Unreachable extends SimpleInstr with StackPolymorphicInstr with Product with Serializable