Ruby
2.4.2p198(2017-09-14revision59899)
|
Go to the source code of this file.
Macros | |
#define | NGREGARG 4 |
#define | STRUCT_VALUE_ADDRESS_WITH_ARG 0 |
#define | OFS_INT8 3 |
#define | OFS_INT16 2 |
Functions | |
static int | simple_type (ffi_type *arg) |
static int | return_type (ffi_type *arg) |
void | ffi_prep_args (char *stack, extended_cif *ecif) |
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif) |
void | ffi_call_SYSV (void(*)(char *, extended_cif *), extended_cif *, unsigned, unsigned, unsigned *, void(*fn)(void)) |
void | ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue) |
void | ffi_closure_SYSV (void) |
ffi_status | ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc) |
int | ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue, unsigned long *pgr, unsigned long *pfr, unsigned long *pst) |
#define NGREGARG 4 |
Definition at line 33 of file ffi.c.
Referenced by ffi_closure_helper_SYSV(), ffi_prep_args(), and ffi_prep_cif_machdep().
#define OFS_INT16 2 |
Definition at line 510 of file ffi.c.
Referenced by ffi_closure_helper_SYSV().
#define OFS_INT8 3 |
Definition at line 509 of file ffi.c.
Referenced by ffi_closure_helper_SYSV().
#define STRUCT_VALUE_ADDRESS_WITH_ARG 0 |
Definition at line 41 of file ffi.c.
Referenced by ffi_closure_helper_SYSV(), ffi_prep_args(), and ffi_prep_cif_machdep().
void ffi_call | ( | ffi_cif * | cif, |
void(*)(void) | fn, | ||
void * | rvalue, | ||
void ** | avalue | ||
) |
Definition at line 412 of file ffi.c.
References __ic_invalidate(), alloca(), extended_cif::avalue, extended_cif::cif, FFI_ASSERT, ffi_call_SYSV(), ffi_closure_SYSV(), ffi_prep_args(), FFI_SYSV, memcpy, NULL, return_type(), and extended_cif::rvalue.
void ffi_call_SYSV | ( | void(*)(char *, extended_cif *) | , |
extended_cif * | , | ||
unsigned | , | ||
unsigned | , | ||
unsigned * | , | ||
void(*)(void) | fn | ||
) |
int ffi_closure_helper_SYSV | ( | ffi_closure * | closure, |
void * | rvalue, | ||
unsigned long * | pgr, | ||
unsigned long * | pfr, | ||
unsigned long * | pst | ||
) |
Definition at line 514 of file ffi.c.
References alloca(), FFI_ASSERT, NFREGARG, NGREGARG, OFS_INT16, OFS_INT8, return_type(), and STRUCT_VALUE_ADDRESS_WITH_ARG.
void ffi_prep_args | ( | char * | stack, |
extended_cif * | ecif | ||
) |
Definition at line 111 of file ffi.c.
References extended_cif::avalue, extended_cif::cif, FFI_ASSERT, memcpy, NFREGARG, NGREGARG, return_type(), extended_cif::rvalue, and STRUCT_VALUE_ADDRESS_WITH_ARG.
ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |
Definition at line 322 of file ffi.c.
References ffi_call_SYSV(), NFREGARG, NGREGARG, return_type(), size, and STRUCT_VALUE_ADDRESS_WITH_ARG.
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 457 of file ffi.c.
References __ic_invalidate(), ffi_closure_SYSV(), FFI_SYSV, and return_type().
|
static |
Definition at line 57 of file ffi.c.
References simple_type().
Referenced by ffi_call(), ffi_closure_helper_SYSV(), ffi_prep_args(), ffi_prep_cif_machdep(), and ffi_prep_closure_loc().
|
static |
Definition at line 46 of file ffi.c.
Referenced by return_type().