Lines Matching refs:cif

108   const unsigned bytes = ecif->cif->bytes;
109 const unsigned flags = ecif->cif->flags;
110 const unsigned nargs = ecif->cif->nargs;
112 const ffi_abi abi = ecif->cif->abi;
130 ffi_type** ptr = ecif->cif->arg_types;
656 /* Perform machine dependent cif processing. */
658 ffi_prep_cif_machdep (ffi_cif *cif)
668 /* All the machine-independent calculation of cif->bytes will be wrong.
672 if (cif->abi == FFI_DARWIN)
674 darwin_adjust_aggregate_sizes (cif->rtype);
675 for (i = 0; i < cif->nargs; i++)
676 darwin_adjust_aggregate_sizes (cif->arg_types[i]);
679 if (cif->abi == FFI_AIX)
681 aix_adjust_aggregate_sizes (cif->rtype);
682 for (i = 0; i < cif->nargs; i++)
683 aix_adjust_aggregate_sizes (cif->arg_types[i]);
710 switch (cif->rtype->type)
739 if (darwin64_struct_ret_by_value_p (cif->rtype))
743 if (cif->rtype->size != 16)
744 darwin64_scan_struct_for_floats (cif->rtype, &nfpr) ;
759 if (cif->rtype->size <= 4)
788 for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
902 cif->flags = flags;
903 cif->bytes = bytes;
915 ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
919 ecif.cif = cif;
926 (cif->rtype->type == FFI_TYPE_STRUCT))
928 ecif.rvalue = alloca (cif->rtype->size);
933 switch (cif->abi)
936 ffi_call_AIX(&ecif, -(long)cif->bytes, cif->flags, ecif.rvalue, fn,
940 ffi_call_DARWIN(&ecif, -(long)cif->bytes, cif->flags, ecif.rvalue, fn,
941 FFI_FN(ffi_prep_args), cif->rtype);
1005 ffi_cif* cif,
1014 switch (cif->abi)
1018 FFI_ASSERT (cif->abi == FFI_DARWIN);
1046 closure->cif = cif;
1060 FFI_ASSERT (cif->abi == FFI_AIX);
1065 closure->cif = cif;
1137 ffi_cif * cif;
1144 cif = closure->cif;
1145 avalue = alloca (cif->nargs * sizeof(void *));
1147 if (cif->rtype->type == FFI_TYPE_STRUCT)
1150 if (!darwin64_struct_ret_by_value_p (cif->rtype))
1157 if (cif->rtype->size > 4)
1169 avn = cif->nargs;
1170 arg_types = cif->arg_types;
1238 FFI_ASSERT (cif->abi != FFI_DARWIN);
1244 if (size_al < 3 && cif->abi == FFI_DARWIN)
1355 (closure->fun) (cif, rvalue, avalue, closure->user_data);
1358 return cif->rtype;