|
infix
A JIT-Powered FFI Library for C
|
A complete layout blueprint for a forward call frame. More...
#include <infix_internals.h>
Public Attributes | |
| size_t | total_stack_alloc |
| uint8_t | num_gpr_args |
| uint8_t | num_xmm_args |
| infix_arg_location * | arg_locations |
| bool | return_value_in_memory |
| bool | is_variadic |
| size_t | num_stack_args |
| size_t | num_args |
| void * | target_fn |
A complete layout blueprint for a forward call frame.
This structure is the primary output of prepare_forward_call_frame. It serves as a complete plan for the JIT engine, detailing every register and stack slot that needs to be populated before making the call instruction.
| infix_arg_location* infix_call_frame_layout::arg_locations |
An array of location info for each argument.
| bool infix_call_frame_layout::is_variadic |
true if the function is variadic.
| size_t infix_call_frame_layout::num_args |
The total number of arguments.
| uint8_t infix_call_frame_layout::num_gpr_args |
The number of GPRs used for arguments.
| size_t infix_call_frame_layout::num_stack_args |
The number of arguments passed on the stack.
| uint8_t infix_call_frame_layout::num_xmm_args |
The number of XMMs used for arguments.
| bool infix_call_frame_layout::return_value_in_memory |
true if the return value uses a hidden pointer argument (struct return).
| void* infix_call_frame_layout::target_fn |
The target function address.
| size_t infix_call_frame_layout::total_stack_alloc |
Total bytes to allocate on the stack for arguments and ABI-required space.