public final class JNIHelpers extends Object
This is necessary until the PowerPC JNI design is changed to match the design for IA32 JNI (i.e. until PowerPC uses C code to do var args passing on both sides). When PPC uses C var arg passing, the code can be refactored and moved from the JNI helpers into a single, architecture-independent class.
Constructor and Description |
---|
JNIHelpers() |
Modifier and Type | Method and Description |
---|---|
static Object |
invokeInitializer(Class<?> cls,
int methodID,
Address argAddress,
boolean isJvalue,
boolean isDotDotStyle) |
static Object |
invokeWithDotDotVarArg(int methodID,
TypeReference expectReturnType) |
static Object |
invokeWithDotDotVarArg(Object obj,
int methodID,
TypeReference expectReturnType,
boolean skip4Args) |
static Object |
invokeWithVarArg(int methodID,
Address argAddress,
TypeReference expectReturnType) |
static Object |
invokeWithVarArg(Object obj,
int methodID,
Address argAddress,
TypeReference expectReturnType,
boolean skip4Args) |
public JNIHelpers()
public static Object invokeInitializer(Class<?> cls, int methodID, Address argAddress, boolean isJvalue, boolean isDotDotStyle) throws Exception
Exception
public static Object invokeWithDotDotVarArg(int methodID, TypeReference expectReturnType) throws Exception
Exception
public static Object invokeWithDotDotVarArg(Object obj, int methodID, TypeReference expectReturnType, boolean skip4Args) throws Exception
Exception
public static Object invokeWithVarArg(int methodID, Address argAddress, TypeReference expectReturnType) throws Exception
Exception
public static Object invokeWithVarArg(Object obj, int methodID, Address argAddress, TypeReference expectReturnType, boolean skip4Args) throws Exception
Exception