Class WasmGlobalInstruction


  • class WasmGlobalInstruction
    extends WasmInstruction
    WasmInstruction for set and get global variables.
    • Constructor Detail

      • WasmGlobalInstruction

        WasmGlobalInstruction​(boolean load,
                              @Nonnull
                              FunctionName name,
                              AnyType type,
                              @Nullable
                              FunctionName clinit,
                              int javaCodePos,
                              int lineNumber)
        Create an instance of a load/store instruction
        Parameters:
        load - true: if load or GET
        name - the name of the static field
        type - the type of the static field
        clinit - a reference to the class/static constructor which should executed before access a static field
        javaCodePos - the code position/offset in the Java method
        lineNumber - the line number in the Java source code
    • Method Detail

      • getFieldName

        @Nonnull
        FunctionName getFieldName()
        The name of the field
        Returns:
        the field
      • 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