[Patch] libffi: Fixes for MIPS n32 ABI.
David Daney
ddaney@avtrex.com
Thu Dec 6 22:39:00 GMT 2007
Andrew Haley wrote:
> David Daney writes:
>
> >
> > 2007-12-3 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-3 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.
>
> OK.
>
>
This is the version I actually committed. The original patch used the
wrong test for n32 ABI and had a couple of code formatting issues.
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ffi-1.diff
Type: text/x-patch
Size: 16717 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/java-patches/attachments/20071206/9b4cfe97/attachment.bin>
More information about the Java-patches
mailing list