infix
A JIT-Powered FFI Library for C
|
Implements the FFI logic for the Windows x64 calling convention. More...
#include "abi_x64_common.h"
#include "abi_x64_emitters.h"
#include "common/infix_internals.h"
#include "common/utility.h"
#include <stdbool.h>
#include <stdlib.h>
Macros | |
#define | NUM_GPR_ARGS 4 |
#define | NUM_XMM_ARGS 4 |
#define | SHADOW_SPACE 32 |
Variables | |
static const x64_gpr | GPR_ARGS [] = {RCX_REG, RDX_REG, R8_REG, R9_REG} |
static const x64_xmm | XMM_ARGS [] = {XMM0_REG, XMM1_REG, XMM2_REG, XMM3_REG} |
const infix_forward_abi_spec | g_win_x64_forward_spec |
The v-table of Windows x64 functions for generating forward trampolines. | |
const infix_reverse_abi_spec | g_win_x64_reverse_spec |
The v-table of Windows x64 functions for generating reverse trampolines. | |
Implements the FFI logic for the Windows x64 calling convention.
Copyright (c) 2025 Sanko Robinson
This source code is dual-licensed under the Artistic License 2.0 or the MIT License. You may choose to use this code under the terms of either license.
SPDX-License-Identifier: (Artistic-2.0 OR MIT)
The documentation blocks within this file are licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).
SPDX-License-Identifier: CC-BY-4.0
#define NUM_GPR_ARGS 4 |
The number of register "slots" available for arguments.
#define NUM_XMM_ARGS 4 |
The number of XMM registers used for arguments.
#define SHADOW_SPACE 32 |
The size in bytes of the mandatory stack space reserved by the caller for the callee.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
const infix_forward_abi_spec g_win_x64_forward_spec |
The v-table of Windows x64 functions for generating forward trampolines.
const infix_reverse_abi_spec g_win_x64_reverse_spec |
The v-table of Windows x64 functions for generating reverse trampolines.
An array of GPRs used for passing the first four integer/pointer arguments.