public abstract class Invoker
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static Invoker |
getInstance()
Gets the Invoker 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.
|
abstract long |
invokeAddress(Function function,
HeapInvocationBuffer buffer)
Invokes a function and returns a native memory address.
|
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.
|
float |
invokeIIIrF(Function function,
int arg1,
int arg2,
int arg3)
Invokes a function with three integer arguments, and returns a 32 bit float.
|
int |
invokeIIIrI(Function function,
int arg1,
int arg2,
int arg3)
Invokes a function with three integer arguments, and returns a 32 bit integer.
|
float |
invokeIIrF(Function function,
int arg1,
int arg2)
Invokes a function with two integer arguments, and returns a 32 bit float.
|
int |
invokeIIrI(Function function,
int arg1,
int arg2)
Invokes a function with two integer arguments, and returns a 32 bit integer.
|
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.
|
float |
invokeIrF(Function function,
int arg1)
Invokes a function with one integer argument, and returns a 32 bit float.
|
int |
invokeIrI(Function function,
int arg1)
Invokes a function with one integer argument, and returns a 32 bit integer.
|
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,
long arg5)
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 |
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)
Invokes a function with two numeric arguments, and returns a numeric value.
|
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)
Invokes a function with two numeric arguments, and returns a numeric value.
|
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)
Invokes a function with two numeric arguments, and returns a numeric value.
|
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)
Invokes a function with two numeric arguments, and returns a numeric value.
|
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)
Invokes a function with three integer arguments, and returns a 32 bit integer.
|
int |
invokeNoErrnoIIrI(Function function,
int arg1,
int arg2)
Invokes a function with two integer arguments, and returns a 32 bit integer.
|
int |
invokeNoErrnoIrI(Function function,
int arg1)
Invokes a function with one integer argument, and returns a 32 bit integer.
|
int |
invokeNoErrnoVrI(Function function)
Invokes a function with no arguments, and returns a 32 bit integer.
|
long |
invokeNrN(Function function,
long arg1)
Invokes a function with one numberic 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.
|
float |
invokeVrF(Function function)
Invokes a function with no arguments, and returns a 32 bit float.
|
int |
invokeVrI(Function function)
Invokes a function with no arguments, and returns a 32 bit integer.
|
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.
|
public static final Invoker getInstance()
public final ObjectParameterInvoker getObjectParameterInvoker()
ObjectParameterInvoker
public final int invokeVrI(Function function)
function
- The Function to invoke.public final float invokeVrF(Function function)
function
- The Function to invoke.public final int invokeNoErrnoVrI(Function function)
function
- The Function to invoke.public final int invokeIrI(Function function, int arg1)
function
- The Function to invoke.arg1
- A 32 bit integer argument.public final int invokeNoErrnoIrI(Function function, int arg1)
function
- The Function to invoke.arg1
- A 32 bit integer argument.public final float invokeIrF(Function function, int arg1)
function
- The Function to invoke.arg1
- A 32 bit integer argument.public final int invokeIIrI(Function function, int arg1, int arg2)
function
- The Function to invoke.arg1
- The first 32 bit integer argument.arg2
- The second 32 bit integer argument.public final int invokeNoErrnoIIrI(Function function, int arg1, int arg2)
function
- The Function to invoke.arg1
- The first 32 bit integer argument.arg2
- The second 32 bit integer argument.public final float invokeIIrF(Function function, int arg1, int arg2)
function
- The Function to invoke.arg1
- The first 32 bit integer argument.arg2
- The second 32 bit integer argument.public final int invokeIIIrI(Function function, int arg1, int arg2, int arg3)
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.public final int invokeNoErrnoIIIrI(Function function, int arg1, int arg2, int arg3)
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.public final float invokeIIIrF(Function function, int arg1, int arg2, int arg3)
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.public final long invokeVrL(Function function)
function
- The Function to invoke.public final long invokeLrL(Function function, long arg1)
function
- The Function to invoke.arg1
- The 64 bit integer argument.public final long invokeLLrL(Function function, long arg1, long arg2)
function
- The Function to invoke.arg1
- The first 64 bit integer argument.arg2
- The second 64 bit integer argument.public final long invokeLLLrL(Function function, long arg1, long arg2, long arg3)
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.public final long invokeLLLLrL(Function function, long arg1, long arg2, long arg3, long arg4, long arg5)
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.public final long invokeLLLLLrL(Function function, long arg1, long arg2, long arg3, long arg4, long arg5)
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.public final long invokeLLLLLLrL(Function function, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6)
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.public final long invokeVrN(Function function)
function
- The Function to invoke.public final long invokeNrN(Function function, long arg1)
function
- The Function to invoke.arg1
- The numeric argument.public final long invokeNNrN(Function function, long arg1, long arg2)
function
- The Function to invoke.arg1
- The first numeric argument.arg2
- The second numeric argument.public final long invokeNNNrN(Function function, long arg1, long arg2, long arg3)
function
- The Function to invoke.arg1
- The first numeric argument.arg2
- The second numeric argument.arg3
- The third numeric argument.public final long invokeNNNNrN(Function function, long arg1, long arg2, long arg3, long arg4)
function
- The Function to invoke.arg1
- The first numeric argument.arg2
- The second numeric argument.arg3
- The third numeric argument.arg3
- The fourth numeric argument.public final long invokeNNNNNrN(Function function, long arg1, long arg2, long arg3, long arg4, long arg5)
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.public final long invokeNNNNNNrN(Function function, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6)
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.public final long invokeNNO1rN(Function function, long n1, long n2, java.lang.Object o1, int o1off, int o1len, ObjectParameterInfo o1flags)
function
- The Function to invoke.n1
- first numeric argument.idx1
- parameter index of the first 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).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)
function
- The Function to invoke.arg1
- An array, to be passed as a pointer for the first numeric parameter.off1
- The offset from the start of the array.len1
- The length of the array to use.flags1
- Array flags (direction, type).arg2
- The second numeric argument.public final long invokeNNNO1rN(Function function, long n1, long n2, long n3, java.lang.Object o1, int o1off, int o1len, ObjectParameterInfo o1flags)
function
- The Function to invoke.arg1
- An array, to be passed as a pointer for the first numeric parameter.off1
- The offset from the start of the array.len1
- The length of the array to use.flags1
- Array flags (direction, type).arg2
- The second numeric argument.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)
function
- The Function to invoke.arg1
- An array, to be passed as a pointer for the first numeric parameter.off1
- The offset from the start of the array.len1
- The length of the array to use.flags1
- Array flags (direction, type).arg2
- The second numeric argument.public abstract long invokeAddress(Function function, HeapInvocationBuffer buffer)
function
- The Function to invoke.buffer
- A buffer containing the arguments to the function.public abstract long invokeAddress(CallContext ctx, long function, HeapInvocationBuffer buffer)
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.public final int invokeInt(Function function, HeapInvocationBuffer buffer)
function
- The Function to invoke.buffer
- A buffer containing the arguments to the function.public final int invokeInt(CallContext ctx, long function, HeapInvocationBuffer buffer)
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.public final long invokeLong(Function function, HeapInvocationBuffer buffer)
function
- The Function to invoke.buffer
- A buffer containing the arguments to the function.public final long invokeLong(CallContext ctx, long function, HeapInvocationBuffer buffer)
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.public final float invokeFloat(Function function, HeapInvocationBuffer buffer)
function
- The Function to invoke.buffer
- A buffer containing the arguments to the function.public final float invokeFloat(CallContext ctx, long function, HeapInvocationBuffer buffer)
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.public final double invokeDouble(Function function, HeapInvocationBuffer buffer)
function
- The Function to invoke.buffer
- A buffer containing the arguments to the function.public final double invokeDouble(CallContext ctx, long function, HeapInvocationBuffer buffer)
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.public final byte[] invokeStruct(Function function, HeapInvocationBuffer buffer)
function
- The Function to invoke.buffer
- The parameter buffer.public final byte[] invokeStruct(CallContext ctx, long function, HeapInvocationBuffer buffer)
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.public final void invokeStruct(Function function, HeapInvocationBuffer buffer, byte[] returnBuffer, int offset)
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.public final void invokeStruct(CallContext ctx, long function, HeapInvocationBuffer buffer, byte[] returnBuffer, int offset)
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.public final java.lang.Object invokeObject(Function function, HeapInvocationBuffer buffer)
public final void invoke(Function function, long returnBuffer, long[] 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.public final void invoke(CallContext ctx, long function, long returnBuffer, long[] 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.