Ruby
2.4.2p198(2017-09-14revision59899)
|
Go to the source code of this file.
Macros | |
#define | HI(x) ((((unsigned int) (x)) >> 16) & 0xffff) |
#define | LO(x) (((unsigned int) (x)) & 0xffff) |
Functions | |
UINT64 | ffi_call_sysv (void(*)(char *, extended_cif *), extended_cif *, unsigned, void(*fn)(void)) |
void | ffi_closure_sysv (void) |
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif) |
void | ffi_prep_args (char *stack, extended_cif *ecif) |
void | ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue) |
static UINT64 | ffi_closure_helper (unsigned char *args, 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 HI | ( | x | ) | ((((unsigned int) (x)) >> 16) & 0xffff) |
Referenced by ffi_prep_closure_loc().
#define LO | ( | x | ) | (((unsigned int) (x)) & 0xffff) |
Referenced by ffi_prep_closure_loc().
void ffi_call | ( | ffi_cif * | cif, |
void(*)(void) | fn, | ||
void * | rvalue, | ||
void ** | avalue | ||
) |
Definition at line 150 of file ffi.c.
References alloca(), extended_cif::avalue, extended_cif::cif, ffi_call_sysv(), ffi_prep_args(), memcpy, NULL, result, and extended_cif::rvalue.
UINT64 ffi_call_sysv | ( | void(*)(char *, extended_cif *) | , |
extended_cif * | , | ||
unsigned | , | ||
void(*)(void) | fn | ||
) |
Referenced by ffi_call().
|
static |
void ffi_closure_sysv | ( | void | ) |
Referenced by ffi_prep_closure_loc().
void ffi_prep_args | ( | char * | stack, |
extended_cif * | ecif | ||
) |
Definition at line 81 of file ffi.c.
References ALIGN, extended_cif::avalue, extended_cif::cif, FFI_ASSERT, memcpy, extended_cif::rvalue, and 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 253 of file ffi.c.
References ffi_closure_helper(), ffi_closure_sysv(), FFI_SYSV, HI, if(), and LO.