diff options
author | David Daney <ddaney@avtrex.com> | 2007-12-06 22:02:22 +0000 |
---|---|---|
committer | David Daney <daney@gcc.gnu.org> | 2007-12-06 22:02:22 +0000 |
commit | 4c42b3d84fb4bd1539147b3aa1834d935818b869 (patch) | |
tree | 0d9df68f8f49c169b13d4425dee7410372b96a19 /libjava/include | |
parent | 6af5d898a5aa667e20681fb5284394ad77c2dc68 (diff) | |
download | gcc-4c42b3d84fb4bd1539147b3aa1834d935818b869.zip gcc-4c42b3d84fb4bd1539147b3aa1834d935818b869.tar.gz gcc-4c42b3d84fb4bd1539147b3aa1834d935818b869.tar.bz2 |
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
Diffstat (limited to 'libjava/include')
-rw-r--r-- | libjava/include/java-interp.h | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index b0d0da4..c6d9955 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -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); |