Class Invoker

  • Direct Known Subclasses:
    Invoker.ILP32, Invoker.LP64

    public abstract class Invoker
    extends java.lang.Object
    Provides native function invocation facilities.
    • Method Detail

      • getInstance

        public static Invoker getInstance()
        Gets the Invoker singleton.
        Returns:
        An instance of Invoker.
      • invokeI0

        public final int invokeI0​(CallContext context,
                                  long function)
        Invokes a function with no arguments, and returns a 32 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        Returns:
        A 32 bit integer value.
      • invokeI1

        public final int invokeI1​(CallContext context,
                                  long function,
                                  int arg1)
        Invokes a function with one integer argument, and returns a 32 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - A 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeI2

        public final int invokeI2​(CallContext context,
                                  long function,
                                  int arg1,
                                  int arg2)
        Invokes a function with two integer arguments, and returns a 32 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeI3

        public final int invokeI3​(CallContext context,
                                  long function,
                                  int arg1,
                                  int arg2,
                                  int arg3)
        Invokes a function with three integer arguments, and returns a 32 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        arg3 - The third 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeI4

        public final int invokeI4​(CallContext context,
                                  long function,
                                  int arg1,
                                  int arg2,
                                  int arg3,
                                  int arg4)
        Invokes a function with four integer arguments, and returns a 32 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        arg3 - The third 32 bit integer argument.
        arg4 - The fourth 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeI5

        public final int invokeI5​(CallContext context,
                                  long function,
                                  int arg1,
                                  int arg2,
                                  int arg3,
                                  int arg4,
                                  int arg5)
        Invokes a function with five integer arguments, and returns a 32 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        arg3 - The third 32 bit integer argument.
        arg4 - The fourth 32 bit integer argument.
        arg5 - The fifth 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeI6

        public final int invokeI6​(CallContext context,
                                  long function,
                                  int arg1,
                                  int arg2,
                                  int arg3,
                                  int arg4,
                                  int arg5,
                                  int arg6)
        Invokes a function with six integer arguments, and returns a 32 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        arg3 - The third 32 bit integer argument.
        arg4 - The fourth 32 bit integer argument.
        arg5 - The fifth 32 bit integer argument.
        arg6 - The sixth 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeI0NoErrno

        public final int invokeI0NoErrno​(CallContext context,
                                         long function)
      • invokeI1NoErrno

        public final int invokeI1NoErrno​(CallContext context,
                                         long function,
                                         int arg1)
      • invokeI2NoErrno

        public final int invokeI2NoErrno​(CallContext context,
                                         long function,
                                         int arg1,
                                         int arg2)
      • invokeI3NoErrno

        public final int invokeI3NoErrno​(CallContext context,
                                         long function,
                                         int arg1,
                                         int arg2,
                                         int arg3)
      • invokeI4NoErrno

        public final int invokeI4NoErrno​(CallContext context,
                                         long function,
                                         int arg1,
                                         int arg2,
                                         int arg3,
                                         int arg4)
      • invokeI5NoErrno

        public final int invokeI5NoErrno​(CallContext context,
                                         long function,
                                         int arg1,
                                         int arg2,
                                         int arg3,
                                         int arg4,
                                         int arg5)
      • invokeI6NoErrno

        public final int invokeI6NoErrno​(CallContext context,
                                         long function,
                                         int arg1,
                                         int arg2,
                                         int arg3,
                                         int arg4,
                                         int arg5,
                                         int arg6)
      • invokeVrI

        @Deprecated
        public final int invokeVrI​(Function function)
        Deprecated.
        Invokes a function with no arguments, and returns a 32 bit integer.
        Parameters:
        function - The Function to invoke.
        Returns:
        A 32 bit integer value.
      • invokeNoErrnoVrI

        @Deprecated
        public final int invokeNoErrnoVrI​(Function function)
        Deprecated.
        Invokes a function with no arguments, and returns a 32 bit integer. This method does not save the errno value.
        Parameters:
        function - The Function to invoke.
        Returns:
        A 32 bit integer value.
      • invokeIrI

        @Deprecated
        public final int invokeIrI​(Function function,
                                   int arg1)
        Deprecated.
        Invokes a function with one integer argument, and returns a 32 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - A 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeNoErrnoIrI

        @Deprecated
        public final int invokeNoErrnoIrI​(Function function,
                                          int arg1)
        Deprecated.
        Invokes a function with one integer argument, and returns a 32 bit integer. This method does not save the errno value.
        Parameters:
        function - The Function to invoke.
        arg1 - A 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeIIrI

        @Deprecated
        public final int invokeIIrI​(Function function,
                                    int arg1,
                                    int arg2)
        Deprecated.
        Invokes a function with two integer arguments, and returns a 32 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeNoErrnoIIrI

        @Deprecated
        public final int invokeNoErrnoIIrI​(Function function,
                                           int arg1,
                                           int arg2)
        Deprecated.
        Invokes a function with two integer arguments, and returns a 32 bit integer. This method does not save the errno value.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeIIIrI

        @Deprecated
        public final int invokeIIIrI​(Function function,
                                     int arg1,
                                     int arg2,
                                     int arg3)
        Deprecated.
        Invokes a function with three integer arguments, and returns a 32 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        arg3 - The third 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeNoErrnoIIIrI

        @Deprecated
        public final int invokeNoErrnoIIIrI​(Function function,
                                            int arg1,
                                            int arg2,
                                            int arg3)
        Deprecated.
        Invokes a function with three integer arguments, and returns a 32 bit integer. This method does not save the errno value.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        arg3 - The third 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeIIIIrI

        @Deprecated
        public final int invokeIIIIrI​(Function function,
                                      int arg1,
                                      int arg2,
                                      int arg3,
                                      int arg4)
        Deprecated.
        Invokes a function with four integer arguments, and returns a 32 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        arg3 - The third 32 bit integer argument.
        arg4 - The fourth 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeIIIIIrI

        @Deprecated
        public final int invokeIIIIIrI​(Function function,
                                       int arg1,
                                       int arg2,
                                       int arg3,
                                       int arg4,
                                       int arg5)
        Deprecated.
        Invokes a function with five integer arguments, and returns a 32 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        arg3 - The third 32 bit integer argument.
        arg4 - The fourth 32 bit integer argument.
        arg5 - The fifth 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeIIIIIIrI

        @Deprecated
        public final int invokeIIIIIIrI​(Function function,
                                        int arg1,
                                        int arg2,
                                        int arg3,
                                        int arg4,
                                        int arg5,
                                        int arg6)
        Deprecated.
        Invokes a function with six integer arguments, and returns a 32 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 32 bit integer argument.
        arg2 - The second 32 bit integer argument.
        arg3 - The third 32 bit integer argument.
        arg4 - The fourth 32 bit integer argument.
        arg5 - The fifth 32 bit integer argument.
        arg6 - The sixth 32 bit integer argument.
        Returns:
        A 32 bit integer value.
      • invokeL0

        public final long invokeL0​(CallContext context,
                                   long function)
        Invokes a function with no arguments, and returns a 64 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        Returns:
        A 64 bit integer value.
      • invokeL1

        public final long invokeL1​(CallContext context,
                                   long function,
                                   long arg1)
        Invokes a function with one 64 bit integer argument, and returns a 64 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeL2

        public final long invokeL2​(CallContext context,
                                   long function,
                                   long arg1,
                                   long arg2)
        Invokes a function with two 64 bit integer arguments, and returns a 64 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first 64 bit integer argument.
        arg2 - The second 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeL3

        public final long invokeL3​(CallContext context,
                                   long function,
                                   long arg1,
                                   long arg2,
                                   long arg3)
        Invokes a function with three 64 bit integer arguments, and returns a 64 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first 64 bit integer argument.
        arg2 - The second 64 bit integer argument.
        arg3 - The third 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeL4

        public final long invokeL4​(CallContext context,
                                   long function,
                                   long arg1,
                                   long arg2,
                                   long arg3,
                                   long arg4)
        Invokes a function with four 64 bit integer arguments, and returns a 64 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first 64 bit integer argument.
        arg2 - The second 64 bit integer argument.
        arg3 - The third 64 bit integer argument.
        arg4 - The fourth 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeL5

        public final long invokeL5​(CallContext context,
                                   long function,
                                   long arg1,
                                   long arg2,
                                   long arg3,
                                   long arg4,
                                   long arg5)
        Invokes a function with five 64 bit integer arguments, and returns a 64 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first 64 bit integer argument.
        arg2 - The second 64 bit integer argument.
        arg3 - The third 64 bit integer argument.
        arg4 - The fourth 64 bit integer argument.
        arg5 - The fifth 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeL6

        public final long invokeL6​(CallContext context,
                                   long function,
                                   long arg1,
                                   long arg2,
                                   long arg3,
                                   long arg4,
                                   long arg5,
                                   long arg6)
        Invokes a function with six 64 bit integer arguments, and returns a 64 bit integer.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first 64 bit integer argument.
        arg2 - The second 64 bit integer argument.
        arg3 - The third 64 bit integer argument.
        arg4 - The fourth 64 bit integer argument.
        arg5 - The fifth 64 bit integer argument.
        arg6 - The sixth 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeL0NoErrno

        public final long invokeL0NoErrno​(CallContext context,
                                          long function)
      • invokeL1NoErrno

        public final long invokeL1NoErrno​(CallContext context,
                                          long function,
                                          long arg1)
      • invokeL2NoErrno

        public final long invokeL2NoErrno​(CallContext context,
                                          long function,
                                          long arg1,
                                          long arg2)
      • invokeL3NoErrno

        public final long invokeL3NoErrno​(CallContext context,
                                          long function,
                                          long arg1,
                                          long arg2,
                                          long arg3)
      • invokeL4NoErrno

        public final long invokeL4NoErrno​(CallContext context,
                                          long function,
                                          long arg1,
                                          long arg2,
                                          long arg3,
                                          long arg4)
      • invokeL5NoErrno

        public final long invokeL5NoErrno​(CallContext context,
                                          long function,
                                          long arg1,
                                          long arg2,
                                          long arg3,
                                          long arg4,
                                          long arg5)
      • invokeL6NoErrno

        public final long invokeL6NoErrno​(CallContext context,
                                          long function,
                                          long arg1,
                                          long arg2,
                                          long arg3,
                                          long arg4,
                                          long arg5,
                                          long arg6)
      • invokeVrL

        public final long invokeVrL​(Function function)
        Invokes a function with no arguments, and returns a 64 bit integer.
        Parameters:
        function - The Function to invoke.
        Returns:
        A 64 bit integer value.
      • invokeLrL

        public final long invokeLrL​(Function function,
                                    long arg1)
        Invokes a function with one 64 bit integer argument, and returns a 64 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - The 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeLLrL

        public final long invokeLLrL​(Function function,
                                     long arg1,
                                     long arg2)
        Invokes a function with two 64 bit integer arguments, and returns a 64 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 64 bit integer argument.
        arg2 - The second 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeLLLrL

        public final long invokeLLLrL​(Function function,
                                      long arg1,
                                      long arg2,
                                      long arg3)
        Invokes a function with three 64 bit integer arguments, and returns a 64 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 64 bit integer argument.
        arg2 - The second 64 bit integer argument.
        arg3 - The third 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeLLLLrL

        public final long invokeLLLLrL​(Function function,
                                       long arg1,
                                       long arg2,
                                       long arg3,
                                       long arg4)
        Invokes a function with four 64 bit integer arguments, and returns a 64 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 64 bit integer argument.
        arg2 - The second 64 bit integer argument.
        arg3 - The third 64 bit integer argument.
        arg4 - The fourth 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeLLLLLrL

        public final long invokeLLLLLrL​(Function function,
                                        long arg1,
                                        long arg2,
                                        long arg3,
                                        long arg4,
                                        long arg5)
        Invokes a function with five 64 bit integer arguments, and returns a 64 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 64 bit integer argument.
        arg2 - The second 64 bit integer argument.
        arg3 - The third 64 bit integer argument.
        arg4 - The fourth 64 bit integer argument.
        arg5 - The fifth 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeLLLLLLrL

        public final long invokeLLLLLLrL​(Function function,
                                         long arg1,
                                         long arg2,
                                         long arg3,
                                         long arg4,
                                         long arg5,
                                         long arg6)
        Invokes a function with six 64 bit integer arguments, and returns a 64 bit integer.
        Parameters:
        function - The Function to invoke.
        arg1 - The first 64 bit integer argument.
        arg2 - The second 64 bit integer argument.
        arg3 - The third 64 bit integer argument.
        arg4 - The fourth 64 bit integer argument.
        arg5 - The fifth 64 bit integer argument.
        arg6 - The sixth 64 bit integer argument.
        Returns:
        A 64 bit integer value.
      • invokeN0

        public final long invokeN0​(CallContext context,
                                   long function)
        Invokes a function with no arguments, and returns a numeric value.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        Returns:
        A numeric value.
      • invokeN1

        public final long invokeN1​(CallContext context,
                                   long function,
                                   long arg1)
        Invokes a function with one numeric argument, and returns a numeric value.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The numeric argument.
        Returns:
        A numeric value.
      • invokeN2

        public final long invokeN2​(CallContext context,
                                   long function,
                                   long arg1,
                                   long arg2)
        Invokes a function with two numeric arguments, and returns a numeric value.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first numeric argument.
        arg2 - The second numeric argument.
        Returns:
        A numeric value.
      • invokeN3

        public final long invokeN3​(CallContext context,
                                   long function,
                                   long arg1,
                                   long arg2,
                                   long arg3)
        Invokes a function with three numeric arguments, and returns a numeric value.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first numeric argument.
        arg2 - The second numeric argument.
        arg3 - The third numeric argument.
        Returns:
        A numeric value.
      • invokeN4

        public final long invokeN4​(CallContext context,
                                   long function,
                                   long arg1,
                                   long arg2,
                                   long arg3,
                                   long arg4)
        Invokes a function with four numeric arguments, and returns a numeric value.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first numeric argument.
        arg2 - The second numeric argument.
        arg3 - The third numeric argument.
        arg4 - The fourth numeric argument.
        Returns:
        A numeric value.
      • invokeN5

        public final long invokeN5​(CallContext context,
                                   long function,
                                   long arg1,
                                   long arg2,
                                   long arg3,
                                   long arg4,
                                   long arg5)
        Invokes a function with five numeric arguments, and returns a numeric value.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first numeric argument.
        arg2 - The second numeric argument.
        arg3 - The third numeric argument.
        arg4 - The fourth numeric argument.
        arg5 - The fifth numeric argument.
        Returns:
        A numeric value.
      • invokeN6

        public final long invokeN6​(CallContext context,
                                   long function,
                                   long arg1,
                                   long arg2,
                                   long arg3,
                                   long arg4,
                                   long arg5,
                                   long arg6)
        Invokes a function with six numeric arguments, and returns a numeric value.
        Parameters:
        context - The CallContext describing how to invoke the function.
        function - Address of the native function to invoke.
        arg1 - The first numeric argument.
        arg2 - The second numeric argument.
        arg3 - The third numeric argument.
        arg4 - The fourth numeric argument.
        arg5 - The fifth numeric argument.
        arg6 - The sixth numeric argument.
        Returns:
        A numeric value.
      • invokeVrN

        public final long invokeVrN​(Function function)
        Invokes a function with no arguments, and returns a numeric value.
        Parameters:
        function - The Function to invoke.
        Returns:
        A numeric value.
      • invokeNrN

        public final long invokeNrN​(Function function,
                                    long arg1)
        Invokes a function with one numeric argument, and returns a numeric value.
        Parameters:
        function - The Function to invoke.
        arg1 - The numeric argument.
        Returns:
        A numeric value.
      • invokeNNrN

        public final long invokeNNrN​(Function function,
                                     long arg1,
                                     long arg2)
        Invokes a function with two numeric arguments, and returns a numeric value.
        Parameters:
        function - The Function to invoke.
        arg1 - The first numeric argument.
        arg2 - The second numeric argument.
        Returns:
        A numeric value.
      • invokeNNNrN

        public final long invokeNNNrN​(Function function,
                                      long arg1,
                                      long arg2,
                                      long arg3)
        Invokes a function with three numeric arguments, and returns a numeric value.
        Parameters:
        function - The Function to invoke.
        arg1 - The first numeric argument.
        arg2 - The second numeric argument.
        arg3 - The third numeric argument.
        Returns:
        A numeric value.
      • invokeNNNNrN

        public final long invokeNNNNrN​(Function function,
                                       long arg1,
                                       long arg2,
                                       long arg3,
                                       long arg4)
        Invokes a function with four numeric arguments, and returns a numeric value.
        Parameters:
        function - The Function to invoke.
        arg1 - The first numeric argument.
        arg2 - The second numeric argument.
        arg3 - The third numeric argument.
        arg4 - The fourth numeric argument.
        Returns:
        A numeric value.
      • invokeNNNNNrN

        public final long invokeNNNNNrN​(Function function,
                                        long arg1,
                                        long arg2,
                                        long arg3,
                                        long arg4,
                                        long arg5)
        Invokes a function with five numeric arguments, and returns a numeric value.
        Parameters:
        function - The Function to invoke.
        arg1 - The first numeric argument.
        arg2 - The second numeric argument.
        arg3 - The third numeric argument.
        arg4 - The fourth numeric argument.
        arg5 - The fifth numeric argument.
        Returns:
        A numeric value.
      • invokeNNNNNNrN

        public final long invokeNNNNNNrN​(Function function,
                                         long arg1,
                                         long arg2,
                                         long arg3,
                                         long arg4,
                                         long arg5,
                                         long arg6)
        Invokes a function with six numeric arguments, and returns a numeric value.
        Parameters:
        function - The Function to invoke.
        arg1 - The first numeric argument.
        arg2 - The second numeric argument.
        arg3 - The third numeric argument.
        arg4 - The fourth numeric argument.
        arg5 - The fifth numeric argument.
        arg6 - The sixth numeric argument.
        Returns:
        A numeric value.
      • invokeNNO1rN

        @Deprecated
        public final long invokeNNO1rN​(Function function,
                                       long n1,
                                       long n2,
                                       java.lang.Object o1,
                                       int o1off,
                                       int o1len,
                                       ObjectParameterInfo o1flags)
        Deprecated.
        Invokes a function with two numeric arguments, and returns a numeric value.
        Parameters:
        function - The Function to invoke.
        n1 - first numeric argument.
        n2 - second numeric argument.
        o1 - array or buffer, to be passed as a pointer for the first numeric parameter.
        o1off - offset from the start of the array pr buffer.
        o1len - length of the array to use.
        o1flags - object flags (type, direction, parameter index).
      • invokeNNO2rN

        @Deprecated
        public final long invokeNNO2rN​(Function function,
                                       long n1,
                                       long n2,
                                       java.lang.Object o1,
                                       int o1off,
                                       int o1len,
                                       ObjectParameterInfo o1flags,
                                       java.lang.Object o2,
                                       int o2off,
                                       int o2len,
                                       ObjectParameterInfo o2flags)
        Deprecated.
        Invokes a function with two numeric arguments, and returns a numeric value.
        Parameters:
        function - The Function to invoke.
        n1 - first numeric argument.
        n2 - second numeric argument.
        o1 - array or buffer, to be passed as a pointer for the first numeric parameter.
        o1off - offset from the start of the array pr buffer.
        o1len - length of the array to use.
        o1flags - object flags (type, direction, parameter index).
      • invokeNNNO1rN

        @Deprecated
        public final long invokeNNNO1rN​(Function function,
                                        long n1,
                                        long n2,
                                        long n3,
                                        java.lang.Object o1,
                                        int o1off,
                                        int o1len,
                                        ObjectParameterInfo o1flags)
        Deprecated.
        Invokes a function with two numeric arguments, and returns a numeric value.
        Parameters:
        function - The Function to invoke.
      • invokeNNNO2rN

        @Deprecated
        public final long invokeNNNO2rN​(Function function,
                                        long n1,
                                        long n2,
                                        long n3,
                                        java.lang.Object o1,
                                        int o1off,
                                        int o1len,
                                        ObjectParameterInfo o1flags,
                                        java.lang.Object o2,
                                        int o2off,
                                        int o2len,
                                        ObjectParameterInfo o2flags)
        Deprecated.
        Invokes a function with two numeric arguments, and returns a numeric value.
        Parameters:
        function - The Function to invoke.
      • newObjectCountError

        private static java.lang.RuntimeException newObjectCountError​(int objCount)
      • newInsufficientObjectCountError

        private static java.lang.RuntimeException newInsufficientObjectCountError​(int objCount)
      • newHeapObjectCountError

        private static java.lang.RuntimeException newHeapObjectCountError​(int objCount)
      • invokeAddress

        public long invokeAddress​(Function function,
                                  HeapInvocationBuffer buffer)
        Invokes a function and returns a native memory address.
        Parameters:
        function - The Function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeAddress

        public abstract long invokeAddress​(CallContext ctx,
                                           long function,
                                           HeapInvocationBuffer buffer)
        Invokes a function and returns a native memory address.
        Parameters:
        ctx - The call context which describes how to call the native function.
        function - The address of the native function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeInt

        public final int invokeInt​(Function function,
                                   HeapInvocationBuffer buffer)
        Invokes a function and returns a 32 bit integer value.
        Parameters:
        function - The Function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeInt

        public final int invokeInt​(CallContext ctx,
                                   long function,
                                   HeapInvocationBuffer buffer)
        Invokes a function and returns a 32 bit integer value.
        Parameters:
        ctx - The call context which describes how to call the native function.
        function - The address of the native function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeLong

        public final long invokeLong​(Function function,
                                     HeapInvocationBuffer buffer)
        Invokes a function and returns a 64 bit integer value.
        Parameters:
        function - The Function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeLong

        public final long invokeLong​(CallContext ctx,
                                     long function,
                                     HeapInvocationBuffer buffer)
        Invokes a function and returns a 64 bit integer value.
        Parameters:
        ctx - The call context which describes how to call the native function.
        function - The address of the native function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeFloat

        public final float invokeFloat​(Function function,
                                       HeapInvocationBuffer buffer)
        Invokes a function and returns a 32 bit floating point value.
        Parameters:
        function - The Function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeFloat

        public final float invokeFloat​(CallContext ctx,
                                       long function,
                                       HeapInvocationBuffer buffer)
        Invokes a function and returns a 32 bit floating point value.
        Parameters:
        ctx - The call context which describes how to call the native function.
        function - The address of the native function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeDouble

        public final double invokeDouble​(Function function,
                                         HeapInvocationBuffer buffer)
        Invokes a function and returns a 64 bit floating point value.
        Parameters:
        function - The Function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeDouble

        public final double invokeDouble​(CallContext ctx,
                                         long function,
                                         HeapInvocationBuffer buffer)
        Invokes a function and returns a 64 bit floating point value.
        Parameters:
        ctx - The call context describing how to call the native function.
        function - The address of the native function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeBigDecimal

        public final java.math.BigDecimal invokeBigDecimal​(Function function,
                                                           HeapInvocationBuffer buffer)
        Invokes a function and returns a 64 bit floating point value.
        Parameters:
        function - The Function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeBigDecimal

        public final java.math.BigDecimal invokeBigDecimal​(CallContext ctx,
                                                           long function,
                                                           HeapInvocationBuffer buffer)
        Invokes a function and returns a 64 bit floating point value.
        Parameters:
        function - The Function to invoke.
        buffer - A buffer containing the arguments to the function.
        Returns:
        A native memory address.
      • invokeStruct

        public final byte[] invokeStruct​(Function function,
                                         HeapInvocationBuffer buffer)
        Invokes a function that returns a C struct by value.
        Parameters:
        function - The Function to invoke.
        buffer - The parameter buffer.
        Returns:
        A byte array with the return value encoded in native byte order.
      • invokeStruct

        public final byte[] invokeStruct​(CallContext ctx,
                                         long function,
                                         HeapInvocationBuffer buffer)
        Invokes a function that returns a C struct by value.
        Parameters:
        ctx - The call context which describes how to call the native function.
        function - The address of the native function to invoke.
        buffer - The parameter buffer.
        Returns:
        A byte array with the return value encoded in native byte order.
      • invokeStruct

        public final void invokeStruct​(Function function,
                                       HeapInvocationBuffer buffer,
                                       byte[] returnBuffer,
                                       int offset)
        Invokes a function that returns a C struct by value.
        Parameters:
        function - The Function to invoke.
        buffer - The parameter buffer.
        returnBuffer - The output buffer to place the return value in.
        offset - The offset within returnBuffer to place the return value.
      • invokeStruct

        public final void invokeStruct​(CallContext ctx,
                                       long function,
                                       HeapInvocationBuffer buffer,
                                       byte[] returnBuffer,
                                       int offset)
        Invokes a function that returns a C struct by value.
        Parameters:
        ctx - The call context which describes how to call the native function.
        function - The address of the native function to invoke.
        buffer - The parameter buffer.
        returnBuffer - The output buffer to place the return value in.
        offset - The offset within returnBuffer to place the return value.
      • invoke

        public final void invoke​(Function function,
                                 long returnBuffer,
                                 long[] parameters)
        Invokes a function, with the parameters loaded into native memory buffers, and the function result is stored in a native memory buffer.
        Parameters:
        function - The Function to invoke.
        returnBuffer - The address of the native buffer to place the result of the function call in.
        parameters - An array of addresses of the function parameters.
      • invoke

        public final void invoke​(CallContext ctx,
                                 long function,
                                 long returnBuffer,
                                 long[] parameters)
        Invokes a function, with the parameters loaded into native memory buffers, and the function result is stored in a native memory buffer.
        Parameters:
        ctx - The call context which describes how to call the native function.
        function - The address of the native function to invoke.
        returnBuffer - The address of the native buffer to place the result of the function call in.
        parameters - An array of addresses of the function parameters.
      • invokeArrayWithObjectsInt32

        private int invokeArrayWithObjectsInt32​(long ctx,
                                                long function,
                                                HeapInvocationBuffer buffer,
                                                ObjectBuffer objectBuffer)
        Convenience method to pass the objects and object descriptor array down as normal arguments, so hotspot can optimize it. This is faster than the native code pulling the objects and descriptors out of arrays.
        Parameters:
        function - The native function to invoke.
        buffer - A buffer containing the arguments to the function.
        objectBuffer - A buffer containing objects to be passed to the native function.
        Returns:
        A 32 bit integer value.
      • invokeArrayWithObjectsInt64

        private long invokeArrayWithObjectsInt64​(long ctx,
                                                 long function,
                                                 HeapInvocationBuffer buffer,
                                                 ObjectBuffer objectBuffer)
        Convenience method to pass the objects and object descriptor array down as normal arguments, so hotspot can optimize it. This is faster than the native code pulling the objects and descriptors out of arrays.
        Parameters:
        function - The native function to invoke.
        buffer - A buffer containing the arguments to the function.
        objectBuffer - A buffer containing objects to be passed to the native function.
        Returns:
        A 64 bit integer value.