ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already defined.
2007-12-06 David Daney <ddaney@avtrex.com> * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already defined. (ffi_java_raw): New typedef. (ffi_java_raw_call, ffi_java_ptrarray_to_raw, ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to ffi_java_raw. (ffi_java_raw_closure) : Same. (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change parameter types. * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw. Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use sizeof(ffi_java_raw) for alignment calculations. (ffi_java_ptrarray_to_raw): Same. (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER if FFI_SIZEOF_JAVA_RAW == 4. (ffi_java_raw_to_rvalue): Same. (ffi_java_raw_call): Change type of raw to ffi_java_raw. (ffi_java_translate_args): Same. (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change parameter types. * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI. 2007-12-06 David Daney <ddaney@avtrex.com> * interpret.cc: Replace ffi_raw with INTERP_FFI_RAW_TYPE throughout. (ncode_closure, ffi_closure_fun): Define versions for non-FFI_NATIVE_RAW_API case. * include/java-interp.h (INTERP_FFI_RAW_TYPE): Define and use to replace ffi_raw throughout. * jni.cc, interpret-run.cc: Replace ffi_raw with INTERP_FFI_RAW_TYPE throughout. From-SVN: r130660
This commit is contained in:
parent
6af5d898a5
commit
4c42b3d84f
9 changed files with 170 additions and 64 deletions
|
@ -222,18 +222,26 @@ class _Jv_InterpMethod : public _Jv_MethodBase
|
|||
void *ncode (jclass);
|
||||
void compile (const void * const *);
|
||||
|
||||
static void run_normal (ffi_cif*, void*, ffi_raw*, void*);
|
||||
static void run_synch_object (ffi_cif*, void*, ffi_raw*, void*);
|
||||
static void run_class (ffi_cif*, void*, ffi_raw*, void*);
|
||||
static void run_synch_class (ffi_cif*, void*, ffi_raw*, void*);
|
||||
|
||||
static void run_normal_debug (ffi_cif*, void*, ffi_raw*, void*);
|
||||
static void run_synch_object_debug (ffi_cif*, void*, ffi_raw*, void*);
|
||||
static void run_class_debug (ffi_cif*, void*, ffi_raw*, void*);
|
||||
static void run_synch_class_debug (ffi_cif*, void*, ffi_raw*, void*);
|
||||
#if FFI_NATIVE_RAW_API
|
||||
# define INTERP_FFI_RAW_TYPE ffi_raw
|
||||
#else
|
||||
# define INTERP_FFI_RAW_TYPE ffi_java_raw
|
||||
#endif
|
||||
|
||||
static void run (void *, ffi_raw *, _Jv_InterpMethod *);
|
||||
static void run_debug (void *, ffi_raw *, _Jv_InterpMethod *);
|
||||
static void run_normal (ffi_cif*, void*, INTERP_FFI_RAW_TYPE*, void*);
|
||||
static void run_synch_object (ffi_cif*, void*, INTERP_FFI_RAW_TYPE*, void*);
|
||||
static void run_class (ffi_cif*, void*, INTERP_FFI_RAW_TYPE*, void*);
|
||||
static void run_synch_class (ffi_cif*, void*, INTERP_FFI_RAW_TYPE*, void*);
|
||||
|
||||
static void run_normal_debug (ffi_cif*, void*, INTERP_FFI_RAW_TYPE*, void*);
|
||||
static void run_synch_object_debug (ffi_cif*, void*, INTERP_FFI_RAW_TYPE*,
|
||||
void*);
|
||||
static void run_class_debug (ffi_cif*, void*, INTERP_FFI_RAW_TYPE*, void*);
|
||||
static void run_synch_class_debug (ffi_cif*, void*, INTERP_FFI_RAW_TYPE*,
|
||||
void*);
|
||||
|
||||
static void run (void *, INTERP_FFI_RAW_TYPE *, _Jv_InterpMethod *);
|
||||
static void run_debug (void *, INTERP_FFI_RAW_TYPE *, _Jv_InterpMethod *);
|
||||
|
||||
|
||||
|
||||
|
@ -361,7 +369,7 @@ class _Jv_JNIMethod : public _Jv_MethodBase
|
|||
ffi_type **jni_arg_types;
|
||||
|
||||
// This function is used when making a JNI call from the interpreter.
|
||||
static void call (ffi_cif *, void *, ffi_raw *, void *);
|
||||
static void call (ffi_cif *, void *, INTERP_FFI_RAW_TYPE *, void *);
|
||||
|
||||
void *ncode (jclass);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue