Ruby 2.7.7p221 (2022-11-24 revision 168ec2b1e5ad0e4688e963d9de019557c78feed9)
|
Go to the source code of this file.
Macros | |
#define | STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG) |
Functions | |
int | ffi_prep_args (char *stack, extended_cif *ecif) |
ffi_status FFI_HIDDEN | ffi_prep_cif_core (ffi_cif *cif, ffi_abi abi, unsigned int isvariadic, unsigned int nfixedargs, unsigned int ntotalargs, ffi_type *rtype, ffi_type **atypes) |
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif) |
void | ffi_call_SYSV (int(*)(char *, extended_cif *), extended_cif *, unsigned, unsigned, unsigned *, void(*fn)()) __attribute__((__visibility__("hidden"))) |
void | ffi_call (ffi_cif *cif, void(*fn)(), void *rvalue, void **avalue) |
const char ffi_cris_trampoline_template[] | __attribute__ ((__visibility__("hidden"))) |
ffi_status | ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc) |
#define STACK_ARG_SIZE | ( | x | ) | ALIGN(x, FFI_SIZEOF_ARG) |
Definition at line 246 of file ffi.c.
References alloca, extended_cif::avalue, extended_cif::cif, FFI_ASSERT, ffi_call_SYSV(), ffi_prep_args(), FFI_SYSV, NULL, and extended_cif::rvalue.
void ffi_call_SYSV | ( | int(*)(char *, extended_cif *) | , |
extended_cif * | , | ||
unsigned | , | ||
unsigned | , | ||
unsigned * | , | ||
void(*)() | fn | ||
) |
int ffi_prep_args | ( | char * | stack, |
extended_cif * | ecif | ||
) |
Definition at line 70 of file ffi.c.
References extended_cif::avalue, extended_cif::cif, FFI_ASSERT, i, int, and memcpy().
ffi_status FFI_HIDDEN ffi_prep_cif_core | ( | ffi_cif * | cif, |
ffi_abi | abi, | ||
unsigned int | isvariadic, | ||
unsigned int | nfixedargs, | ||
unsigned int | ntotalargs, | ||
ffi_type * | rtype, | ||
ffi_type ** | atypes | ||
) |
Definition at line 157 of file ffi.c.
References FFI_ASSERT, FFI_FIRST_ABI, FFI_LAST_ABI, i, NULL, and ptr.
ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |