Home | History | Annotate | Download | only in ia64

Lines Matching full:cif

220 /* Perform machine dependent cif processing. */
223 ffi_prep_cif_machdep(ffi_cif *cif)
227 /* Adjust cif->bytes to include space for the bits of the ia64_args frame
231 cif->bytes += offsetof(struct ia64_args, gp_regs[0]);
232 if (cif->bytes < sizeof(struct ia64_args))
233 cif->bytes = sizeof(struct ia64_args);
236 flags = cif->rtype->type;
237 switch (cif->rtype->type)
248 size_t size = cif->rtype->size;
249 int hfa_type = hfa_element_type (cif->rtype, 0);
268 cif->flags = flags;
276 ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
282 FFI_ASSERT (cif->abi == FFI_UNIX);
285 if (rvalue == NULL && cif->rtype->type != FFI_TYPE_VOID)
286 rvalue = alloca (cif->rtype->size);
289 stack = alloca (cif->bytes);
292 avn = cif->nargs;
293 for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++)
383 ffi_call_unix (stack, rvalue, fn, cif->flags);
405 ffi_cif* cif,
428 FFI_ASSERT (cif->abi == FFI_UNIX);
436 closure->cif = cif;
448 ffi_cif *cif;
453 cif = closure->cif;
454 avn = cif->nargs;
459 if (cif->flags == FFI_TYPE_STRUCT)
463 for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++)
577 closure->fun (cif, rvalue, avalue, closure->user_data);
579 return cif->flags;