Static tramp v5 (#624)
[platform/upstream/libffi.git] / src / x86 / internal.h
1 #define X86_RET_FLOAT           0
2 #define X86_RET_DOUBLE          1
3 #define X86_RET_LDOUBLE         2
4 #define X86_RET_SINT8           3
5 #define X86_RET_SINT16          4
6 #define X86_RET_UINT8           5
7 #define X86_RET_UINT16          6
8 #define X86_RET_INT64           7
9 #define X86_RET_INT32           8
10 #define X86_RET_VOID            9
11 #define X86_RET_STRUCTPOP       10
12 #define X86_RET_STRUCTARG       11
13 #define X86_RET_STRUCT_1B       12
14 #define X86_RET_STRUCT_2B       13
15 #define X86_RET_UNUSED14        14
16 #define X86_RET_UNUSED15        15
17
18 #define X86_RET_TYPE_MASK       15
19 #define X86_RET_POP_SHIFT       4
20
21 #define R_EAX   0
22 #define R_EDX   1
23 #define R_ECX   2
24
25 #ifdef __PCC__
26 # define HAVE_FASTCALL 0
27 #else
28 # define HAVE_FASTCALL 1
29 #endif
30
31 #if defined(FFI_EXEC_STATIC_TRAMP)
32 /*
33  * For the trampoline code table mapping, a mapping size of 4K (base page size)
34  * is chosen.
35  */
36 #define X86_TRAMP_MAP_SHIFT     12
37 #define X86_TRAMP_MAP_SIZE      (1 << X86_TRAMP_MAP_SHIFT)
38 #ifdef ENDBR_PRESENT
39 #define X86_TRAMP_SIZE          44
40 #else
41 #define X86_TRAMP_SIZE          40
42 #endif
43 #endif