Class JumpInstruction


  • class JumpInstruction
    extends WasmInstruction
    Placeholder for a jump to inspect the stack. It is like a nop operation.
    • Field Detail

      • jumpPos

        private int jumpPos
      • popCount

        private int popCount
      • pushValueType

        private AnyType pushValueType
    • Constructor Detail

      • JumpInstruction

        JumpInstruction​(int jumpPos,
                        int popCount,
                        AnyType pushValueType,
                        int javaCodePos,
                        int lineNumber)
        Create an instance of a nop instruction
        Parameters:
        jumpPos - the position of the jump
        popCount - the the count of values that are removed from the stack.
        pushValueType - optional type of a push value
        javaCodePos - the code position/offset in the Java method
        lineNumber - the line number in the Java source code
    • Method Detail

      • writeTo

        public void writeTo​(@Nonnull
                            ModuleWriter writer)
                     throws java.io.IOException
        Write this instruction to the WASM module.
        Specified by:
        writeTo in class WasmInstruction
        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 class WasmInstruction
        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 class WasmInstruction
        Returns:
        the count
      • getJumpPosition

        int getJumpPosition()
        Get the jump position
        Returns:
        the position