infix
A JIT-Powered FFI Library for C
Loading...
Searching...
No Matches
infix_direct_call_frame_layout Struct Reference

A complete layout blueprint for a direct marshalling forward call frame. More...

#include <infix_internals.h>

Collaboration diagram for infix_direct_call_frame_layout:
[legend]

Public Attributes

size_t total_stack_alloc
 Total bytes to allocate on the stack for arguments and ABI-required space.
 
size_t num_args
 The total number of arguments.
 
void * target_fn
 The target C function address.
 
bool return_value_in_memory
 true if the return value uses a hidden pointer argument.
 
infix_direct_arg_layoutargs
 An array of layout info for each argument.
 

Detailed Description

A complete layout blueprint for a direct marshalling forward call frame.

This structure serves as the plan for the JIT engine, detailing every register, stack slot, and marshaller/write-back call needed to execute a direct FFI call.

Member Data Documentation

◆ args

infix_direct_arg_layout* infix_direct_call_frame_layout::args

An array of layout info for each argument.

◆ num_args

size_t infix_direct_call_frame_layout::num_args

The total number of arguments.

◆ return_value_in_memory

bool infix_direct_call_frame_layout::return_value_in_memory

true if the return value uses a hidden pointer argument.

◆ target_fn

void* infix_direct_call_frame_layout::target_fn

The target C function address.

◆ total_stack_alloc

size_t infix_direct_call_frame_layout::total_stack_alloc

Total bytes to allocate on the stack for arguments and ABI-required space.


The documentation for this struct was generated from the following file: