Ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a25176072e02db9254f0e0c84c805cd)
|
#include <ffi.h>
#include <ffi_common.h>
#include <stdlib.h>
#include <stdint.h>
#include <unistd.h>
#include <arch/abi.h>
#include <arch/icache.h>
#include <arch/opcode.h>
Go to the source code of this file.
Macros | |
#define | NUM_ARG_REGS 10 |
Functions | |
void | ffi_call_tile (ffi_sarg reg_args[NUM_ARG_REGS], const ffi_sarg *stack_args, size_t stack_args_bytes, void(*fnaddr)(void)) FFI_HIDDEN |
void | ffi_closure_tile (void) |
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_tile_inner (ffi_closure *closure, ffi_sarg reg_args[2][NUM_ARG_REGS], ffi_sarg *stack_args) |
Variables | |
const UINT64 ffi_template_tramp_tile[] | FFI_HIDDEN |
Definition at line 145 of file ffi.c.
References alloca, FFI_SIZEOF_ARG, i, memcpy(), NULL, and NUM_ARG_REGS.
void ffi_call_tile | ( | ffi_sarg | reg_args[NUM_ARG_REGS], |
const ffi_sarg * | stack_args, | ||
size_t | stack_args_bytes, | ||
void(*)(void) | fnaddr | ||
) |
Definition at line 50 of file ffi.c.
References FFI_SIZEOF_ARG, and NUM_ARG_REGS.
Referenced by ffi_prep_closure_loc().
void FFI_HIDDEN ffi_closure_tile_inner | ( | ffi_closure * | closure, |
ffi_sarg | reg_args[2][NUM_ARG_REGS], | ||
ffi_sarg * | stack_args | ||
) |
Definition at line 285 of file ffi.c.
References alloca, arg, FFI_SIZEOF_ARG, i, NUM_ARG_REGS, and u64.
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 215 of file ffi.c.
References ffi_closure_tile(), FFI_UNIX, getpagesize(), and h.
|
extern |