|
Ruby
2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
|
Go to the source code of this file.
Macros | |
| #define | ROUND_UP(v, a) (((size_t)(v) + (a) - 1) & ~((a) - 1)) |
| #define | MIN_STACK_SIZE 64 |
| #define | FIRST_ARG_SLOT 9 |
| #define | DEBUG_LEVEL 0 |
| #define | fldw(addr, fpreg) __asm__ volatile ("fldw 0(%0), %%" #fpreg "L" : : "r"(addr) : #fpreg) |
| #define | fstw(fpreg, addr) __asm__ volatile ("fstw %%" #fpreg "L, 0(%0)" : : "r"(addr)) |
| #define | fldd(addr, fpreg) __asm__ volatile ("fldd 0(%0), %%" #fpreg : : "r"(addr) : #fpreg) |
| #define | fstd(fpreg, addr) __asm__ volatile ("fstd %%" #fpreg "L, 0(%0)" : : "r"(addr)) |
| #define | debug(lvl, x...) do { if (lvl <= DEBUG_LEVEL) { printf(x); } } while (0) |
Functions | |
| void | ffi_prep_args_pa32 (UINT32 *stack, extended_cif *ecif, unsigned bytes) |
| ffi_status | ffi_prep_cif_machdep (ffi_cif *cif) |
| void | ffi_call_pa32 (void(*)(UINT32 *, extended_cif *, unsigned), extended_cif *, unsigned, unsigned, unsigned *, void(*fn)(void)) |
| void | ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue) |
| #define debug | ( | lvl, | |
| x... | |||
| ) | do { if (lvl <= DEBUG_LEVEL) { printf(x); } } while (0) |
Definition at line 376 of file ffi.c.
References alloca, extended_cif::avalue, extended_cif::cif, debug, FFI_ASSERT, ffi_call_pa32(), ffi_prep_args_pa32(), FFI_TYPE_LONGDOUBLE, NULL, and extended_cif::rvalue.
| void ffi_call_pa32 | ( | void(*)(UINT32 *, extended_cif *, unsigned) | , |
| extended_cif * | , | ||
| unsigned | , | ||
| unsigned | , | ||
| unsigned * | , | ||
| void(*)(void) | fn | ||
| ) |
Referenced by ffi_call().
| void ffi_prep_args_pa32 | ( | UINT32 * | stack, |
| extended_cif * | ecif, | ||
| unsigned | bytes | ||
| ) |
Definition at line 142 of file ffi.c.
References extended_cif::avalue, extended_cif::cif, debug, FFI_ASSERT, FFI_TYPE_LONGDOUBLE, FIRST_ARG_SLOT, fldd, fldw, i, len, memcpy(), and n.
Referenced by ffi_call().
| ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |
Definition at line 319 of file ffi.c.
References FFI_TYPE_LONGDOUBLE, and unsigned.