|
Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
|
Go to the source code of this file.
Data Structures | |
| union | _d |
| struct | call_context |
| struct | arg_state |
Macros | |
| #define | AARCH64_STACK_ALIGN 16 |
| #define | N_X_ARG_REG 8 |
| #define | N_V_ARG_REG 8 |
| #define | AARCH64_FFI_WITH_V (1 << AARCH64_FFI_WITH_V_BIT) |
| #define | FFI_INIT_TRAMPOLINE(TRAMP, FUN, CTX, FLAGS) |
Functions | |
| void | ffi_call_SYSV (unsigned(*)(struct call_context *context, unsigned char *, extended_cif *), struct call_context *context, extended_cif *, size_t, void(*fn)(void)) |
| void | ffi_closure_SYSV (ffi_closure *) |
| 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) |
| void FFI_HIDDEN | ffi_closure_SYSV_inner (ffi_closure *closure, struct call_context *context, void *stack) |
| #define AARCH64_FFI_WITH_V (1 << AARCH64_FFI_WITH_V_BIT) |
| #define FFI_INIT_TRAMPOLINE | ( | TRAMP, | |
| FUN, | |||
| CTX, | |||
| FLAGS | |||
| ) |
| void ffi_call | ( | ffi_cif * | cif, |
| void(*)(void) | fn, | ||
| void * | rvalue, | ||
| void ** | avalue | ||
| ) |
Definition at line 813 of file ffi.c.
References ALIGN, extended_cif::avalue, extended_cif::cif, FFI_ASSERT, ffi_call_SYSV(), FFI_SYSV, FFI_TYPE_LONGDOUBLE, memcpy, N_X_ARG_REG, and extended_cif::rvalue.
Referenced by ffi_java_raw_call(), ffi_raw_call(), and main().
| void ffi_call_SYSV | ( | unsigned(*)(struct call_context *context, unsigned char *, extended_cif *) | , |
| struct call_context * | context, | ||
| extended_cif * | , | ||
| size_t | , | ||
| void(*)(void) | fn | ||
| ) |
Referenced by ffi_call(), and ffi_raw_call().
| void FFI_HIDDEN ffi_closure_SYSV_inner | ( | ffi_closure * | closure, |
| struct call_context * | context, | ||
| void * | stack | ||
| ) |
Definition at line 964 of file ffi.c.
References ALIGN, alloca, FFI_ASSERT, FFI_TYPE_LONGDOUBLE, memcpy, N_V_ARG_REG, N_X_ARG_REG, and NULL.
Referenced by ffi_prep_closure_loc().
| ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |
Definition at line 758 of file ffi.c.
Referenced by ffi_prep_cif_core(), and ffi_prep_cif_machdep_var().
| 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 928 of file ffi.c.
References ffi_closure_SYSV(), FFI_INIT_TRAMPOLINE, and FFI_SYSV.
Referenced by main().