Lines Matching refs:ecif
35 void ffi_prep_args(char *stack, extended_cif *ecif) in ffi_prep_args() argument
47 if (ecif->cif->rtype->type == FFI_TYPE_STRUCT && ecif->cif->rtype->size > 8) in ffi_prep_args()
49 *(void **) argp = ecif->rvalue; in ffi_prep_args()
53 avn = ecif->cif->nargs; in ffi_prep_args()
54 p_argv = ecif->avalue; in ffi_prep_args()
56 for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; in ffi_prep_args()
180 extended_cif ecif; in ffi_call() local
182 ecif.cif = cif; in ffi_call()
183 ecif.avalue = avalue; in ffi_call()
190 ecif.rvalue = alloca (cif->rtype->size); in ffi_call()
193 ecif.rvalue = rvalue; in ffi_call()
198 ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes, in ffi_call()
199 cif->flags, ecif.rvalue, fn); in ffi_call()
208 *(unsigned long *)(ecif.rvalue) <<= (4 - size) * 8; in ffi_call()
214 memcpy (ecif.rvalue, ecif.rvalue + 8-size, size); in ffi_call()
222 memcpy (ecif.rvalue, ecif.rvalue + 8-size, size); in ffi_call()