Packages

object Instructions

WebAssembly instructions.

See also

https://webassembly.github.io/spec/core/syntax/instructions.html

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Instructions
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class ArrayCopy(destType: TypeID, srcType: TypeID) extends Instr with Product with Serializable
  2. final case class ArrayGet(i: TypeID) extends TypeInstr with Product with Serializable
  3. final case class ArrayGetS(i: TypeID) extends TypeInstr with Product with Serializable
  4. final case class ArrayGetU(i: TypeID) extends TypeInstr with Product with Serializable
  5. final case class ArrayNew(i: TypeID) extends TypeInstr with Product with Serializable
  6. final case class ArrayNewData(i: TypeID, d: DataID) extends Instr with Product with Serializable
  7. final case class ArrayNewDefault(i: TypeID) extends TypeInstr with Product with Serializable
  8. final case class ArrayNewFixed(i: TypeID, size: Int) extends Instr with Product with Serializable
  9. final case class ArraySet(i: TypeID) extends TypeInstr with Product with Serializable
  10. final case class Block(i: BlockType, label: Option[LabelID]) extends BlockTypeLabeledInstr with Product with Serializable
  11. 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

  12. sealed abstract class BlockTypeLabeledInstr extends Instr with StructuredLabeledInstr

    A structured labeled instruction with a single BlockType argument.

  13. final case class Br(i: LabelID) extends LabelInstr with StackPolymorphicInstr with Product with Serializable
  14. final case class BrIf(i: LabelID) extends LabelInstr with Product with Serializable
  15. final case class BrOnCast(label: LabelID, from: RefType, to: RefType) extends Instr with Product with Serializable
  16. final case class BrOnCastFail(label: LabelID, from: RefType, to: RefType) extends Instr with Product with Serializable
  17. final case class BrOnNonNull(i: LabelID) extends LabelInstr with Product with Serializable
  18. final case class BrOnNull(i: LabelID) extends LabelInstr with Product with Serializable
  19. final case class BrTable(table: List[LabelID], default: LabelID) extends Instr with StackPolymorphicInstr with Product with Serializable
  20. final case class Call(i: FunctionID) extends FuncInstr with Product with Serializable
  21. final case class CallRef(i: TypeID) extends TypeInstr with Product with Serializable
  22. final case class Catch(i: TagID) extends TagInstr with Product with Serializable

    catch in the legacy exception system.

  23. sealed abstract class CatchClause extends AnyRef

    Catch clause of a TryTable instruction.

  24. final case class Expr(instr: List[Instr]) extends Product with Serializable

    A WebAssembly expr.

  25. final case class F32Const(v: Float) extends Instr with Product with Serializable
  26. final case class F64Const(v: Double) extends Instr with Product with Serializable
  27. sealed abstract class FuncInstr extends Instr

    An instruction with a single FunctionID argument.

  28. final case class GlobalGet(i: GlobalID) extends GlobalInstr with Product with Serializable
  29. sealed abstract class GlobalInstr extends Instr

    An instruction with a single GlobalID argument.

  30. final case class GlobalSet(i: GlobalID) extends GlobalInstr with Product with Serializable
  31. sealed abstract class HeapTypeInstr extends Instr

    An instruction with a single HeapType argument.

  32. final case class I32Const(v: Int) extends Instr with Product with Serializable
  33. final case class I64Const(v: Long) extends Instr with Product with Serializable
  34. final case class If(i: BlockType, label: Option[LabelID] = None) extends BlockTypeLabeledInstr with Product with Serializable
  35. sealed abstract class Instr extends AnyRef

    A WebAssembly instr.

  36. sealed abstract class LabelInstr extends Instr

    An instruction with a single LabelIdx argument.

  37. final case class LocalGet(i: LocalID) extends LocalInstr with Product with Serializable
  38. sealed abstract class LocalInstr extends Instr

    An instruction with a single LocalID argument.

  39. final case class LocalSet(i: LocalID) extends LocalInstr with Product with Serializable
  40. final case class LocalTee(i: LocalID) extends LocalInstr with Product with Serializable
  41. final case class Loop(i: BlockType, label: Option[LabelID]) extends BlockTypeLabeledInstr with Product with Serializable
  42. final case class PositionMark(pos: Position) extends Instr with Product with Serializable

    Fake instruction to mark position changes.

  43. final case class RefCast(i: RefType) extends RefTypeInstr with Product with Serializable
  44. final case class RefFunc(i: FunctionID) extends FuncInstr with Product with Serializable
  45. final case class RefNull(i: HeapType) extends HeapTypeInstr with Product with Serializable
  46. final case class RefTest(i: RefType) extends RefTypeInstr with Product with Serializable
  47. sealed abstract class RefTypeInstr extends Instr

    An instruction with a single RefType argument

    An instruction with a single RefType argument

    In the binary format, it has split opcodes for the nullable and non-nullable variants.

  48. final case class ReturnCall(i: FunctionID) extends FuncInstr with StackPolymorphicInstr with Product with Serializable
  49. final case class ReturnCallRef(i: TypeID) extends TypeInstr with StackPolymorphicInstr with Product with Serializable
  50. final case class Select(resultTypes: List[Type]) extends Instr with Product with Serializable
  51. sealed abstract class SimpleInstr extends Instr

    An instruction without any immediate argument.

  52. sealed trait StackPolymorphicInstr extends Instr

    A stack-polymorphic instruction.

  53. sealed abstract class StructFieldInstr extends Instr

    An instruction with a pair of TypeID, FieldID arguments.

  54. final case class StructGet(tyidx: TypeID, fidx: FieldID) extends StructFieldInstr with Product with Serializable
  55. final case class StructNew(i: TypeID) extends TypeInstr with Product with Serializable
  56. final case class StructNewDefault(i: TypeID) extends TypeInstr with Product with Serializable
  57. final case class StructSet(tyidx: TypeID, fidx: FieldID) extends StructFieldInstr with Product with Serializable
  58. sealed trait StructuredLabeledInstr extends Instr

    An instruction that opens a structured control block.

  59. sealed abstract class TagInstr extends Instr

    An instruction with a single TagID argument.

  60. final case class Throw(i: TagID) extends TagInstr with StackPolymorphicInstr with Product with Serializable
  61. final case class Try(i: BlockType, label: Option[LabelID] = None) extends BlockTypeLabeledInstr with Product with Serializable

    try in the legacy exception system.

  62. final case class TryTable(i: BlockType, cs: List[CatchClause], label: Option[LabelID] = None) extends Instr with StructuredLabeledInstr with Product with Serializable
  63. sealed abstract class TypeInstr extends Instr

    An instruction with a single TypeID argument.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  20. object AnyConvertExtern extends SimpleInstr with Product with Serializable
  21. object ArrayLen extends SimpleInstr with Product with Serializable
  22. object BlockType
  23. object CatchClause
  24. object Drop extends SimpleInstr with Product with Serializable
  25. object Else extends SimpleInstr with Product with Serializable
  26. object End extends SimpleInstr with Product with Serializable
  27. object ExternConvertAny extends SimpleInstr with Product with Serializable
  28. object F32Abs extends SimpleInstr with Product with Serializable
  29. object F32Add extends SimpleInstr with Product with Serializable
  30. object F32Ceil extends SimpleInstr with Product with Serializable
  31. object F32ConvertI32S extends SimpleInstr with Product with Serializable
  32. object F32ConvertI32U extends SimpleInstr with Product with Serializable
  33. object F32ConvertI64S extends SimpleInstr with Product with Serializable
  34. object F32ConvertI64U extends SimpleInstr with Product with Serializable
  35. object F32Copysign extends SimpleInstr with Product with Serializable
  36. object F32DemoteF64 extends SimpleInstr with Product with Serializable
  37. object F32Div extends SimpleInstr with Product with Serializable
  38. object F32Eq extends SimpleInstr with Product with Serializable
  39. object F32Floor extends SimpleInstr with Product with Serializable
  40. object F32Ge extends SimpleInstr with Product with Serializable
  41. object F32Gt extends SimpleInstr with Product with Serializable
  42. object F32Le extends SimpleInstr with Product with Serializable
  43. object F32Lt extends SimpleInstr with Product with Serializable
  44. object F32Max extends SimpleInstr with Product with Serializable
  45. object F32Min extends SimpleInstr with Product with Serializable
  46. object F32Mul extends SimpleInstr with Product with Serializable
  47. object F32Ne extends SimpleInstr with Product with Serializable
  48. object F32Nearest extends SimpleInstr with Product with Serializable
  49. object F32Neg extends SimpleInstr with Product with Serializable
  50. object F32ReinterpretI32 extends SimpleInstr with Product with Serializable
  51. object F32Sqrt extends SimpleInstr with Product with Serializable
  52. object F32Sub extends SimpleInstr with Product with Serializable
  53. object F32Trunc extends SimpleInstr with Product with Serializable
  54. object F64Abs extends SimpleInstr with Product with Serializable
  55. object F64Add extends SimpleInstr with Product with Serializable
  56. object F64Ceil extends SimpleInstr with Product with Serializable
  57. object F64ConvertI32S extends SimpleInstr with Product with Serializable
  58. object F64ConvertI32U extends SimpleInstr with Product with Serializable
  59. object F64ConvertI64S extends SimpleInstr with Product with Serializable
  60. object F64ConvertI64U extends SimpleInstr with Product with Serializable
  61. object F64Copysign extends SimpleInstr with Product with Serializable
  62. object F64Div extends SimpleInstr with Product with Serializable
  63. object F64Eq extends SimpleInstr with Product with Serializable
  64. object F64Floor extends SimpleInstr with Product with Serializable
  65. object F64Ge extends SimpleInstr with Product with Serializable
  66. object F64Gt extends SimpleInstr with Product with Serializable
  67. object F64Le extends SimpleInstr with Product with Serializable
  68. object F64Lt extends SimpleInstr with Product with Serializable
  69. object F64Max extends SimpleInstr with Product with Serializable
  70. object F64Min extends SimpleInstr with Product with Serializable
  71. object F64Mul extends SimpleInstr with Product with Serializable
  72. object F64Ne extends SimpleInstr with Product with Serializable
  73. object F64Nearest extends SimpleInstr with Product with Serializable
  74. object F64Neg extends SimpleInstr with Product with Serializable
  75. object F64PromoteF32 extends SimpleInstr with Product with Serializable
  76. object F64ReinterpretI64 extends SimpleInstr with Product with Serializable
  77. object F64Sqrt extends SimpleInstr with Product with Serializable
  78. object F64Sub extends SimpleInstr with Product with Serializable
  79. object F64Trunc extends SimpleInstr with Product with Serializable
  80. object I31GetS extends SimpleInstr with Product with Serializable
  81. object I31GetU extends SimpleInstr with Product with Serializable
  82. object I32Add extends SimpleInstr with Product with Serializable
  83. object I32And extends SimpleInstr with Product with Serializable
  84. object I32Clz extends SimpleInstr with Product with Serializable
  85. object I32Ctz extends SimpleInstr with Product with Serializable
  86. object I32DivS extends SimpleInstr with Product with Serializable
  87. object I32DivU extends SimpleInstr with Product with Serializable
  88. object I32Eq extends SimpleInstr with Product with Serializable
  89. object I32Eqz extends SimpleInstr with Product with Serializable
  90. object I32Extend16S extends SimpleInstr with Product with Serializable
  91. object I32Extend8S extends SimpleInstr with Product with Serializable
  92. object I32GeS extends SimpleInstr with Product with Serializable
  93. object I32GeU extends SimpleInstr with Product with Serializable
  94. object I32GtS extends SimpleInstr with Product with Serializable
  95. object I32GtU extends SimpleInstr with Product with Serializable
  96. object I32LeS extends SimpleInstr with Product with Serializable
  97. object I32LeU extends SimpleInstr with Product with Serializable
  98. object I32LtS extends SimpleInstr with Product with Serializable
  99. object I32LtU extends SimpleInstr with Product with Serializable
  100. object I32Mul extends SimpleInstr with Product with Serializable
  101. object I32Ne extends SimpleInstr with Product with Serializable
  102. object I32Or extends SimpleInstr with Product with Serializable
  103. object I32Popcnt extends SimpleInstr with Product with Serializable
  104. object I32ReinterpretF32 extends SimpleInstr with Product with Serializable
  105. object I32RemS extends SimpleInstr with Product with Serializable
  106. object I32RemU extends SimpleInstr with Product with Serializable
  107. object I32Rotl extends SimpleInstr with Product with Serializable
  108. object I32Rotr extends SimpleInstr with Product with Serializable
  109. object I32Shl extends SimpleInstr with Product with Serializable
  110. object I32ShrS extends SimpleInstr with Product with Serializable
  111. object I32ShrU extends SimpleInstr with Product with Serializable
  112. object I32Sub extends SimpleInstr with Product with Serializable
  113. object I32TruncF32S extends SimpleInstr with Product with Serializable
  114. object I32TruncF32U extends SimpleInstr with Product with Serializable
  115. object I32TruncF64S extends SimpleInstr with Product with Serializable
  116. object I32TruncF64U extends SimpleInstr with Product with Serializable
  117. object I32TruncSatF64S extends SimpleInstr with Product with Serializable
  118. object I32WrapI64 extends SimpleInstr with Product with Serializable
  119. object I32Xor extends SimpleInstr with Product with Serializable
  120. object I64Add extends SimpleInstr with Product with Serializable
  121. object I64And extends SimpleInstr with Product with Serializable
  122. object I64Clz extends SimpleInstr with Product with Serializable
  123. object I64Ctz extends SimpleInstr with Product with Serializable
  124. object I64DivS extends SimpleInstr with Product with Serializable
  125. object I64DivU extends SimpleInstr with Product with Serializable
  126. object I64Eq extends SimpleInstr with Product with Serializable
  127. object I64Eqz extends SimpleInstr with Product with Serializable
  128. object I64Extend16S extends SimpleInstr with Product with Serializable
  129. object I64Extend32S extends SimpleInstr with Product with Serializable
  130. object I64Extend8S extends SimpleInstr with Product with Serializable
  131. object I64ExtendI32S extends SimpleInstr with Product with Serializable
  132. object I64ExtendI32U extends SimpleInstr with Product with Serializable
  133. object I64GeS extends SimpleInstr with Product with Serializable
  134. object I64GeU extends SimpleInstr with Product with Serializable
  135. object I64GtS extends SimpleInstr with Product with Serializable
  136. object I64GtU extends SimpleInstr with Product with Serializable
  137. object I64LeS extends SimpleInstr with Product with Serializable
  138. object I64LeU extends SimpleInstr with Product with Serializable
  139. object I64LtS extends SimpleInstr with Product with Serializable
  140. object I64LtU extends SimpleInstr with Product with Serializable
  141. object I64Mul extends SimpleInstr with Product with Serializable
  142. object I64Ne extends SimpleInstr with Product with Serializable
  143. object I64Or extends SimpleInstr with Product with Serializable
  144. object I64Popcnt extends SimpleInstr with Product with Serializable
  145. object I64ReinterpretF64 extends SimpleInstr with Product with Serializable
  146. object I64RemS extends SimpleInstr with Product with Serializable
  147. object I64RemU extends SimpleInstr with Product with Serializable
  148. object I64Rotl extends SimpleInstr with Product with Serializable
  149. object I64Rotr extends SimpleInstr with Product with Serializable
  150. object I64Shl extends SimpleInstr with Product with Serializable
  151. object I64ShrS extends SimpleInstr with Product with Serializable
  152. object I64ShrU extends SimpleInstr with Product with Serializable
  153. object I64Sub extends SimpleInstr with Product with Serializable
  154. object I64TruncF32S extends SimpleInstr with Product with Serializable
  155. object I64TruncF32U extends SimpleInstr with Product with Serializable
  156. object I64TruncF64S extends SimpleInstr with Product with Serializable
  157. object I64TruncF64U extends SimpleInstr with Product with Serializable
  158. object I64TruncSatF64S extends SimpleInstr with Product with Serializable
  159. object I64Xor extends SimpleInstr with Product with Serializable
  160. object Nop extends SimpleInstr with Product with Serializable
  161. object RefAsNonNull extends SimpleInstr with Product with Serializable
  162. object RefEq extends SimpleInstr with Product with Serializable
  163. object RefI31 extends SimpleInstr with Product with Serializable
  164. object RefIsNull extends SimpleInstr with Product with Serializable
  165. object Return extends SimpleInstr with StackPolymorphicInstr with Product with Serializable
  166. object ThrowRef extends SimpleInstr with StackPolymorphicInstr with Product with Serializable
  167. object Unreachable extends SimpleInstr with StackPolymorphicInstr with Product with Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped