• Home
  • Raw
  • Download

Lines Matching refs:cif

55 ffi_status ffi_prep_cif_machdep(ffi_cif *cif)  in ffi_prep_cif_machdep()  argument
57 switch(cif->rtype->type) { in ffi_prep_cif_machdep()
62 cif->flags = cif->rtype->type; in ffi_prep_cif_machdep()
66 cif->flags = FFI_TYPE_UINT32; in ffi_prep_cif_machdep()
71 cif->flags = FFI_TYPE_UINT64; // cif->rtype->type; in ffi_prep_cif_machdep()
74 cif->flags = FFI_TYPE_STRUCT; //_REGS; in ffi_prep_cif_machdep()
76 if (cif->rtype->size > 4 * 4) { in ffi_prep_cif_machdep()
79 cif->flags = FFI_TYPE_STRUCT; in ffi_prep_cif_machdep()
80 cif->bytes += 8; in ffi_prep_cif_machdep()
85 cif->flags = FFI_TYPE_UINT32; in ffi_prep_cif_machdep()
92 cif->bytes = ALIGN(cif->bytes, 16); in ffi_prep_cif_machdep()
123 if (ecif->cif->rtype->type == FFI_TYPE_STRUCT && ecif->cif->rtype->size > 16) in ffi_prep_args()
128 for (i = ecif->cif->nargs, ptr = ecif->cif->arg_types; in ffi_prep_args()
190 void ffi_call(ffi_cif* cif, void(*fn)(void), void *rvalue, void **avalue) in ffi_call() argument
193 unsigned long rsize = cif->rtype->size; in ffi_call()
194 int flags = cif->flags; in ffi_call()
197 ecif.cif = cif; in ffi_call()
216 if (cif->abi != FFI_SYSV) in ffi_call()
219 ffi_call_SYSV (ecif.rvalue, rsize, cif->flags, fn, cif->bytes, &ecif); in ffi_call()
230 ffi_cif* cif, in ffi_prep_closure_loc() argument
243 closure->cif = cif; in ffi_prep_closure_loc()
253 ffi_cif *cif; in ffi_closure_SYSV_inner() local
258 cif = closure->cif; in ffi_closure_SYSV_inner()
259 if (cif->abi != FFI_SYSV) in ffi_closure_SYSV_inner()
264 int rtype = cif->rtype->type; in ffi_closure_SYSV_inner()
265 if (rtype == FFI_TYPE_STRUCT && cif->rtype->size > 4 * 4) in ffi_closure_SYSV_inner()
271 cif = closure->cif; in ffi_closure_SYSV_inner()
272 arg_types = cif->arg_types; in ffi_closure_SYSV_inner()
273 avalue = alloca(cif->nargs * sizeof(void *)); in ffi_closure_SYSV_inner()
275 for (i = 0; i < cif->nargs; i++) in ffi_closure_SYSV_inner()
295 (closure->fun)(cif, rvalue, avalue, closure->user_data); in ffi_closure_SYSV_inner()