kwasm.validation.instruction.memory

Kwasm.validation.instruction.memory

package kwasm.validation.instruction.memory

Classes

Name Description
object GrowValidator

Validator of MemoryInstruction.Grow nodes.

From

the docs:

  • The memory C.mems[0] must be defined in the context.
  • Then the instruction is valid with type \[i32] => \[i32].
object LoadFloatValidator

Validator of MemoryInstruction.LoadFloat nodes.

From the docs:


t.load memarg

  • The memory C.mems[0] must be defined in the context.
  • The alignment 2^memarg.align must not be larger than the bit width of t divided by 8.
  • Then the instruction is valid with type \[i32] => \[t].
object LoadIntValidator

Validator of MemoryInstruction.LoadInt nodes.

From the docs:


t.load memarg
  • The memory C.mems[0] must be defined in the context.
  • The alignment 2^memarg.align must not be larger than the bit width of t divided by 8.
  • Then the instruction is valid with type [i32] => [t].

t.loadN_sx memarg

  • The memory C.mems[0] must be defined in the context.
  • The alignment 2^memarg.align must not be larger than N/8.
  • Then the instruction is valid with type \[i32] => \[t].
object SizeValidator

Validator of MemoryInstruction.Size nodes.

From

the docs:

  • The memory C.mems[0] must be defined in the context.
  • Then the instruction is valid with type [] => \[i32].
object StoreFloatValidator

Validator of MemoryInstruction.StoreFloat nodes.

From the docs:


t.store memarg

  • The memory C.mems[0] must be defined in the context.
  • The alignment 2^memarg.align must not be larger than the bit width of t divided by 8.
  • Then the instruction is valid with type [i32 t] => [].
object StoreIntValidator

Validator of MemoryInstruction.StoreInt nodes.

From the docs:


t.store memarg
  • The memory C.mems[0] must be defined in the context.
  • The alignment 2^memarg.align must not be larger than the bit width of t divided by 8.
  • Then the instruction is valid with type [i32 t] => [].

t.storeN memarg

  • The memory C.mems[0] must be defined in the context.
  • The alignment 2^memarg.align must not be larger than N/8.
  • Then the instruction is valid with type [i32 t] => [].