Ruby
2.4.2p198(2017-09-14revision59899)
|
Go to the source code of this file.
Macros | |
#define | MAX_GPRARGS 5 |
#define | MAX_FPRARGS 2 |
#define | ROUND_SIZE(size) (((size) + 15) & ~15) |
#define | FFI390_RET_VOID 0 |
#define | FFI390_RET_STRUCT 1 |
#define | FFI390_RET_FLOAT 2 |
#define | FFI390_RET_DOUBLE 3 |
#define | FFI390_RET_INT32 4 |
#define | FFI390_RET_INT64 5 |
Functions | |
static void | ffi_prep_args (unsigned char *, extended_cif *) |
void | ffi_closure_helper_SYSV (ffi_closure *, unsigned long *, unsigned long long *, unsigned long *) |
void | ffi_call_SYSV (unsigned, extended_cif *, void(*)(unsigned char *, extended_cif *), unsigned, void *, void(*fn)(void)) |
void | ffi_closure_SYSV (void) |
static int | ffi_check_struct_type (ffi_type *arg) |
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif) |
void | ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue) |
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 FFI390_RET_DOUBLE 3 |
Definition at line 61 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
#define FFI390_RET_FLOAT 2 |
Definition at line 60 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
#define FFI390_RET_INT32 4 |
Definition at line 62 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
#define FFI390_RET_INT64 5 |
Definition at line 63 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
#define FFI390_RET_STRUCT 1 |
Definition at line 59 of file ffi.c.
Referenced by ffi_call(), ffi_closure_helper_SYSV(), ffi_prep_args(), and ffi_prep_cif_machdep().
#define FFI390_RET_VOID 0 |
Definition at line 58 of file ffi.c.
Referenced by ffi_call(), and ffi_prep_cif_machdep().
#define MAX_FPRARGS 2 |
Definition at line 51 of file ffi.c.
Referenced by ffi_closure_helper_SYSV(), ffi_prep_args(), and ffi_prep_cif_machdep().
#define MAX_GPRARGS 5 |
Definition at line 45 of file ffi.c.
Referenced by ffi_closure_helper_SYSV(), ffi_prep_args(), and ffi_prep_cif_machdep().
Definition at line 55 of file ffi.c.
Referenced by ffi_prep_args(), and ffi_prep_cif_machdep().
void ffi_call | ( | ffi_cif * | cif, |
void(*)(void) | fn, | ||
void * | rvalue, | ||
void ** | avalue | ||
) |
Definition at line 508 of file ffi.c.
References alloca(), extended_cif::avalue, extended_cif::cif, FFI390_RET_STRUCT, FFI390_RET_VOID, FFI_ASSERT, ffi_call_SYSV(), ffi_prep_args(), FFI_SYSV, NULL, and extended_cif::rvalue.
void ffi_call_SYSV | ( | unsigned | , |
extended_cif * | , | ||
void(*)(unsigned char *, extended_cif *) | , | ||
unsigned | , | ||
void * | , | ||
void(*)(void) | fn | ||
) |
|
static |
Definition at line 108 of file ffi.c.
References size.
Referenced by ffi_closure_helper_SYSV(), ffi_prep_args(), and ffi_prep_cif_machdep().
void ffi_closure_helper_SYSV | ( | ffi_closure * | closure, |
unsigned long * | p_gpr, | ||
unsigned long long * | p_fpr, | ||
unsigned long * | p_ov | ||
) |
Definition at line 553 of file ffi.c.
References alloca(), FFI390_RET_STRUCT, FFI_ASSERT, ffi_check_struct_type(), FFI_TYPE_LONGDOUBLE, MAX_FPRARGS, and MAX_GPRARGS.
|
static |
Definition at line 162 of file ffi.c.
References extended_cif::avalue, extended_cif::cif, FFI390_RET_STRUCT, FFI_ASSERT, ffi_check_struct_type(), FFI_TYPE_LONGDOUBLE, MAX_FPRARGS, MAX_GPRARGS, memcpy, ROUND_SIZE, and extended_cif::rvalue.
ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |
Definition at line 343 of file ffi.c.
References FFI390_RET_DOUBLE, FFI390_RET_FLOAT, FFI390_RET_INT32, FFI390_RET_INT64, FFI390_RET_STRUCT, FFI390_RET_VOID, FFI_ASSERT, ffi_check_struct_type(), FFI_TYPE_LONGDOUBLE, MAX_FPRARGS, MAX_GPRARGS, and ROUND_SIZE.
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 758 of file ffi.c.
References ffi_closure_SYSV(), and FFI_SYSV.