• Home
  • Raw
  • Download

Lines Matching refs:cif

49       (ecif->cif->rtype->type == FFI_TYPE_LONGDOUBLE) ||  in ffi_prep_args()
51 (((ecif->cif->rtype->type == FFI_TYPE_STRUCT) in ffi_prep_args()
52 && !ecif->cif->flags))) in ffi_prep_args()
59 for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; in ffi_prep_args()
131 ffi_prep_cif_machdep (ffi_cif *cif) in ffi_prep_cif_machdep() argument
134 switch (cif->rtype->type) in ffi_prep_cif_machdep()
137 cif->flags = 0; in ffi_prep_cif_machdep()
141 if (cif->rtype->elements[0]->type == FFI_TYPE_STRUCT && in ffi_prep_cif_machdep()
142 cif->rtype->elements[1]) in ffi_prep_cif_machdep()
144 cif->flags = 0; in ffi_prep_cif_machdep()
148 switch (cif->rtype->size) in ffi_prep_cif_machdep()
152 cif->flags = CIF_FLAGS_STRUCT2; in ffi_prep_cif_machdep()
154 cif->flags = CIF_FLAGS_STRUCT1; in ffi_prep_cif_machdep()
158 cif->flags = CIF_FLAGS_STRUCT2; in ffi_prep_cif_machdep()
164 cif->flags = CIF_FLAGS_INT; in ffi_prep_cif_machdep()
170 cif->flags = CIF_FLAGS_DINT; in ffi_prep_cif_machdep()
173 cif->flags = 0; in ffi_prep_cif_machdep()
179 cif->flags = CIF_FLAGS_FLOAT; in ffi_prep_cif_machdep()
183 cif->flags = CIF_FLAGS_DOUBLE; in ffi_prep_cif_machdep()
189 cif->flags = 0; in ffi_prep_cif_machdep()
191 cif->flags = CIF_FLAGS_LDOUBLE; in ffi_prep_cif_machdep()
197 cif->flags = CIF_FLAGS_POINTER; in ffi_prep_cif_machdep()
202 cif->flags = CIF_FLAGS_DINT; in ffi_prep_cif_machdep()
206 cif->flags = CIF_FLAGS_SINT16; in ffi_prep_cif_machdep()
210 cif->flags = CIF_FLAGS_SINT8; in ffi_prep_cif_machdep()
214 cif->flags = CIF_FLAGS_INT; in ffi_prep_cif_machdep()
222 ffi_call (ffi_cif *cif, void (*fn) (), void *rvalue, void **avalue) in ffi_call() argument
226 ecif.cif = cif; in ffi_call()
233 && cif->rtype->type == FFI_TYPE_STRUCT in ffi_call()
234 && cif->rtype->size > 8) in ffi_call()
235 ecif.rvalue = alloca (cif->rtype->size); in ffi_call()
239 switch (cif->abi) in ffi_call()
242 ffi_call_SYSV (&ecif, cif->bytes, cif->flags, in ffi_call()
253 ffi_prep_incoming_args_SYSV (char *stack, void **avalue, ffi_cif *cif) in ffi_prep_incoming_args_SYSV() argument
263 for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++) in ffi_prep_incoming_args_SYSV()
269 if (cif->flags && in ffi_prep_incoming_args_SYSV()
270 cif->rtype->type == FFI_TYPE_STRUCT && in ffi_prep_incoming_args_SYSV()
278 if (cif->flags && in ffi_prep_incoming_args_SYSV()
279 cif->rtype->type == FFI_TYPE_STRUCT && in ffi_prep_incoming_args_SYSV()
311 ffi_cif *cif; in ffi_closure_SYSV_inner() local
314 cif = closure->cif; in ffi_closure_SYSV_inner()
315 arg_area = (void**) alloca (cif->nargs * sizeof (void *)); in ffi_closure_SYSV_inner()
317 ffi_prep_incoming_args_SYSV(args, arg_area, cif); in ffi_closure_SYSV_inner()
319 (closure->fun) (cif, resp, arg_area, closure->user_data); in ffi_closure_SYSV_inner()
321 return cif->flags; in ffi_closure_SYSV_inner()
326 ffi_cif* cif, in ffi_prep_closure_loc() argument
331 if (cif->abi != FFI_SYSV) in ffi_prep_closure_loc()
340 (cif->rtype->type == FFI_TYPE_LONGDOUBLE) || in ffi_prep_closure_loc()
342 (((cif->rtype->type == FFI_TYPE_STRUCT) in ffi_prep_closure_loc()
343 && !cif->flags))) in ffi_prep_closure_loc()
357 closure->cif = cif; in ffi_prep_closure_loc()