Package com.kenai.jffi
Class Invoker
- java.lang.Object
-
- com.kenai.jffi.Invoker
-
- Direct Known Subclasses:
Invoker.ILP32
,Invoker.LP64
public abstract class Invoker extends java.lang.Object
Provides native function invocation facilities.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Invoker.ILP32
A 32 bit invoker implementationprivate static class
Invoker.LP64
A 64 bit invoker implementationprivate static class
Invoker.SingletonHolder
Lazy initialization singleton holder
-
Field Summary
Fields Modifier and Type Field Description private Foreign
foreign
private ObjectParameterInvoker
objectParameterInvoker
-
Constructor Summary
Constructors Modifier Constructor Description private
Invoker()
Creates a newInvoker
(package private)
Invoker(Foreign foreign, ObjectParameterInvoker objectParameterInvoker)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static Invoker
getInstance()
Gets theInvoker
singleton.ObjectParameterInvoker
getObjectParameterInvoker()
Gets the fast-path object parameter invoker.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.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.abstract long
invokeAddress(CallContext ctx, long function, HeapInvocationBuffer buffer)
Invokes a function and returns a native memory address.long
invokeAddress(Function function, HeapInvocationBuffer buffer)
Invokes a function and returns a native memory address.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.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.java.math.BigDecimal
invokeBigDecimal(CallContext ctx, long function, HeapInvocationBuffer buffer)
Invokes a function and returns a 64 bit floating point value.java.math.BigDecimal
invokeBigDecimal(Function function, HeapInvocationBuffer buffer)
Invokes a function and returns a 64 bit floating point value.double
invokeDouble(CallContext ctx, long function, HeapInvocationBuffer buffer)
Invokes a function and returns a 64 bit floating point value.double
invokeDouble(Function function, HeapInvocationBuffer buffer)
Invokes a function and returns a 64 bit floating point value.float
invokeFloat(CallContext ctx, long function, HeapInvocationBuffer buffer)
Invokes a function and returns a 32 bit floating point value.float
invokeFloat(Function function, HeapInvocationBuffer buffer)
Invokes a function and returns a 32 bit floating point value.int
invokeI0(CallContext context, long function)
Invokes a function with no arguments, and returns a 32 bit integer.int
invokeI0NoErrno(CallContext context, long function)
int
invokeI1(CallContext context, long function, int arg1)
Invokes a function with one integer argument, and returns a 32 bit integer.int
invokeI1NoErrno(CallContext context, long function, int arg1)
int
invokeI2(CallContext context, long function, int arg1, int arg2)
Invokes a function with two integer arguments, and returns a 32 bit integer.int
invokeI2NoErrno(CallContext context, long function, int arg1, int arg2)
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.int
invokeI3NoErrno(CallContext context, long function, int arg1, int arg2, int arg3)
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.int
invokeI4NoErrno(CallContext context, long function, int arg1, int arg2, int arg3, int arg4)
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.int
invokeI5NoErrno(CallContext context, long function, int arg1, int arg2, int arg3, int arg4, int arg5)
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.int
invokeI6NoErrno(CallContext context, long function, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6)
int
invokeIIIIIIrI(Function function, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6)
Deprecated.int
invokeIIIIIrI(Function function, int arg1, int arg2, int arg3, int arg4, int arg5)
Deprecated.int
invokeIIIIrI(Function function, int arg1, int arg2, int arg3, int arg4)
Deprecated.int
invokeIIIrI(Function function, int arg1, int arg2, int arg3)
Deprecated.int
invokeIIrI(Function function, int arg1, int arg2)
Deprecated.int
invokeInt(CallContext ctx, long function, HeapInvocationBuffer buffer)
Invokes a function and returns a 32 bit integer value.int
invokeInt(Function function, HeapInvocationBuffer buffer)
Invokes a function and returns a 32 bit integer value.int
invokeIrI(Function function, int arg1)
Deprecated.long
invokeL0(CallContext context, long function)
Invokes a function with no arguments, and returns a 64 bit integer.long
invokeL0NoErrno(CallContext context, long function)
long
invokeL1(CallContext context, long function, long arg1)
Invokes a function with one 64 bit integer argument, and returns a 64 bit integer.long
invokeL1NoErrno(CallContext context, long function, long arg1)
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.long
invokeL2NoErrno(CallContext context, long function, long arg1, long arg2)
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.long
invokeL3NoErrno(CallContext context, long function, long arg1, long arg2, long arg3)
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.long
invokeL4NoErrno(CallContext context, long function, long arg1, long arg2, long arg3, long arg4)
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.long
invokeL5NoErrno(CallContext context, long function, long arg1, long arg2, long arg3, long arg4, long arg5)
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.long
invokeL6NoErrno(CallContext context, long function, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6)
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.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.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.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.long
invokeLLrL(Function function, long arg1, long arg2)
Invokes a function with two 64 bit integer arguments, and returns a 64 bit integer.long
invokeLong(CallContext ctx, long function, HeapInvocationBuffer buffer)
Invokes a function and returns a 64 bit integer value.long
invokeLong(Function function, HeapInvocationBuffer buffer)
Invokes a function and returns a 64 bit integer value.long
invokeLrL(Function function, long arg1)
Invokes a function with one 64 bit integer argument, and returns a 64 bit integer.long
invokeN0(CallContext context, long function)
Invokes a function with no arguments, and returns a numeric value.long
invokeN1(CallContext context, long function, long arg1)
Invokes a function with one numeric argument, and returns a numeric value.long
invokeN1(CallContext ctx, long function, long n1, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN1O1(CallContext ctx, long function, long n1, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN2(CallContext context, long function, long arg1, long arg2)
Invokes a function with two numeric arguments, and returns a numeric value.long
invokeN2(CallContext ctx, long function, long n1, long n2, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN2(CallContext ctx, long function, long n1, long n2, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
long
invokeN2O1(CallContext ctx, long function, long n1, long n2, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN2O2(CallContext ctx, long function, long n1, long n2, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
long
invokeN3(CallContext context, long function, long arg1, long arg2, long arg3)
Invokes a function with three numeric arguments, and returns a numeric value.long
invokeN3(CallContext ctx, long function, long n1, long n2, long n3, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN3(CallContext ctx, long function, long n1, long n2, long n3, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
long
invokeN3(CallContext ctx, long function, long n1, long n2, long n3, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
long
invokeN3O1(CallContext ctx, long function, long n1, long n2, long n3, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN3O2(CallContext ctx, long function, long n1, long n2, long n3, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
long
invokeN3O3(CallContext ctx, long function, long n1, long n2, long n3, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
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.long
invokeN4(CallContext ctx, long function, long n1, long n2, long n3, long n4, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN4(CallContext ctx, long function, long n1, long n2, long n3, long n4, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
long
invokeN4(CallContext ctx, long function, long n1, long n2, long n3, long n4, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
long
invokeN4(CallContext ctx, long function, long n1, long n2, long n3, long n4, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info)
long
invokeN4O1(CallContext ctx, long function, long n1, long n2, long n3, long n4, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN4O2(CallContext ctx, long function, long n1, long n2, long n3, long n4, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
long
invokeN4O3(CallContext ctx, long function, long n1, long n2, long n3, long n4, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
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.long
invokeN5(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN5(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
long
invokeN5(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
long
invokeN5(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info)
long
invokeN5(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info, java.lang.Object o5, ObjectParameterStrategy s5, ObjectParameterInfo o5info)
long
invokeN5O1(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN5O2(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
long
invokeN5O3(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
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.long
invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
long
invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
long
invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info)
long
invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info, java.lang.Object o5, ObjectParameterStrategy s5, ObjectParameterInfo o5info)
long
invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info, java.lang.Object o5, ObjectParameterStrategy s5, ObjectParameterInfo o5info, java.lang.Object o6, ObjectParameterStrategy s6, ObjectParameterInfo o6info)
long
invokeN6O1(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
long
invokeN6O2(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
long
invokeN6O3(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
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.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.long
invokeNNNNrN(Function function, long arg1, long arg2, long arg3, long arg4)
Invokes a function with four numeric arguments, and returns a numeric value.long
invokeNNNO1rN(Function function, long n1, long n2, long n3, java.lang.Object o1, int o1off, int o1len, ObjectParameterInfo o1flags)
Deprecated.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.long
invokeNNNrN(Function function, long arg1, long arg2, long arg3)
Invokes a function with three numeric arguments, and returns a numeric value.long
invokeNNO1rN(Function function, long n1, long n2, java.lang.Object o1, int o1off, int o1len, ObjectParameterInfo o1flags)
Deprecated.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.long
invokeNNrN(Function function, long arg1, long arg2)
Invokes a function with two numeric arguments, and returns a numeric value.int
invokeNoErrnoIIIrI(Function function, int arg1, int arg2, int arg3)
Deprecated.int
invokeNoErrnoIIrI(Function function, int arg1, int arg2)
Deprecated.int
invokeNoErrnoIrI(Function function, int arg1)
Deprecated.int
invokeNoErrnoVrI(Function function)
Deprecated.long
invokeNrN(Function function, long arg1)
Invokes a function with one numeric argument, and returns a numeric value.java.lang.Object
invokeObject(Function function, HeapInvocationBuffer buffer)
byte[]
invokeStruct(CallContext ctx, long function, HeapInvocationBuffer buffer)
Invokes a function that returns a C struct by value.void
invokeStruct(CallContext ctx, long function, HeapInvocationBuffer buffer, byte[] returnBuffer, int offset)
Invokes a function that returns a C struct by value.byte[]
invokeStruct(Function function, HeapInvocationBuffer buffer)
Invokes a function that returns a C struct by value.void
invokeStruct(Function function, HeapInvocationBuffer buffer, byte[] returnBuffer, int offset)
Invokes a function that returns a C struct by value.int
invokeVrI(Function function)
Deprecated.long
invokeVrL(Function function)
Invokes a function with no arguments, and returns a 64 bit integer.long
invokeVrN(Function function)
Invokes a function with no arguments, and returns a numeric value.private static java.lang.RuntimeException
newHeapObjectCountError(int objCount)
private static java.lang.RuntimeException
newInsufficientObjectCountError(int objCount)
private static java.lang.RuntimeException
newObjectCountError(int objCount)
-
-
-
Field Detail
-
foreign
private final Foreign foreign
-
objectParameterInvoker
private final ObjectParameterInvoker objectParameterInvoker
-
-
Constructor Detail
-
Invoker
private Invoker()
Creates a newInvoker
-
Invoker
Invoker(Foreign foreign, ObjectParameterInvoker objectParameterInvoker)
-
-
Method Detail
-
getInstance
public static Invoker getInstance()
Gets theInvoker
singleton.- Returns:
- An instance of
Invoker
.
-
getObjectParameterInvoker
public final ObjectParameterInvoker getObjectParameterInvoker()
Gets the fast-path object parameter invoker.- Returns:
- An instance of
ObjectParameterInvoker
-
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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)
-
invokeN1O1
public final long invokeN1O1(CallContext ctx, long function, long n1, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN2O1
public final long invokeN2O1(CallContext ctx, long function, long n1, long n2, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN2O2
public final long invokeN2O2(CallContext ctx, long function, long n1, long n2, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
-
invokeN3O1
public final long invokeN3O1(CallContext ctx, long function, long n1, long n2, long n3, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN3O2
public final long invokeN3O2(CallContext ctx, long function, long n1, long n2, long n3, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
-
invokeN3O3
public final long invokeN3O3(CallContext ctx, long function, long n1, long n2, long n3, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
-
invokeN4O1
public final long invokeN4O1(CallContext ctx, long function, long n1, long n2, long n3, long n4, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN4O2
public final long invokeN4O2(CallContext ctx, long function, long n1, long n2, long n3, long n4, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
-
invokeN4O3
public final long invokeN4O3(CallContext ctx, long function, long n1, long n2, long n3, long n4, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
-
invokeN5O1
public final long invokeN5O1(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN5O2
public final long invokeN5O2(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
-
invokeN5O3
public final long invokeN5O3(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
-
invokeN6O1
public final long invokeN6O1(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN6O2
public final long invokeN6O2(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
-
invokeN6O3
public final long invokeN6O3(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
-
invokeN1
public final long invokeN1(CallContext ctx, long function, long n1, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN2
public final long invokeN2(CallContext ctx, long function, long n1, long n2, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN2
public final long invokeN2(CallContext ctx, long function, long n1, long n2, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
-
invokeN3
public final long invokeN3(CallContext ctx, long function, long n1, long n2, long n3, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN3
public final long invokeN3(CallContext ctx, long function, long n1, long n2, long n3, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
-
invokeN3
public final long invokeN3(CallContext ctx, long function, long n1, long n2, long n3, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
-
invokeN4
public final long invokeN4(CallContext ctx, long function, long n1, long n2, long n3, long n4, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN4
public final long invokeN4(CallContext ctx, long function, long n1, long n2, long n3, long n4, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
-
invokeN4
public final long invokeN4(CallContext ctx, long function, long n1, long n2, long n3, long n4, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
-
invokeN4
public final long invokeN4(CallContext ctx, long function, long n1, long n2, long n3, long n4, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info)
-
invokeN5
public final long invokeN5(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN5
public final long invokeN5(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
-
invokeN5
public final long invokeN5(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
-
invokeN5
public final long invokeN5(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info)
-
invokeN5
public final long invokeN5(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info, java.lang.Object o5, ObjectParameterStrategy s5, ObjectParameterInfo o5info)
-
invokeN6
public final long invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info)
-
invokeN6
public final long invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info)
-
invokeN6
public final long invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info)
-
invokeN6
public final long invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info)
-
invokeN6
public final long invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info, java.lang.Object o5, ObjectParameterStrategy s5, ObjectParameterInfo o5info)
-
invokeN6
public final long invokeN6(CallContext ctx, long function, long n1, long n2, long n3, long n4, long n5, long n6, int objCount, java.lang.Object o1, ObjectParameterStrategy s1, ObjectParameterInfo o1info, java.lang.Object o2, ObjectParameterStrategy s2, ObjectParameterInfo o2info, java.lang.Object o3, ObjectParameterStrategy s3, ObjectParameterInfo o3info, java.lang.Object o4, ObjectParameterStrategy s4, ObjectParameterInfo o4info, java.lang.Object o5, ObjectParameterStrategy s5, ObjectParameterInfo o5info, java.lang.Object o6, ObjectParameterStrategy s6, ObjectParameterInfo o6info)
-
invokeAddress
public long invokeAddress(Function function, HeapInvocationBuffer buffer)
Invokes a function and returns a native memory address.- Parameters:
function
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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
- TheFunction
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.
-
invokeObject
public final java.lang.Object invokeObject(Function function, HeapInvocationBuffer buffer)
-
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
- TheFunction
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.
-
-