Ruby
2.4.2p198(2017-09-14revision59899)
|
Go to the source code of this file.
Macros | |
#define | WORD_SIZE sizeof(unsigned int) |
#define | ARGS_REGISTER_SIZE (WORD_SIZE * 6) |
#define | WORD_ALIGN(x) ALIGN(x, WORD_SIZE) |
Functions | |
void | ffi_call_SYSV (void(*)(void *, extended_cif *), extended_cif *, unsigned int, unsigned int, unsigned int *, void(*fn)(void), unsigned int, unsigned int) |
void | ffi_closure_SYSV (void) |
void | ffi_prep_args (void *stack, extended_cif *ecif) |
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif) |
void | ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue) |
void | ffi_closure_call_SYSV (void *register_args, void *stack_args, ffi_closure *closure, void *rvalue, unsigned int *rtype, unsigned int *rsize) |
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 ARGS_REGISTER_SIZE (WORD_SIZE * 6) |
Definition at line 37 of file ffi.c.
Referenced by ffi_closure_call_SYSV().
Definition at line 38 of file ffi.c.
Referenced by ffi_closure_call_SYSV(), and ffi_prep_args().
#define WORD_SIZE sizeof(unsigned int) |
Definition at line 36 of file ffi.c.
Referenced by ffi_closure_call_SYSV(), and ffi_prep_args().
void ffi_call | ( | ffi_cif * | cif, |
void(*)(void) | fn, | ||
void * | rvalue, | ||
void ** | avalue | ||
) |
Definition at line 151 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 | ( | void(*)(void *, extended_cif *) | , |
extended_cif * | , | ||
unsigned | int, | ||
unsigned | int, | ||
unsigned int * | , | ||
void(*)(void) | fn, | ||
unsigned | int, | ||
unsigned | int | ||
) |
void ffi_closure_call_SYSV | ( | void * | register_args, |
void * | stack_args, | ||
ffi_closure * | closure, | ||
void * | rvalue, | ||
unsigned int * | rtype, | ||
unsigned int * | rsize | ||
) |
Definition at line 177 of file ffi.c.
References alloca(), ARGS_REGISTER_SIZE, memcpy, NULL, size, WORD_ALIGN, and WORD_SIZE.
Referenced by ffi_prep_closure_loc().
void ffi_prep_args | ( | void * | stack, |
extended_cif * | ecif | ||
) |
Definition at line 42 of file ffi.c.
References extended_cif::avalue, extended_cif::cif, memcpy, NULL, extended_cif::rvalue, size, WORD_ALIGN, and WORD_SIZE.
ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |
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 277 of file ffi.c.
References ffi_closure_call_SYSV(), ffi_closure_SYSV(), and FFI_SYSV.