Ruby
2.4.2p198(2017-09-14revision59899)
|
#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) |
static long | assign_to_ffi_arg (ffi_sarg *out, void *in, const ffi_type *type, int write_to_reg) |
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 |
#define NUM_ARG_REGS 10 |
Definition at line 38 of file ffi.c.
Referenced by ffi_call(), and ffi_closure_tile_inner().
|
static |
Definition at line 73 of file ffi.c.
References f, FFI_ASSERT, FFI_SIZEOF_ARG, memcpy, and val.
Referenced by ffi_call(), and ffi_closure_tile_inner().
void ffi_call | ( | ffi_cif * | cif, |
void(*)(void) | fn, | ||
void * | rvalue, | ||
void ** | avalue | ||
) |
Definition at line 145 of file ffi.c.
References alloca(), assign_to_ffi_arg(), ffi_call_tile(), FFI_HIDDEN, FFI_SIZEOF_ARG, 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 | ||
) |
Referenced by ffi_call().
void ffi_closure_tile | ( | void | ) |
Definition at line 50 of file ffi.c.
References FFI_SIZEOF_ARG.
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(), assign_to_ffi_arg(), FFI_SIZEOF_ARG, 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(), and FFI_UNIX.
const UINT64 ffi_template_tramp_tile [] FFI_HIDDEN |