Class WasmArrayInstruction


  • class WasmArrayInstruction
    extends WasmInstruction
    WasmInstruction for an array operation.
    • Constructor Detail

      • WasmArrayInstruction

        WasmArrayInstruction​(@Nonnull
                             ArrayOperator op,
                             @Nonnull
                             AnyType type,
                             TypeManager types,
                             int javaCodePos,
                             int lineNumber)
        Create an instance of an array operation.
        Parameters:
        op - the array operation
        type - the type of the parameters
        types - the type manager
        javaCodePos - the code position/offset in the Java method
        lineNumber - the line number in the Java source code
    • Method Detail

      • createNonGcFunction

        SyntheticFunctionName createNonGcFunction​(boolean useGC)
        Create the synthetic function of this instruction if required for the operation.
        Parameters:
        useGC - true, with GC code
        Returns:
        the function or null if not needed
      • validJsName

        private static java.lang.String validJsName​(AnyType type)
        Get a valid JavaScript name.
        Parameters:
        type - the type
        Returns:
        the identifier that is valid
      • 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