Ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a25176072e02db9254f0e0c84c805cd)
|
Go to the source code of this file.
Macros | |
#define | FFI_INIT_TRAMPOLINE_WIN64(TRAMP, FUN, CTX, MASK) |
#define | FFI_INIT_TRAMPOLINE(TRAMP, FUN, CTX) |
#define | FFI_INIT_TRAMPOLINE_RAW_THISCALL(TRAMP, FUN, CTX, SIZE) |
#define | FFI_INIT_TRAMPOLINE_WIN32(TRAMP, FUN, CTX) |
Functions | |
unsigned int | ffi_prep_args (char *stack, extended_cif *ecif) |
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif) |
void | ffi_call_win32 (unsigned int(*)(char *, extended_cif *), extended_cif *, unsigned, unsigned, unsigned, unsigned *, void(*fn)(void)) |
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_HIDDEN | ffi_closure_SYSV (ffi_closure *) |
unsigned int FFI_HIDDEN | __attribute__ ((regparm(1))) |
ffi_status | ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc) |
ffi_status | ffi_prep_raw_closure_loc (ffi_raw_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, ffi_raw *, void *), void *user_data, void *codeloc) |
void | ffi_raw_call (ffi_cif *cif, void(*fn)(void), void *rvalue, ffi_raw *fake_avalue) |
#define FFI_INIT_TRAMPOLINE | ( | TRAMP, | |
FUN, | |||
CTX | |||
) |
#define FFI_INIT_TRAMPOLINE_RAW_THISCALL | ( | TRAMP, | |
FUN, | |||
CTX, | |||
SIZE | |||
) |
#define FFI_INIT_TRAMPOLINE_WIN32 | ( | TRAMP, | |
FUN, | |||
CTX | |||
) |
#define FFI_INIT_TRAMPOLINE_WIN64 | ( | TRAMP, | |
FUN, | |||
CTX, | |||
MASK | |||
) |
unsigned int FFI_HIDDEN __attribute__ | ( | (regparm(1)) | ) |
Definition at line 352 of file ffi.c.
References alloca, extended_cif::avalue, extended_cif::cif, FFI_ASSERT, ffi_call_SYSV(), ffi_call_win32(), FFI_FASTCALL, FFI_PASCAL, ffi_prep_args(), FFI_REGISTER, FFI_STDCALL, FFI_SYSV, FFI_THISCALL, FFI_TYPE_MS_STRUCT, NULL, and extended_cif::rvalue.
void ffi_call_SYSV | ( | void(*)(char *, extended_cif *) | , |
extended_cif * | , | ||
unsigned | , | ||
unsigned | , | ||
unsigned * | , | ||
void(*)(void) | fn | ||
) |
void ffi_call_win32 | ( | unsigned | int*)(char *, extended_cif *, |
extended_cif * | , | ||
unsigned | , | ||
unsigned | , | ||
unsigned | , | ||
unsigned * | , | ||
void(*)(void) | fn | ||
) |
Referenced by ffi_call().
void FFI_HIDDEN ffi_closure_SYSV | ( | ffi_closure * | ) |
Definition at line 420 of file ffi.c.
Referenced by ffi_prep_closure_loc(), and ffi_prep_closure_loc_sysv().
unsigned int ffi_prep_args | ( | char * | stack, |
extended_cif * | ecif | ||
) |
Definition at line 47 of file ffi.c.
References ALIGN, extended_cif::avalue, extended_cif::cif, FFI_ASSERT, FFI_FASTCALL, FFI_PASCAL, FFI_REGISTER, FFI_SIZEOF_ARG, FFI_THISCALL, FFI_TYPE_LONGDOUBLE, FFI_TYPE_MS_STRUCT, i, memcpy(), memmove, and extended_cif::rvalue.
ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |
Definition at line 235 of file ffi.c.
References AARCH64_STACK_ALIGN, ALIGN, FFI_SIZEOF_ARG, FFI_SYSV, FFI_TYPE_LONGDOUBLE, FFI_TYPE_MS_STRUCT, FFI_TYPE_SMALL_STRUCT_1B, FFI_TYPE_SMALL_STRUCT_2B, FFI_TYPE_SMALL_STRUCT_4B, FFI_UNIX64, i, if(), ptr, and unsigned.
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 725 of file ffi.c.
References ffi_closure_SYSV(), FFI_FASTCALL, FFI_INIT_TRAMPOLINE, FFI_INIT_TRAMPOLINE_WIN32, FFI_INIT_TRAMPOLINE_WIN64, FFI_PASCAL, FFI_REGISTER, FFI_STDCALL, FFI_SYSV, FFI_THISCALL, and mask.
ffi_status ffi_prep_raw_closure_loc | ( | ffi_raw_closure * | closure, |
ffi_cif * | cif, | ||
void(*)(ffi_cif *, void *, ffi_raw *, void *) | fun, | ||
void * | user_data, | ||
void * | codeloc | ||
) |
Definition at line 799 of file ffi.c.
References FFI_ASSERT, FFI_INIT_TRAMPOLINE, FFI_INIT_TRAMPOLINE_RAW_THISCALL, FFI_SYSV, FFI_THISCALL, FFI_TYPE_LONGDOUBLE, and i.
Definition at line 886 of file ffi.c.
References alloca, extended_cif::avalue, extended_cif::cif, ffi_call_SYSV(), FFI_SYSV, FFI_TYPE_MS_STRUCT, NULL, and extended_cif::rvalue.