Ruby 2.7.0p0(2019-12-25revision647ee6f091eafcce70ffb75ddf7e121e192ab217)

Data Structures | Macros | Typedefs | Functions
ffi_common.h File Reference
`#include <fficonfig.h>`

Go to the source code of this file.

## Data Structures
struct | extended_cif

## Macros
#define | MAYBE_UNUSED
#define | memcpy(d, s, n) bcopy ((s), (d), (n))
#define | FFI_ASSERT(x)
#define | FFI_ASSERT_AT(x, f, l)
#define | FFI_ASSERT_VALID_TYPE(x)
#define | ALIGN(v, a) (((((size_t) (v))-1) | ((a)-1))+1)
#define | ALIGN_DOWN(v, a) (((size_t) (v)) & -a)
#define | __builtin_expect(x, expected_value) (x)
#define | LIKELY(x) __builtin_expect(!!(x),1)
#define | UNLIKELY(x) __builtin_expect((x)!=0,0)

## Typedefs
typedef unsigned int UINT8 | __attribute__((__mode__(__QI__)))
typedef float | FLOAT32

## Functions
char * | alloca ()
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif)
ffi_status | ffi_prep_cif_machdep_var (ffi_cif *cif, unsigned int nfixedargs, unsigned int ntotalargs)

## Macro Definition Documentation

## ◆ __builtin_expect

#define __builtin_expect | ( |  | x,
|  |  | expected_value
| ) |  | (x)

Definition at line 123 of file ffi_common.h.

## ◆ ALIGN

#define ALIGN | ( |  | v,
|  |  | a
| ) |  | (((((size_t) (v))-1) | ((a)-1))+1)

Definition at line 77 of file ffi_common.h.

## ◆ ALIGN_DOWN

#define ALIGN_DOWN | ( |  | v,
|  |  | a
| ) |  | (((size_t) (v)) & -a)

Definition at line 78 of file ffi_common.h.

## ◆ FFI_ASSERT

#define FFI_ASSERT | ( |  | x | ) |

Definition at line 72 of file ffi_common.h.

## ◆ FFI_ASSERT_AT

#define FFI_ASSERT_AT | ( |  | x,
|  |  | f,
|  |  | l
| ) |  |

Definition at line 73 of file ffi_common.h.

## ◆ FFI_ASSERT_VALID_TYPE

#define FFI_ASSERT_VALID_TYPE | ( |  | x | ) |

Definition at line 74 of file ffi_common.h.

## ◆ LIKELY

#define LIKELY | ( |  | x | ) | __builtin_expect(!!(x),1)

Definition at line 125 of file ffi_common.h.

## ◆ MAYBE_UNUSED

#define MAYBE_UNUSED

Definition at line 32 of file ffi_common.h.

## ◆ memcpy

#define memcpy | ( |  | d,
|  |  | s,
|  |  | n
| ) |  | bcopy ((s), (d), (n))

Definition at line 55 of file ffi_common.h.

## ◆ UNLIKELY

#define UNLIKELY | ( |  | x | ) | __builtin_expect((x)!=0,0)

Definition at line 126 of file ffi_common.h.

## Typedef Documentation

## ◆ __attribute__

__attribute__

Definition at line 110 of file ffi_common.h.

## ◆ FLOAT32

typedef float FLOAT32

Definition at line 120 of file ffi_common.h.

## Function Documentation

## ◆ alloca()

char* alloca | ( |  | ) |

## ◆ ffi_prep_cif_machdep()

ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |

Definition at line 758 of file ffi.c.

References AARCH64_STACK_ALIGN, ALIGN, CIF_FLAGS_CHAR, CIF_FLAGS_DINT, CIF_FLAGS_DOUBLE, CIF_FLAGS_FLOAT, CIF_FLAGS_INT, CIF_FLAGS_LDOUBLE, CIF_FLAGS_POINTER, CIF_FLAGS_SHORT, CIF_FLAGS_SINT16, CIF_FLAGS_SINT8, CIF_FLAGS_STRUCT1, CIF_FLAGS_STRUCT2, count, FFI390_RET_DOUBLE, FFI390_RET_FLOAT, FFI390_RET_INT32, FFI390_RET_INT64, FFI390_RET_STRUCT, FFI390_RET_VOID, FFI_ASSERT, FFI_ASSERT_VALID_TYPE, FFI_FLAG_BITS, FFI_IA64_TYPE_SMALL_STRUCT, FFI_N32, FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT, FFI_O32, FFI_O32_SOFT_FLOAT, ffi_prep_cif_linux64(), ffi_prep_cif_sysv(), 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_TYPE_SMALLSTRUCT2, FFI_UNIX64, FFI_V9, FFI_VFP, FFIBFIN_RET_BYTE, FFIBFIN_RET_HALFWORD, FFIBFIN_RET_INT32, FFIBFIN_RET_INT64, FFIBFIN_RET_VOID, i, if(), index, n, offsetof, pass_struct_on_stack(), ptr, size, and unsigned.

Referenced by ffi_prep_cif_machdep_var().

## ◆ ffi_prep_cif_machdep_var()

ffi_status ffi_prep_cif_machdep_var | ( | ffi_cif * | cif,
|  | unsigned int | nfixedargs,
|  | unsigned int | ntotalargs
| ) |  |

Definition at line 289 of file ffi.c.

References ffi_prep_cif_linux64_var(), ffi_prep_cif_machdep(), ffi_prep_cif_sysv(), FFI_SYSV, and FFI_VFP.