| #define UNIX64_RET_VOID 0 |
| #define UNIX64_RET_UINT8 1 |
| #define UNIX64_RET_UINT16 2 |
| #define UNIX64_RET_UINT32 3 |
| #define UNIX64_RET_SINT8 4 |
| #define UNIX64_RET_SINT16 5 |
| #define UNIX64_RET_SINT32 6 |
| #define UNIX64_RET_INT64 7 |
| #define UNIX64_RET_XMM32 8 |
| #define UNIX64_RET_XMM64 9 |
| #define UNIX64_RET_X87 10 |
| #define UNIX64_RET_X87_2 11 |
| #define UNIX64_RET_ST_XMM0_RAX 12 |
| #define UNIX64_RET_ST_RAX_XMM0 13 |
| #define UNIX64_RET_ST_XMM0_XMM1 14 |
| #define UNIX64_RET_ST_RAX_RDX 15 |
| |
| #define UNIX64_RET_LAST 15 |
| |
| #define UNIX64_FLAG_RET_IN_MEM (1 << 10) |
| #define UNIX64_FLAG_XMM_ARGS (1 << 11) |
| #define UNIX64_SIZE_SHIFT 12 |
| |
| #if defined(FFI_EXEC_STATIC_TRAMP) |
| /* |
| * For the trampoline code table mapping, a mapping size of 4K (base page size) |
| * is chosen. |
| */ |
| #define UNIX64_TRAMP_MAP_SHIFT 12 |
| #define UNIX64_TRAMP_MAP_SIZE (1 << UNIX64_TRAMP_MAP_SHIFT) |
| #ifdef ENDBR_PRESENT |
| #define UNIX64_TRAMP_SIZE 40 |
| #else |
| #define UNIX64_TRAMP_SIZE 32 |
| #endif |
| #endif |