Ruby
2.4.2p198(2017-09-14revision59899)
|
Go to the source code of this file.
Macros | |
#define | FFI_TYPE_STRUCT_REGS FFI_TYPE_LAST |
Functions | |
void | ffi_call_SYSV (void *rvalue, unsigned rsize, unsigned flags, void(*fn)(void), unsigned nbytes, extended_cif *) |
void | ffi_closure_SYSV (void) |
void | ffi_prep_args (extended_cif *ecif, unsigned char *stack) |
void | ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue) |
void | ffi_trampoline () |
void | ffi_cacheflush (void *start, void *end) |
ffi_status | ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc) |
long FFI_HIDDEN | ffi_closure_SYSV_inner (ffi_closure *closure, void **values, void *rvalue) |
void ffi_cacheflush | ( | void * | start, |
void * | end | ||
) |
Referenced by ffi_call(), and ffi_prep_closure_loc().
void ffi_call | ( | ffi_cif * | cif, |
void(*)(void) | fn, | ||
void * | rvalue, | ||
void ** | avalue | ||
) |
Definition at line 190 of file ffi.c.
References ALIGN, alloca(), extended_cif::avalue, extended_cif::cif, FFI_ASSERT, ffi_cacheflush(), ffi_call_SYSV(), FFI_SYSV, ffi_trampoline(), memcpy, NULL, and extended_cif::rvalue.
void ffi_call_SYSV | ( | void * | rvalue, |
unsigned | rsize, | ||
unsigned | flags, | ||
void(*)(void) | fn, | ||
unsigned | nbytes, | ||
extended_cif * | |||
) |
long FFI_HIDDEN ffi_closure_SYSV_inner | ( | ffi_closure * | closure, |
void ** | values, | ||
void * | rvalue | ||
) |
Definition at line 251 of file ffi.c.
References alloca(), FFI_REGISTER_NARGS, and FFI_SYSV.
void ffi_prep_args | ( | extended_cif * | ecif, |
unsigned char * | stack | ||
) |
Definition at line 97 of file ffi.c.
References extended_cif::avalue, extended_cif::cif, f, FFI_ASSERT, FFI_REGISTER_NARGS, 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 229 of file ffi.c.
References ffi_cacheflush(), ffi_closure_SYSV(), FFI_TRAMPOLINE_SIZE, and memcpy.
void ffi_trampoline | ( | ) |
Referenced by ffi_call().