aboutsummaryrefslogtreecommitdiff
path: root/libjava/include
diff options
context:
space:
mode:
authorDavid Daney <ddaney@avtrex.com>2007-12-06 22:02:22 +0000
committerDavid Daney <daney@gcc.gnu.org>2007-12-06 22:02:22 +0000
commit4c42b3d84fb4bd1539147b3aa1834d935818b869 (patch)
tree0d9df68f8f49c169b13d4425dee7410372b96a19 /libjava/include
parent6af5d898a5aa667e20681fb5284394ad77c2dc68 (diff)
downloadgcc-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.h32
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);