Home | History | Annotate | Download | only in m68k

Lines Matching full:cif

38   if (ecif->cif->rtype->type == FFI_TYPE_STRUCT
39 && !ecif->cif->flags)
46 for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
107 /* Perform machine dependent cif processing */
109 ffi_prep_cif_machdep (ffi_cif *cif)
112 switch (cif->rtype->type)
115 cif->flags = 0;
119 switch (cif->rtype->size)
122 cif->flags = CIF_FLAGS_STRUCT1;
125 cif->flags = CIF_FLAGS_STRUCT2;
128 cif->flags = CIF_FLAGS_INT;
131 cif->flags = CIF_FLAGS_DINT;
134 cif->flags = 0;
140 cif->flags = CIF_FLAGS_FLOAT;
144 cif->flags = CIF_FLAGS_DOUBLE;
148 cif->flags = CIF_FLAGS_LDOUBLE;
152 cif->flags = CIF_FLAGS_POINTER;
157 cif->flags = CIF_FLAGS_DINT;
161 cif->flags = CIF_FLAGS_INT;
169 ffi_call (ffi_cif *cif, void (*fn) (), void *rvalue, void **avalue)
173 ecif.cif = cif;
180 && cif->rtype->type == FFI_TYPE_STRUCT
181 && cif->rtype->size > 8)
182 ecif.rvalue = alloca (cif->rtype->size);
186 switch (cif->abi)
189 ffi_call_SYSV (&ecif, cif->bytes, cif->flags,
200 ffi_prep_incoming_args_SYSV (char *stack, void **avalue, ffi_cif *cif)
210 for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
238 ffi_cif *cif;
241 cif = closure->cif;
242 arg_area = (void**) alloca (cif->nargs * sizeof (void *));
244 ffi_prep_incoming_args_SYSV(args, arg_area, cif);
246 (closure->fun) (cif, resp, arg_area, closure->user_data);
248 return cif->flags;
253 ffi_cif* cif,
258 FFI_ASSERT (cif->abi == FFI_SYSV);
263 if (cif->rtype->type == FFI_TYPE_STRUCT
264 && !cif->flags)
272 closure->cif = cif;