Ruby
2.4.2p198(2017-09-14revision59899)
|
Go to the source code of this file.
Macros | |
#define | STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG) |
Functions | |
static ffi_status | initialize_aggregate_packed_struct (ffi_type *arg) |
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"))) |
static unsigned long long | ffi_prep_closure_inner (void **params, ffi_closure *closure) |
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 32 of file ffi.c.
Referenced by ffi_prep_cif_core().
const char ffi_cris_trampoline_template [] __attribute__ | ( | (__visibility__("hidden")) | ) |
void ffi_call | ( | ffi_cif * | cif, |
void(*)() | fn, | ||
void * | rvalue, | ||
void ** | avalue | ||
) |
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, FFI_HIDDEN, 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 ALIGN, FFI_ASSERT, FFI_ASSERT_VALID_TYPE, FFI_FIRST_ABI, FFI_LAST_ABI, ffi_prep_cif_machdep(), initialize_aggregate_packed_struct(), NULL, and STACK_ARG_SIZE.
ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |
Definition at line 219 of file ffi.c.
References ffi_call_SYSV().
|
static |
Definition at line 297 of file ffi.c.
References alloca(), FFI_ASSERT, and size.
Referenced by ffi_prep_closure_loc().
ffi_status ffi_prep_closure_loc | ( | ffi_closure * | closure, |
ffi_cif * | cif, | ||
void(*)(ffi_cif *, void *, void **, void *) | fun, | ||
void * | user_data, | ||
void * | codeloc | ||
) |
Definition at line 367 of file ffi.c.
References FFI_ASSERT, FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE, ffi_prep_closure_inner(), FFI_SYSV, and memcpy.
|
static |
Definition at line 35 of file ffi.c.
References FFI_ASSERT, ffi_type_test(), and NULL.
Referenced by ffi_prep_cif_core().