• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/RubyCocoa-80/RubyCocoa/misc/libffi/src/x86/

Lines Matching refs:cif

50   if (ecif->cif->flags == FFI_TYPE_STRUCT)
58 for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
117 /* Perform machine dependent cif processing */
118 ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
121 switch (cif->rtype->type)
131 cif->flags = (unsigned) cif->rtype->type;
135 cif->flags = FFI_TYPE_SINT64;
140 if (cif->rtype->size == 1)
142 cif->flags = FFI_TYPE_SINT8; /* same as char size */
144 else if (cif->rtype->size == 2)
146 cif->flags = FFI_TYPE_SINT16; /* same as short size */
148 else if (cif->rtype->size == 4)
150 cif->flags = FFI_TYPE_INT; /* same as int type */
152 else if (cif->rtype->size == 8)
154 cif->flags = FFI_TYPE_SINT64; /* same as int64 type */
158 cif->flags = FFI_TYPE_STRUCT;
164 cif->flags = FFI_TYPE_INT;
193 void ffi_call(/*@dependent@*/ ffi_cif *cif,
200 ecif.cif = cif;
207 (cif->flags == FFI_TYPE_STRUCT))
210 ecif.rvalue = alloca(cif->rtype->size);
217 switch (cif->abi)
221 ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes,
222 cif->flags, ecif.rvalue, fn);
228 ffi_call_STDCALL(ffi_prep_args, &ecif, cif->bytes,
229 cif->flags, ecif.rvalue, fn);
243 void** args, ffi_cif* cif);
260 ffi_cif *cif;
263 cif = closure->cif;
264 arg_area = (void**) alloca (cif->nargs * sizeof (void*));
272 ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif);
274 (closure->fun) (cif, *respp, arg_area, closure->user_data);
276 return cif->flags;
282 void **avalue, ffi_cif *cif)
292 if ( cif->flags == FFI_TYPE_STRUCT ) {
299 for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
335 /* the cif must already be prep'ed */
339 ffi_cif* cif,
343 FFI_ASSERT (cif->abi == FFI_SYSV);
349 closure->cif = cif;
362 ffi_cif* cif,
368 FFI_ASSERT (cif->abi == FFI_SYSV);
375 for (i = cif->nargs-1; i >= 0; i--)
377 FFI_ASSERT (cif->arg_types[i]->type != FFI_TYPE_STRUCT);
378 FFI_ASSERT (cif->arg_types[i]->type != FFI_TYPE_LONGDOUBLE);
385 closure->cif = cif;
395 memcpy (stack, ecif->avalue, ecif->cif->bytes);
420 ffi_raw_call(/*@dependent@*/ ffi_cif *cif,
428 ecif.cif = cif;
435 (cif->rtype->type == FFI_TYPE_STRUCT))
438 ecif.rvalue = alloca(cif->rtype->size);
445 switch (cif->abi)
449 ffi_call_SYSV(ffi_prep_args_raw, &ecif, cif->bytes,
450 cif->flags, ecif.rvalue, fn);
456 ffi_call_STDCALL(ffi_prep_args_raw, &ecif, cif->bytes,
457 cif->flags, ecif.rvalue, fn);