Lines Matching refs:cif
41 nfixedargs = ecif->cif->nfixedargs; in ffi_prep_args()
42 arg = ecif->cif->arg_types; in ffi_prep_args()
45 if (ecif->cif->rtype->type == FFI_TYPE_STRUCT) in ffi_prep_args()
51 for(i=0; i<ecif->cif->nargs; i++) in ffi_prep_args()
119 void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) in ffi_call() argument
127 for(i = 0, arg = cif->arg_types, size=0; i < cif->nargs; i++, arg++) in ffi_call()
139 if (cif->nargs != cif->nfixedargs) in ffi_call()
142 if (cif->rtype->type == FFI_TYPE_STRUCT) in ffi_call()
147 ecif.cif = cif; in ffi_call()
151 switch (cif->abi) in ffi_call()
154 ffi_call_SYSV(size, &ecif, ffi_prep_args, rvalue, fn, cif->flags); in ffi_call()
179 ffi_cif *cif = closure->cif; in ffi_closure_SYSV() local
180 ffi_type **arg_types = cif->arg_types; in ffi_closure_SYSV()
181 void **avalue = alloca (cif->nargs * sizeof(void *)); in ffi_closure_SYSV()
184 int nfixedargs = cif->nfixedargs; in ffi_closure_SYSV()
189 if ((cif->rtype != NULL) && (cif->rtype->type == FFI_TYPE_STRUCT)) in ffi_closure_SYSV()
196 for (i = 0; i < cif->nargs; i++) in ffi_closure_SYSV()
251 if (cif->rtype && (cif->rtype->type == FFI_TYPE_STRUCT)) in ffi_closure_SYSV()
253 (closure->fun) (cif, struct_rvalue, avalue, closure->user_data); in ffi_closure_SYSV()
257 (closure->fun) (cif, &rvalue, avalue, closure->user_data); in ffi_closure_SYSV()
258 if (cif->rtype) in ffi_closure_SYSV()
266 ffi_cif* cif, in ffi_prep_closure_loc() argument
275 if (cif->abi != FFI_SYSV) in ffi_prep_closure_loc()
278 closure->cif = cif; in ffi_prep_closure_loc()
303 ffi_status ffi_prep_cif_machdep (ffi_cif *cif) in ffi_prep_cif_machdep() argument
305 cif->flags = 0; in ffi_prep_cif_machdep()
308 if (cif->rtype->type == FFI_TYPE_STRUCT) in ffi_prep_cif_machdep()
309 cif->flags = FFI_TYPE_STRUCT; in ffi_prep_cif_machdep()
311 if (cif->rtype->size > 4) in ffi_prep_cif_machdep()
312 cif->flags = FFI_TYPE_UINT64; in ffi_prep_cif_machdep()
314 cif->nfixedargs = cif->nargs; in ffi_prep_cif_machdep()
320 ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, in ffi_prep_cif_machdep_var() argument
325 status = ffi_prep_cif_machdep (cif); in ffi_prep_cif_machdep_var()
326 cif->nfixedargs = nfixedargs; in ffi_prep_cif_machdep_var()