Class WasmMemoryInstruction
- java.lang.Object
-
- de.inetsoftware.jwebassembly.module.WasmInstruction
-
- de.inetsoftware.jwebassembly.module.WasmMemoryInstruction
-
class WasmMemoryInstruction extends WasmInstruction
WasmInstruction for load and store to the linear memory.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.inetsoftware.jwebassembly.module.WasmInstruction
WasmInstruction.Type
-
-
Constructor Summary
Constructors Constructor Description WasmMemoryInstruction(MemoryOperator op, ValueType type, int offset, int alignment, int javaCodePos, int lineNumber)
Create an instance of a load/store to the linear memory instruction
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) int
getPopCount()
Get the count of values that are removed from the stack.(package private) AnyType[]
getPopValueTypes()
(package private) AnyType
getPushValueType()
Get the ValueType if this instruction push a value on the stack.(package private) WasmInstruction.Type
getType()
Get the type of instructionvoid
writeTo(ModuleWriter writer)
Write this instruction to the WASM module.-
Methods inherited from class de.inetsoftware.jwebassembly.module.WasmInstruction
getCodePosition, getLineNumber, setCodePosition
-
-
-
-
Field Detail
-
op
private MemoryOperator op
-
type
private ValueType type
-
offset
private int offset
-
alignment
private int alignment
-
-
Constructor Detail
-
WasmMemoryInstruction
WasmMemoryInstruction(MemoryOperator op, ValueType type, int offset, int alignment, int javaCodePos, int lineNumber)
Create an instance of a load/store to the linear memory instruction- Parameters:
op
- the operationtype
- the type of the static fieldoffset
- the base offset which will be added to the offset value on the stackalignment
- the alignment of the value on the linear memory (0: 8 Bit; 1: 16 Bit; 2: 32 Bit)javaCodePos
- the code position/offset in the Java methodlineNumber
- the line number in the Java source code
-
-
Method Detail
-
getType
WasmInstruction.Type getType()
Get the type of instruction- Specified by:
getType
in classWasmInstruction
- Returns:
- the type
-
writeTo
public void writeTo(@Nonnull ModuleWriter writer) throws java.io.IOException
Write this instruction to the WASM module.- Specified by:
writeTo
in classWasmInstruction
- Parameters:
writer
- the target writer- Throws:
java.io.IOException
- if any I/O error occur
-
getPushValueType
AnyType getPushValueType()
Get the ValueType if this instruction push a value on the stack.- Specified by:
getPushValueType
in classWasmInstruction
- Returns:
- the ValueType or null if no value is push
-
getPopCount
int getPopCount()
Get the count of values that are removed from the stack.- Specified by:
getPopCount
in classWasmInstruction
- Returns:
- the count
-
getPopValueTypes
AnyType[] getPopValueTypes()
- Specified by:
getPopValueTypes
in classWasmInstruction
-
-